{"id":347279,"date":"2026-08-04T21:43:19","date_gmt":"2026-08-04T21:43:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gloty\/"},"modified":"2026-08-05T15:04:45","modified_gmt":"2026-08-05T15:04:45","slug":"gloty","status":"publish","type":"plugin","link":"https:\/\/mn.wordpress.org\/plugins\/gloty\/","author":23539523,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.32.3","stable_tag":"1.32.3","tested":"7.0.3","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"Gloty \u2013 AI Translation & Multilingual","header_author":"WP Shelf","header_description":"AI-powered translation for WordPress. Translations are stored in your own database and served locally, with no remote call at render time.","assets_banners_color":"1a67a3","last_updated":"2026-08-05 15:04:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wp-shelf.com\/gloty","header_author_uri":"https:\/\/wp-shelf.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":96,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.29.2":{"tag":"1.29.2","author":"wpshelf","date":"2026-08-04 21:42:57"},"1.32.3":{"tag":"1.32.3","author":"wpshelf","date":"2026-08-05 15:04:45"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3634659,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3634659,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3634659,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3634659,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3634659,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.29.2","1.32.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3634659,"resolution":"1","location":"assets","locale":"","width":1512,"height":1140},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3634659,"resolution":"2","location":"assets","locale":"","width":1512,"height":1140},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3634659,"resolution":"3","location":"assets","locale":"","width":1512,"height":1080}},"screenshots":{"1":"Dashboard showing translation statistics across languages","2":"Translations screen for reviewing and editing individual translations","3":"Settings page with translation and switcher options"}},"plugin_section":[],"plugin_tags":[22323,1734,99,95,2333],"plugin_category":[48],"plugin_contributors":[274470],"plugin_business_model":[],"class_list":["post-347279","plugin","type-plugin","status-publish","hentry","plugin_tags-language-switcher","plugin_tags-localization","plugin_tags-multilingual","plugin_tags-translate","plugin_tags-translation","plugin_category-language-tools","plugin_contributors-wpshelf","plugin_committers-wpshelf"],"banners":{"banner":"https:\/\/ps.w.org\/gloty\/assets\/banner-772x250.png?rev=3634659","banner_2x":"https:\/\/ps.w.org\/gloty\/assets\/banner-1544x500.png?rev=3634659","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/gloty\/assets\/icon.svg?rev=3634659","icon":"https:\/\/ps.w.org\/gloty\/assets\/icon.svg?rev=3634659","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/gloty\/assets\/screenshot-1.png?rev=3634659","caption":"Dashboard showing translation statistics across languages"},{"src":"https:\/\/ps.w.org\/gloty\/assets\/screenshot-2.png?rev=3634659","caption":"Translations screen for reviewing and editing individual translations"},{"src":"https:\/\/ps.w.org\/gloty\/assets\/screenshot-3.png?rev=3634659","caption":"Settings page with translation and switcher options"}],"raw_content":"<!--section=description-->\n<p>Gloty translates your WordPress site with AI machine translation, then stores every translation in your own database and serves it from there. Rendering a translated page never calls a remote service \u2014 page delivery stays local and deterministic even if the translation service is slow or unreachable.<\/p>\n\n<p>Serving those pages is built to be cheap. Gloty compiles your translations into a PHP cache file that your server's OPcache holds in shared memory, so once it is warm a translated page view costs no database queries for translation at all, and the translations take almost no memory in the request. That is aimed squarely at ordinary shared hosting with no object cache, which is where a translation plugin normally slows a site down most. Where the technique is unavailable, Gloty serves from the database instead and the page is still correct.<\/p>\n\n<p>The picker offers 38 languages, each with the right hreflang code emitted for it. That list is deliberately shorter than it could be: it is the set both AI engines' vendors say their models support, rather than every language code in existence. A translation you cannot judge the quality of is worth less than one you can, so Gloty offers the ones where the engines are known to be strong, and every translation it produces is editable by hand.<\/p>\n\n<p>Producing a translation does require an external service, because machine translation is not something WordPress can do locally. Gloty sends the text that needs translating to the hosted Gloty translator service, which translates it and returns the result to your site in the background. The results land in your WordPress database, are editable by hand, and keep serving with no further external calls.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li><strong>38 languages<\/strong> \u2014 the set both AI engines' vendors list as supported, each with the right hreflang code<\/li>\n<li><strong>Your database, your translations<\/strong> \u2014 stored locally in WordPress, never fetched remotely at render time<\/li>\n<li><strong>Fast on slow hosting<\/strong> \u2014 translations compile into a cache your server holds in memory, so serving a translated page costs no database queries once warm; it falls back to the database safely if your host cannot do that<\/li>\n<li><strong>Automatic page translation<\/strong> \u2014 captures page output, extracts translatable text, queues it for translation<\/li>\n<li><strong>Entity-aware<\/strong> \u2014 posts, pages, taxonomies, and template strings are tracked as distinct sources with stale detection<\/li>\n<li><strong>Edit any translation<\/strong> \u2014 review and correct translations from Gloty \u2192 Translations<\/li>\n<li><strong>Manual edits are protected<\/strong> \u2014 machine sync never silently overwrites a human correction<\/li>\n<li><strong>Glossary<\/strong> \u2014 terms that must never be translated, or that must always render a specific way per language<\/li>\n<li><strong>SEO-friendly<\/strong> \u2014 hreflang tags, translated meta, clean \/fr\/page\/ URLs<\/li>\n<li><strong>Language switcher<\/strong> \u2014 floating widget, footer list, shortcode, or sidebar widget<\/li>\n<li><strong>Optional browser-language redirect<\/strong> \u2014 off by default, crawler-safe, remembered per visitor<\/li>\n<li><strong>WooCommerce compatible<\/strong> \u2014 products, cart, checkout, and store AJAX fragments<\/li>\n<li><strong>Gettext integration<\/strong> \u2014 translates WordPress, theme, and plugin UI strings<\/li>\n<li><strong>AI translation engine<\/strong> \u2014 OpenAI or Google Gemini, selected for you by the service on every plan<\/li>\n<li><strong>Background processing<\/strong> \u2014 queued dispatch with webhook delivery and a polling fallback<\/li>\n<li><strong>Developer extensible<\/strong> \u2014 filters and a REST API<\/li>\n<\/ul>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>Install Gloty and connect your site to the Gloty translator service<\/li>\n<li>Add your target languages<\/li>\n<li>Gloty discovers translatable content from your posts, taxonomies, and template strings<\/li>\n<li>Translation runs in the background and the results are written to your database<\/li>\n<li>Visitors get translated pages under language-prefixed URLs (\/fr\/, \/de\/, \u2026) and can switch languages from the switcher<\/li>\n<\/ol>\n\n<p>Translation requires an external machine-translation service. See <strong>External services<\/strong> below for exactly what is sent and to whom.<\/p>\n\n<p>Documentation: https:\/\/wp-shelf.com\/gloty\/docs\/<\/p>\n\n<h3>External services<\/h3>\n\n<p>Gloty cannot produce translations without an external machine-translation service, because machine translation is not something WordPress can do locally. This section describes every external request the plugin makes, what it sends, and when.<\/p>\n\n<p>Nothing is sent anywhere until you have connected your site and translation has been triggered (by a scan, a Translate action, or scheduled background dispatch). Serving an already-translated page makes no external request at all.<\/p>\n\n<p><strong>1. The Gloty translator service<\/strong><\/p>\n\n<p>All translation work is performed by the hosted Gloty translator service. The plugin does not contact machine-translation providers directly; it sends work to the Gloty service, which selects and calls the translation engine on your behalf and delivers the results back to your site.<\/p>\n\n<ul>\n<li>Service host: <code>https:\/\/gloty-api.wp-shelf.com<\/code> (overridable by defining the <code>GLOTY_SERVICE_URL<\/code> constant, for example to point at a self-hosted instance of the service).<\/li>\n<li>What is sent: the source text to be translated (page, post, taxonomy, and template strings from your site), the source and target language codes, your site URL, and a per-site API token and license key used to identify and authenticate your site.<\/li>\n<li>When: on connection verification, while dispatching queued translation batches, when polling for results, and when the service delivers results back to your site over a signed webhook.<\/li>\n<li>Who: the Gloty translator service, operated by WP Shelf.<\/li>\n<li>Terms of service: https:\/\/wp-shelf.com\/terms<\/li>\n<li>Privacy policy: https:\/\/wp-shelf.com\/privacy<\/li>\n<\/ul>\n\n<p>The Gloty service in turn passes your text to the AI translation engine it selects for the batch \u2014 OpenAI or Google Gemini. Their terms apply to that processing:<\/p>\n\n<ul>\n<li>OpenAI \u2014 https:\/\/openai.com\/policies\/terms-of-use \/ https:\/\/openai.com\/policies\/privacy-policy<\/li>\n<li>Google Gemini \u2014 https:\/\/ai.google.dev\/terms \/ https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<p><strong>2. WordPress.org translation packs<\/strong><\/p>\n\n<p>When you enable a language, Gloty asks WordPress.org to install the official WordPress and plugin language packs for that locale, using WordPress core's own updater. This is the same request WordPress itself makes and sends no site content.<\/p>\n\n<p>Gloty does not send analytics, telemetry, or usage tracking anywhere.<\/p>\n\n<h3>Filters<\/h3>\n\n<h4>gloty_compiled_map_enabled<\/h4>\n\n<p>Whether Gloty may compile your translations into a PHP cache file for OPcache to hold in memory. The value passed in is Gloty's own verdict on whether the server can benefit \u2014 return <code>false<\/code> to switch the feature off entirely, in which case translations are served from the object cache, a transient, or the database, exactly as in earlier versions.<\/p>\n\n<pre><code>add_filter( 'gloty_compiled_map_enabled', '__return_false' );\n<\/code><\/pre>\n\n<p>Returning <code>true<\/code> forces it on where Gloty could not confirm OPcache is active \u2014 useful when <code>opcache.restrict_api<\/code> hides the OPcache status from plugin code. Do not force it on where OPcache is genuinely off: every request would then compile the cache file from source, which is slower than the database read it replaces.<\/p>\n\n<p>Defining <code>GLOTY_DISABLE_COMPILED_MAP<\/code> as true in <code>wp-config.php<\/code> disables it before any filter can run, and Gloty honours WordPress's own <code>DISALLOW_FILE_MODS<\/code> constant without any configuration.<\/p>\n\n<h4>gloty_compiled_map_max_bytes<\/h4>\n\n<p>The largest cache file Gloty will write, in bytes. Default 8 MB. A translation set that would exceed it keeps using the database.<\/p>\n\n<h3>Source code<\/h3>\n\n<p>The admin interface is compiled from JavaScript sources before release. The uncompiled, human-readable sources for everything in <code>build\/<\/code> ship inside the plugin under <code>src\/<\/code>, together with the build configuration in <code>webpack.config.js<\/code> and <code>package.json<\/code>. The bundles are produced by <code>@wordpress\/scripts<\/code> (webpack) via the <code>build<\/code> script in <code>package.json<\/code>; no minified or obfuscated code is included without its source.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>gloty<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to <strong>Gloty &gt; Connection<\/strong> and connect your site to the Gloty translator service<\/li>\n<li>Add your target languages under <strong>Gloty &gt; Languages<\/strong><\/li>\n<li>Visit your site \u2014 translations happen automatically in the background<\/li>\n<\/ol>\n\n<p>The setup guide covers each step in more detail: https:\/\/wp-shelf.com\/gloty\/docs\/getting-started.html<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20account%3F\"><h3>Do I need an account?<\/h3><\/dt>\n<dd><p>Yes. Producing translations requires a connection to the Gloty translator service, set up under Gloty \u2192 Connection. There is a free tier. Without a connection, Gloty can still store, manage, and serve translations you already have, but it cannot create new ones.<\/p><\/dd>\n<dt id=\"how%20much%20does%20it%20cost%3F\"><h3>How much does it cost?<\/h3><\/dt>\n<dd><p>The plugin itself is free and GPL-licensed. Translation runs through the Gloty service, which gives you a one-time free allowance to try it and paid plans for higher volume and more sites. Every plan translates on the same AI engines. Your existing translations continue to serve regardless of plan or status, because they live in your own database.<\/p><\/dd>\n<dt id=\"are%20translations%20stored%20on%20an%20external%20server%3F\"><h3>Are translations stored on an external server?<\/h3><\/dt>\n<dd><p>Your translations are stored in your own WordPress database, and translated pages are served from there with no external call. However, producing a translation in the first place does send the source text to an external machine-translation service \u2014 see <strong>External services<\/strong> above for exactly what is sent and to whom.<\/p><\/dd>\n<dt id=\"my%20language%20isn%27t%20in%20the%20list.%20can%20you%20add%20it%3F\"><h3>My language isn't in the list. Can you add it?<\/h3><\/dt>\n<dd><p>Ask and we will look at it. The list is the set of languages the AI engines' own vendors say their models support, which is why it is shorter than the language list you may have seen on other plugins. Adding one means checking that the current engines actually handle it rather than just producing confident-looking output, so it is a real answer rather than an automatic yes.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%3F\"><h3>Does it work with page builders?<\/h3><\/dt>\n<dd><p>Yes. Gloty captures translatable text from rendered output as well as from WordPress entities, so it works with Elementor, Beaver Builder, Divi, and other page builders.<\/p><\/dd>\n<dt id=\"can%20i%20edit%20translations%20manually%3F\"><h3>Can I edit translations manually?<\/h3><\/dt>\n<dd><p>Yes. Go to Gloty \u2192 Translations, find the string, and edit it. Manual edits are marked as such and are never overwritten by later machine sync.<\/p><\/dd>\n<dt id=\"does%20it%20support%20woocommerce%3F\"><h3>Does it support WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Gloty translates product titles, descriptions, attributes, and the cart and checkout pages, including WooCommerce's AJAX cart fragments.<\/p>\n\n<p>Order emails are not translated. They are sent outside the page rendering that Gloty works through, so a customer who ordered in German still receives the confirmation in your site's source language.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20translations%20if%20i%20deactivate%20gloty%3F\"><h3>What happens to my translations if I deactivate Gloty?<\/h3><\/dt>\n<dd><p>Deactivating stops translated URLs from being served but leaves all data in place. Deleting the plugin runs an uninstall routine that removes Gloty's tables and options, so export anything you want to keep first.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20my%20site%20down%3F\"><h3>Will this slow my site down?<\/h3><\/dt>\n<dd><p>Serving a translated page is designed to cost nothing extra. Gloty compiles your translations and your glossary into a PHP cache file kept in your server's OPcache, so once it is warm a page view runs no database queries to translate, makes no remote call, and holds the translations in shared memory rather than copying them into every request.<\/p>\n\n<p>The cache is written in the background, never during a visitor's page view, and rebuilds within about a minute of a translation changing. Until it exists \u2014 a fresh install, or just after an edit \u2014 pages are served from the database exactly as earlier versions did: correct, just not yet as fast.<\/p>\n\n<p>If your host has no OPcache, if the uploads directory is not writable, or if a cache file is ever damaged, Gloty notices and serves from the database instead, and reports it under Dashboard \u2192 Issues. Nothing about this can make a page render incorrectly, only more slowly.<\/p><\/dd>\n<dt id=\"where%20does%20gloty%20write%20files%3F\"><h3>Where does Gloty write files?<\/h3><\/dt>\n<dd><p>Only one place: a <code>gloty-cache<\/code> folder inside your uploads directory, holding the compiled translation cache described above (with <code>wp-content\/cache\/gloty<\/code> as a fallback if uploads is not writable). The folder carries an index.php and .htaccess so the files are not browsable, and each file refuses to output anything if requested directly. Deactivating the plugin deletes them; uninstalling removes the folder too, and only ever removes files Gloty can prove it wrote.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.32.3<\/h4>\n\n<ul>\n<li>Dashboard \u2192 Issues now tells you when translated pages are not using the fast path, and what to do about it. The most common cause on shared hosting is that the server's PHP OPcache has no free memory left to hold the cache file \u2014 in which case writing it would make pages slower, not faster, so Gloty declines and says so. Previously it declined silently and you had no way to know.<\/li>\n<\/ul>\n\n<h4>1.32.2<\/h4>\n\n<ul>\n<li>The translation cache now reports why it did not build, if it does not. It previously declined for several different reasons \u2014 no translations to compile yet, a server memory ceiling, a permissions problem \u2014 and recorded only one of them, so \"the cache is empty and nothing says why\" could not be answered without server access. Each reason has a different remedy, so each now names itself.<\/li>\n<\/ul>\n\n<h4>1.32.1<\/h4>\n\n<ul>\n<li>Fixed: on sites that run WordPress's scheduled tasks from a real server cron rather than from page loads \u2014 the setup WordPress itself recommends for production \u2014 the translation cache was never built, so the speed-up in 1.32.0 silently never happened. Nothing was broken and no error was reported, because not building the cache is not a failure: pages simply kept being served from the database. Found on a live site, where the cache stayed empty with every diagnostic reporting healthy.<\/li>\n<li>Added a way to build the cache on demand, so \"the cache is empty and nothing says why\" can be answered without server access.<\/li>\n<\/ul>\n\n<h4>1.32.0<\/h4>\n\n<ul>\n<li>The language picker now offers 38 languages, down from 124 locales. What went was everything the AI engines' vendors do not list as supported \u2014 those produced confident-looking output that nobody had ever checked \u2014 along with the regional variants, which mostly split a language into spellings rather than into genuinely different translations. Any language you have already added keeps working and is unaffected; this only changes what can be added. If one you need is missing, ask us.<\/li>\n<li>Translated pages are faster. Gloty used to re-read your whole translation set from the database on every page view; it now compiles that set into a cache file your server keeps in memory, so a warm page view reads translations without touching the database at all. The gain is largest on hosting without a persistent object cache, which is most shared hosting.<\/li>\n<li>Your glossary is cached the same way. It was previously read from the database on every page view \u2014 including on sites that had never opened the glossary screen, which was the worst version of the problem. Together with the change above, serving an already-translated page now costs no translation-related database queries at all once the cache is warm.<\/li>\n<li>The cache rebuilds itself in the background whenever translations change, and always within a minute of a new translation arriving. Until it has, pages are served from the database exactly as before \u2014 correct, just not yet faster.<\/li>\n<li>Fixed: an edited translation of a post, page or term could keep serving its old text for up to an hour. Editing one now takes effect on the very next page view, as editing a UI string always did. If you have ever corrected a translation and wondered why the page did not change, this was why.<\/li>\n<li>Every part of this is optional and self-correcting. If your server has no OPcache, if the uploads directory is not writable, or if a cache file is ever damaged, Gloty falls back to the database and says so under Dashboard \u2192 Issues rather than failing. You can also turn it off outright with the <code>gloty_compiled_map_enabled<\/code> filter, and Gloty respects <code>DISALLOW_FILE_MODS<\/code>.<\/li>\n<li>Deactivating or uninstalling removes the cache files. Your translations live in the database and are untouched by any of this.<\/li>\n<\/ul>\n\n<h4>1.31.0<\/h4>\n\n<ul>\n<li>The Billing screen now shows the plans you can actually buy, with their real prices, straight from the licensing service. It previously offered a fixed \"Pro \/ Business\" pair that no longer matched the plans on sale, so newer licences were shown no upgrade option at all \u2014 including on the notice that appears when your quota runs out, which now names the cheapest plan that gives you more room.<\/li>\n<li>\"Manage subscription\" only appears when there is a subscription to manage, instead of showing on free licences and failing when clicked.<\/li>\n<li>The translator service now lives at its own address, <code>https:\/\/gloty-api.wp-shelf.com<\/code>. Sites already connected are moved across automatically on the next admin page load; a self-hosted or staging URL you set yourself is left untouched. No action needed, and nothing about how translation works has changed.<\/li>\n<\/ul>\n\n<h4>1.30.1<\/h4>\n\n<ul>\n<li>The plugin now lists itself as \"Gloty \u2013 AI Translation &amp; Multilingual\", and its description says what it does rather than only naming it. Listing copy only \u2014 nothing about how the plugin works has changed.<\/li>\n<\/ul>\n\n<h4>1.29.2<\/h4>\n\n<ul>\n<li>First release on WordPress.org.<\/li>\n<\/ul>","raw_excerpt":"AI translation for WordPress in 38 languages. Every translation is stored in your own database and served locally \u2014 no API call at render time.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/347279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=347279"}],"author":[{"embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpshelf"}],"wp:attachment":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=347279"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=347279"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=347279"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=347279"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=347279"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=347279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}