{"id":352722,"date":"2026-09-17T10:26:19","date_gmt":"2026-09-17T10:26:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/paj-statistics\/"},"modified":"2026-09-19T15:04:32","modified_gmt":"2026-09-19T15:04:32","slug":"greenorb-statistics","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/greenorb-statistics\/","author":15311164,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.1.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"GreenOrb Statistics \u2013 Privacy-Friendly Analytics & Visitor Stats","header_author":"Phillip Johnson","header_description":"Honest analytics for WordPress: bots filtered out, data stays in your own database. Views, visitors, sessions and geography in your dashboard.","assets_banners_color":"20252a","last_updated":"2026-09-19 15:04:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/greenorbwebdesign.com\/greenorb-statistics\/","header_author_uri":"https:\/\/greenorbwebdesign.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":106,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"phillip2532","date":"2026-09-17 10:26:04","revision":3700077},"1.0.1":{"tag":"1.0.1","author":"phillip2532","date":"2026-09-17 11:36:50","revision":3700182},"1.0.3":{"tag":"1.0.3","author":"phillip2532","date":"2026-09-19 15:04:32","revision":3703396}},"upgrade_notice":{"1.0.1":"<p>Adds clicks to visitor timelines, and stops the setup wizard offering a Pro-only email alert.<\/p>","1.0.0":"<p>Initial public release of GreenOrb Statistics.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3700077,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3700077,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3700077,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3700077,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3700077,"resolution":"1","location":"assets","locale":"","width":1600,"height":442},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3700077,"resolution":"2","location":"assets","locale":"","width":1600,"height":851},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3700077,"resolution":"3","location":"assets","locale":"","width":1600,"height":1101},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3700077,"resolution":"4","location":"assets","locale":"","width":1600,"height":1386},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3700077,"resolution":"5","location":"assets","locale":"","width":1600,"height":790}},"screenshots":{"1":"The Overview dashboard: views, visitors, sessions and bounce rate for today, this week, the last 30 days and all time.","2":"The Visitors report: unique, new and returning visitors, with views and visitors charted against the previous period.","3":"The Geography report: countries, top country and continent, with a shaded visitor world map.","4":"The Bot Filtering report: exactly how much automated traffic was rejected before counting, and the reason for every rejection.","5":"The Referrers report: search, social, AI and other referral traffic, with a breakdown by search engine."}},"plugin_section":[262246],"plugin_tags":[232,396,521,522,871],"plugin_category":[36,54],"plugin_contributors":[146572],"plugin_business_model":[],"class_list":["post-352722","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-analytics","plugin_tags-privacy","plugin_tags-statistics","plugin_tags-stats","plugin_tags-visitors","plugin_category-analytics","plugin_category-security-and-spam-protection","plugin_contributors-phillip2532","plugin_committers-phillip2532"],"banners":{"banner":"https:\/\/ps.w.org\/greenorb-statistics\/assets\/banner-772x250.png?rev=3700077","banner_2x":"https:\/\/ps.w.org\/greenorb-statistics\/assets\/banner-1544x500.png?rev=3700077","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/greenorb-statistics\/assets\/icon-128x128.png?rev=3700077","icon_2x":"https:\/\/ps.w.org\/greenorb-statistics\/assets\/icon-256x256.png?rev=3700077","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/greenorb-statistics\/assets\/screenshot-1.png?rev=3700077","caption":"The Overview dashboard: views, visitors, sessions and bounce rate for today, this week, the last 30 days and all time."},{"src":"https:\/\/ps.w.org\/greenorb-statistics\/assets\/screenshot-2.png?rev=3700077","caption":"The Visitors report: unique, new and returning visitors, with views and visitors charted against the previous period."},{"src":"https:\/\/ps.w.org\/greenorb-statistics\/assets\/screenshot-3.png?rev=3700077","caption":"The Geography report: countries, top country and continent, with a shaded visitor world map."},{"src":"https:\/\/ps.w.org\/greenorb-statistics\/assets\/screenshot-4.png?rev=3700077","caption":"The Bot Filtering report: exactly how much automated traffic was rejected before counting, and the reason for every rejection."},{"src":"https:\/\/ps.w.org\/greenorb-statistics\/assets\/screenshot-5.png?rev=3700077","caption":"The Referrers report: search, social, AI and other referral traffic, with a breakdown by search engine."}],"raw_content":"<!--section=description-->\n<p>GreenOrb Statistics is a self-hosted, privacy-friendly analytics plugin for WordPress. Your visitor data stays in your own database \u2014 there are no third-party tracking services and no external calls to render your reports. It is built as independent modules, so you only run the tracking you actually use.<\/p>\n\n<h4>Highlights<\/h4>\n\n<ul>\n<li><strong>Page views &amp; visitors<\/strong> \u2014 raw pageviews with a configurable cooldown, unique visitors, sessions, engaged sessions, and bounce rate.<\/li>\n<li><strong>Time on page<\/strong> \u2014 engaged time measured with the Page Visibility API (heartbeat-based) and gated on real activity: idle tabs stop counting shortly after the last scroll\/mouse\/key interaction, while playing audio or video keeps counting. Server-side caps stop background tabs inflating durations.<\/li>\n<li><strong>Referrers &amp; traffic sources<\/strong> \u2014 referrers, UTM campaigns, search terms, affiliates, and outbound-link clicks.<\/li>\n<li><strong>Devices<\/strong> \u2014 device type, browser, and operating-system breakdowns.<\/li>\n<li><strong>Geography<\/strong> \u2014 country (and optional city) detection via Cloudflare headers, MaxMind, or the free DB-IP Lite database. No account or API key required for the DB-IP option.<\/li>\n<li><strong>Content reports<\/strong> \u2014 popular posts, authors, taxonomies, entry\/exit pages, journeys, and per-post detail.<\/li>\n<li><strong>Dashboard widget &amp; admin bar<\/strong> \u2014 a 30-day sparkline, \"today so far,\" and a live \"online now\" count at a glance.<\/li>\n<li><strong>Email reports<\/strong> \u2014 scheduled summaries delivered to your inbox.<\/li>\n<li><strong>Tracked clicks<\/strong> \u2014 count clicks on any element, by CSS selector or a <code>data-greenorb-track<\/code> attribute.<\/li>\n<li><strong>Annotations<\/strong> \u2014 mark events on your charts.<\/li>\n<li><strong>CSV export<\/strong> \u2014 export any report.<\/li>\n<li><strong>Writes your privacy policy<\/strong> \u2014 adds a settings-aware section to WordPress's Privacy Policy Guide describing exactly what is recorded, what is not, and your own retention setting, so the published policy matches how the plugin is actually configured.<\/li>\n<\/ul>\n\n<h4>Also available in Pro<\/h4>\n\n<p>These are part of GreenOrb Statistics Pro and are not included in the free plugin:<\/p>\n\n<ul>\n<li><strong>WooCommerce<\/strong> \u2014 revenue overview, product performance, sales funnel, and order insights.<\/li>\n<li><strong>Goals &amp; conversions<\/strong> \u2014 custom conversion goals, conversion paths, and landing-page conversion rates.<\/li>\n<li><strong>Web Vitals<\/strong> \u2014 Core Web Vitals (LCP, CLS, INP) collected from real visits.<\/li>\n<li><strong>Media plays &amp; downloads<\/strong> \u2014 SoundCloud \/ YouTube play detection and titles.<\/li>\n<li><strong>Form tracking<\/strong> \u2014 submissions from Contact Form 7, WPForms, Gravity Forms, Elementor, and Divi.<\/li>\n<li><strong>Traffic spike alerts<\/strong> \u2014 get notified when traffic jumps unexpectedly.<\/li>\n<li><strong>SPA tracking<\/strong> \u2014 pushState \/ client-side navigation for single-page themes.<\/li>\n<li><strong>Ask AI<\/strong> \u2014 ask questions about your statistics in plain English, plus a weekly AI summary.<\/li>\n<\/ul>\n\n<h4>Privacy first<\/h4>\n\n<ul>\n<li>Data is stored only in your WordPress database \u2014 nothing is sent to an external analytics service. See \"External services\" below for the short list of optional, non-visitor-data calls the plugin can make.<\/li>\n<li>Optional IP anonymization and configurable data retention (default 365 days), with never-pruned monthly rollups so year-on-year comparisons survive pruning.<\/li>\n<li>Plays nicely with consent managers (e.g. Complianz) and includes GDPR-oriented settings.<\/li>\n<\/ul>\n\n<h4>Bot filtering<\/h4>\n\n<p>Automated traffic is filtered using an open-source bot-signature list, with a headless-user-agent check and an optional per-IP daily hit cap. A daily behaviour scan additionally flags the bots that pass every filter \u2014 automated real-browser traffic with many sessions on one page and no interaction events \u2014 so you can see exactly which \"visitors\" aren't people.<\/p>\n\n<h4>Credits &amp; attributions<\/h4>\n\n<p>Bundled third-party code, with each project's full licence text included alongside it in the plugin:<\/p>\n\n<ul>\n<li>Bot detection uses the open-source bot-signature list from the <strong>Matomo device-detector<\/strong> project (https:\/\/github.com\/matomo-org\/device-detector) \u2014 LGPL v3, text at <code>includes\/lib\/MatomoBots\/LICENSE.txt<\/code>.<\/li>\n<li>Charts are rendered with <strong>Chart.js<\/strong> (https:\/\/www.chartjs.org\/), bundled locally \u2014 MIT, text at <code>assets\/js\/vendor\/LICENSE.txt<\/code>.<\/li>\n<li>The world map uses <strong>jQVMap<\/strong> (https:\/\/github.com\/manifestinteractive\/jqvmap) \u2014 dual MIT \/ GPL, text at <code>assets\/js\/jqvmap\/LICENSE.txt<\/code>.<\/li>\n<li>Country\/city geolocation can optionally use the free <strong>DB-IP Lite<\/strong> database (https:\/\/db-ip.com\/) or <strong>MaxMind GeoLite2<\/strong> (https:\/\/www.maxmind.com\/). Neither is bundled \u2014 the site owner downloads them, under those providers' own terms.<\/li>\n<\/ul>\n\n<p>GreenOrb Statistics is licensed GPL v2 or later. The \"or later\" is what allows the LGPL v3 component above to be distributed as part of the whole, so do not narrow the licence to bare GPL v2.<\/p>\n\n<h3>External services<\/h3>\n\n<p>GreenOrb Statistics stores all of your analytics data in your own WordPress database and never sends visitor data anywhere. It does, however, contact the following third-party services in the specific situations described below. Nothing here runs on plugin activation, and none of it is required for the plugin to work.<\/p>\n\n<h4>jsDelivr (CDN)<\/h4>\n\n<p><strong>What it is:<\/strong> A free open-source CDN, used to fetch two files that would otherwise go stale: the Matomo device-detector bot list, and the DB-IP Lite geolocation database.<\/p>\n\n<p><strong>What is sent, and when:<\/strong> Only a standard HTTP request \u2014 your server's IP address, and a User-Agent identifying the plugin and its version. No visitor data and no site data are ever sent. This happens only when:<\/p>\n\n<ul>\n<li>You tick <strong>\"Keep the bot signature list up to date automatically\"<\/strong> under Settings \u2192 Bots. This is <strong>off by default<\/strong>; once on, the check runs weekly. Bot detection works without it, using the copy bundled with the plugin.<\/li>\n<li>You tick <strong>\"Keep the geolocation database up to date automatically\"<\/strong> under Settings \u2192 Geography. This is <strong>off by default<\/strong>; once on, the check runs weekly.<\/li>\n<li>You press a <strong>Download<\/strong> button on the Geography settings screen, or choose the DB-IP option in the setup wizard.<\/li>\n<\/ul>\n\n<p>Service provided by jsDelivr: <a href=\"https:\/\/www.jsdelivr.com\/terms\">terms of use<\/a>, <a href=\"https:\/\/www.jsdelivr.com\/terms\/privacy-policy-jsdelivr-net\">privacy policy<\/a>.<\/p>\n\n<h4>DB-IP<\/h4>\n\n<p><strong>What it is:<\/strong> The provider of the free DB-IP Lite city database, which turns a visitor's IP address into a country and city on your own server. The file is downloaded once (via jsDelivr, above) and every lookup after that is local \u2014 no per-visitor request is ever made to DB-IP.<\/p>\n\n<p><strong>What is sent, and when:<\/strong> Nothing beyond the download request described above. Visitor IP addresses are never sent to DB-IP.<\/p>\n\n<p>Service provided by DB-IP: <a href=\"https:\/\/db-ip.com\/tos.php\">terms of service<\/a>, <a href=\"https:\/\/db-ip.com\/privacy.php\">privacy policy<\/a>.<\/p>\n\n<h4>MaxMind GeoLite2<\/h4>\n\n<p><strong>What it is:<\/strong> An alternative geolocation database, for site owners who already have a MaxMind account.<\/p>\n\n<p><strong>What is sent, and when:<\/strong> Only if you enter a MaxMind licence key under Settings \u2192 Geography. Your server then sends that key to MaxMind to download the database. Downloads happen when you press the button, and weekly thereafter if you have enabled automatic updates. Lookups are local; visitor IP addresses are never sent to MaxMind.<\/p>\n\n<p>Service provided by MaxMind: <a href=\"https:\/\/www.maxmind.com\/en\/geolite2\/eula\">GeoLite2 EULA<\/a>, <a href=\"https:\/\/www.maxmind.com\/en\/privacy_policy\">privacy policy<\/a>.<\/p>\n\n<h4>YouTube<\/h4>\n\n<p><strong>What it is:<\/strong> Used for media-play tracking on pages that embed a YouTube video.<\/p>\n\n<p><strong>What is sent, and when:<\/strong><\/p>\n\n<ul>\n<li>When a page on your site contains a YouTube embed, the visitor's browser loads YouTube's IFrame Player API so the plugin can tell when the video is played. This is the same connection the embed itself already makes; the visitor's browser contacts YouTube directly, and your server is not involved.<\/li>\n<li>Normally the title comes from the player itself, in the visitor's browser, and your server makes no request at all. Only if you tick <strong>\"Look up missing track and video titles\"<\/strong> under Settings \u2192 Tracking \u2014 which is <strong>off by default<\/strong> \u2014 will your server fall back to one request to YouTube's oEmbed endpoint for the rare play whose title didn't arrive. Only the public video ID is sent, and the result is cached permanently, so it happens at most once per video.<\/li>\n<\/ul>\n\n<p>If your site has no YouTube embeds, neither request is ever made.<\/p>\n\n<p>Service provided by Google\/YouTube: <a href=\"https:\/\/www.youtube.com\/t\/terms\">terms of service<\/a>, <a href=\"https:\/\/policies.google.com\/privacy\">privacy policy<\/a>.<\/p>\n\n<h4>SoundCloud<\/h4>\n\n<p><strong>What it is:<\/strong> Used for media-play tracking on pages that embed a SoundCloud player.<\/p>\n\n<p><strong>What is sent, and when:<\/strong><\/p>\n\n<ul>\n<li>When a page on your site contains a SoundCloud embed, the visitor's browser loads SoundCloud's Widget API so the plugin can tell when the track is played. The visitor's browser contacts SoundCloud directly, and your server is not involved.<\/li>\n<li>Normally the title comes from the player itself, in the visitor's browser, and your server makes no request at all. Only if you tick <strong>\"Look up missing track and video titles\"<\/strong> under Settings \u2192 Tracking \u2014 which is <strong>off by default<\/strong> \u2014 will your server fall back to one request to SoundCloud's oEmbed endpoint for the rare play whose title didn't arrive. Only the public track URL is sent, and the result is cached permanently, so it happens at most once per track.<\/li>\n<\/ul>\n\n<p>If your site has no SoundCloud embeds, neither request is ever made.<\/p>\n\n<p>Service provided by SoundCloud: <a href=\"https:\/\/soundcloud.com\/terms-of-use\">terms of use<\/a>, <a href=\"https:\/\/soundcloud.com\/pages\/privacy\">privacy policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>greenorb-statistics<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Open <strong>GreenOrb Statistics<\/strong> in the admin menu to view your reports. Tracking begins automatically once the plugin is active.<\/li>\n<li>(Optional) Visit the <strong>Settings<\/strong> tabs to configure privacy, data retention, bot filtering, and geography.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20send%20my%20visitors%27%20data%20to%20a%20third%20party%3F\"><h3>Does this send my visitors' data to a third party?<\/h3><\/dt>\n<dd><p>No. All tracking and reporting happens on your own server, your data is stored only in your WordPress database, and no external call is ever made to render a report.<\/p>\n\n<p>The plugin does contact a small number of third parties, none of which are sent visitor data, and all of which are itemised under \"External services\" above.<\/p>\n\n<p>Three of them are jobs your server does, and none of them run unless you turn them on or press a button: refreshing the bot-signature list, downloading the geolocation database, and looking up the title of an embedded YouTube or SoundCloud track.<\/p>\n\n<p>The one exception is not your server and is not optional in the same way: on a page that embeds a YouTube video or a SoundCloud player, the visitor's browser loads that provider's player API so plays can be detected. This contacts only the provider whose player is already embedded on that page \u2014 no host your visitor's browser wasn't already reaching \u2014 and it doesn't happen at all on pages with no such embed, or for a visitor who has declined statistics consent.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20plugins%3F\"><h3>Does it work with caching plugins?<\/h3><\/dt>\n<dd><p>Yes. View tracking is recorded server-side and via a lightweight front-end script, so it works alongside page caching.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20api%20key%20for%20geolocation%3F\"><h3>Do I need an API key for geolocation?<\/h3><\/dt>\n<dd><p>No. The free DB-IP Lite database works without an account or key, and Cloudflare's country header is used automatically when your site is proxied through Cloudflare. MaxMind GeoLite2 is also supported if you prefer it.<\/p>\n\n<p>Geolocation is off until you ask for it: no database is downloaded on activation. Choose the geography step in the setup wizard, or press Download on Settings \u2192 Geography, and lookups then happen entirely on your own server.<\/p><\/dd>\n<dt id=\"does%20it%20require%20woocommerce%3F\"><h3>Does it require WooCommerce?<\/h3><\/dt>\n<dd><p>No. The plugin works on any WordPress site. WooCommerce reporting is a Pro feature, and even in Pro it only loads when WooCommerce is active.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20the%20free%20plugin%20and%20pro%3F\"><h3>What is the difference between the free plugin and Pro?<\/h3><\/dt>\n<dd><p>The free plugin is a complete analytics tool: page views, visitors, sessions, journeys, referrers and campaigns, devices, geography, content and author reports, bot filtering, tracked clicks, email reports, the dashboard widget, annotations, and CSV export. Pro adds the modules listed under \"Also available in Pro\" above \u2014 WooCommerce revenue reporting, goals, Web Vitals, media, forms, spike alerts, SPA tracking, and Ask AI.<\/p><\/dd>\n<dt id=\"where%20is%20my%20data%20stored%3F\"><h3>Where is my data stored?<\/h3><\/dt>\n<dd><p>In custom tables in your site's database (prefixed <code>greenorb_statistics_<\/code>). Uninstalling the plugin removes its data according to your settings.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed: closing one of the plugin's compatibility warnings did nothing \u2014 the warning came straight back on the next page you opened. Dismissing one now keeps it dismissed. If the problem it describes is fixed and later comes back, the warning returns, so nothing is hidden for good.<\/li>\n<li>The \"Upgrade to Pro\" link has moved to the left of the plugin's row on the Plugins screen, next to Deactivate, where it can actually be seen. It was previously at the end of the small grey text on the right.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Visitor and session timelines now show the clicks a visitor actually made, alongside their page views.<\/li>\n<li>Fixed: the setup wizard offered traffic-spike email alerts, which are a Pro feature. The option is no longer shown on the free plugin.<\/li>\n<li>Added an \"Upgrade to Pro\" link to the plugins list and a line on the Settings screen, so the paid version is findable from inside the plugin.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"Honest analytics for WordPress: bots filtered out, data stays in your own database. Views, visitors, sessions and geography in your dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/352722","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=352722"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/phillip2532"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=352722"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=352722"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=352722"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=352722"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=352722"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=352722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}