{"id":352606,"date":"2026-08-20T04:33:17","date_gmt":"2026-08-20T04:33:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/citable\/"},"modified":"2026-08-20T13:12:16","modified_gmt":"2026-08-20T13:12:16","slug":"oorank","status":"publish","type":"plugin","link":"https:\/\/gl.wordpress.org\/plugins\/oorank\/","author":17812896,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.1","stable_tag":"0.1.1","tested":"7.1","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"Oorank \u2013 AI Citation Toolkit","header_author":"Jakaria Istauk","header_description":"AI-search readiness (GEO): make your site machine-readable and quotable by AI answer engines \u2014 generate llms.txt, manage AI-bot access, and audit pages for AI readability.","assets_banners_color":"3d35af","last_updated":"2026-08-20 13:12:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/oorank","header_author_uri":"https:\/\/profiles.wordpress.org\/jakariaistauk\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"jakariaistauk","date":"2026-08-20 04:32:58"},"0.1.1":{"tag":"0.1.1","author":"jakariaistauk","date":"2026-08-20 13:12:16"}},"upgrade_notice":{"0.1.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3655754,"resolution":"128x128","location":"assets","locale":"","width":512,"height":512},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3655754,"resolution":"256x256","location":"assets","locale":"","width":1024,"height":1024},"icon.svg":{"filename":"icon.svg","revision":3655754,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3655754,"resolution":"1544x500","location":"assets","locale":"","width":6176,"height":2000},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3655754,"resolution":"772x250","location":"assets","locale":"","width":3088,"height":1000}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0","0.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3655779,"resolution":"1","location":"assets","locale":"","width":2880,"height":1800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3655779,"resolution":"2","location":"assets","locale":"","width":2880,"height":1800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3655779,"resolution":"3","location":"assets","locale":"","width":2880,"height":1800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3655779,"resolution":"4","location":"assets","locale":"","width":2880,"height":1800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3655779,"resolution":"5","location":"assets","locale":"","width":2880,"height":1800},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3655779,"resolution":"6","location":"assets","locale":"","width":2880,"height":1800},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3655779,"resolution":"7","location":"assets","locale":"","width":2880,"height":1800},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3655779,"resolution":"8","location":"assets","locale":"","width":2880,"height":1800}},"screenshots":{"1":"Overview \u2014 one AI readiness score for the site, plus the state of llms.txt, robots.txt and crawler access at a glance.","2":"AI Access \u2014 per-bot allow\/block controls, grouped by what each crawler actually does with your content.","3":"llms.txt \u2014 post type selection, section order, automatic or manual generation, and both endpoints with their current size.","4":"Schema \u2014 publisher and author identity, and a per-type statement of whether Oorank or another plugin publishes each part of the graph.","5":"Audit \u2014 every published page scored, searchable and filterable, with the content-freshness threshold and the weekly digest.","6":"Per-page detail \u2014 the failing checks, what each is worth, and how to fix it, opened in place on the row.","7":"Connect \u2014 the MCP connection URL and token, and a generated config for each client.","8":"AI readability panel on the post edit screen, with the same score and fix list, plus the per-post llms.txt controls."}},"plugin_section":[],"plugin_tags":[2353,244604,12753,186,1121],"plugin_category":[55],"plugin_contributors":[182423],"plugin_business_model":[],"class_list":["post-352606","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-llms-txt","plugin_tags-robots-txt","plugin_tags-seo","plugin_tags-structured-data","plugin_category-seo-and-marketing","plugin_contributors-jakariaistauk","plugin_committers-jakariaistauk"],"banners":{"banner":"https:\/\/ps.w.org\/oorank\/assets\/banner-772x250.png?rev=3655754","banner_2x":"https:\/\/ps.w.org\/oorank\/assets\/banner-1544x500.png?rev=3655754","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/oorank\/assets\/icon.svg?rev=3655754","icon":"https:\/\/ps.w.org\/oorank\/assets\/icon.svg?rev=3655754","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/oorank\/assets\/screenshot-1.png?rev=3655779","caption":"Overview \u2014 one AI readiness score for the site, plus the state of llms.txt, robots.txt and crawler access at a glance."},{"src":"https:\/\/ps.w.org\/oorank\/assets\/screenshot-2.png?rev=3655779","caption":"AI Access \u2014 per-bot allow\/block controls, grouped by what each crawler actually does with your content."},{"src":"https:\/\/ps.w.org\/oorank\/assets\/screenshot-3.png?rev=3655779","caption":"llms.txt \u2014 post type selection, section order, automatic or manual generation, and both endpoints with their current size."},{"src":"https:\/\/ps.w.org\/oorank\/assets\/screenshot-4.png?rev=3655779","caption":"Schema \u2014 publisher and author identity, and a per-type statement of whether Oorank or another plugin publishes each part of the graph."},{"src":"https:\/\/ps.w.org\/oorank\/assets\/screenshot-5.png?rev=3655779","caption":"Audit \u2014 every published page scored, searchable and filterable, with the content-freshness threshold and the weekly digest."},{"src":"https:\/\/ps.w.org\/oorank\/assets\/screenshot-6.png?rev=3655779","caption":"Per-page detail \u2014 the failing checks, what each is worth, and how to fix it, opened in place on the row."},{"src":"https:\/\/ps.w.org\/oorank\/assets\/screenshot-7.png?rev=3655779","caption":"Connect \u2014 the MCP connection URL and token, and a generated config for each client."},{"src":"https:\/\/ps.w.org\/oorank\/assets\/screenshot-8.png?rev=3655779","caption":"AI readability panel on the post edit screen, with the same score and fix list, plus the per-post llms.txt controls."}],"raw_content":"<!--section=description-->\n<p>Search engines rank pages. Answer engines quote them. Oorank prepares your site for the second kind \u2014 it publishes a machine-readable index of your content, gives you per-bot control over who may crawl it, and scores individual pages against the signals AI crawlers actually use.<\/p>\n\n<p>Everything runs on your own server. Oorank never sends your content to a third-party service, and makes no external requests of any kind.<\/p>\n\n<p><strong>How this differs from an llms.txt generator<\/strong><\/p>\n\n<p>Generating the file is the smallest part of the problem, so it is the smallest part of this plugin. What is here and generally is not elsewhere:<\/p>\n\n<ul>\n<li><strong>An audit that fetches your page the way a crawler does<\/strong> \u2014 no JavaScript, no cookies \u2014 and scores what actually came back across eight weighted checks, with a per-page fix list and a site-wide ranking of your worst pages.<\/li>\n<li><strong>Answer-ready analysis of the prose itself<\/strong>: question-form headings, paragraphs short enough to lift, an answer stated up front, and passages that still make sense quoted alone.<\/li>\n<li><strong>Structured data that defers to your SEO plugin instead of duplicating it.<\/strong> Oorank reads what Yoast, Rank Math, All in One SEO, SEOPress or Slim SEO already publish, compares by role rather than by name, and emits only the missing parts.<\/li>\n<li><strong>Nineteen crawlers separated by what they do<\/strong> \u2014 training, AI search, on-demand fetch, crawl dataset \u2014 so opting out of model training does not silently cost you citations.<\/li>\n<li><strong>An honest <code>dateModified<\/code><\/strong>, recorded when the title, body or excerpt actually changed, rather than on any save.<\/li>\n<li><strong>Per-language llms.txt on WPML and Polylang<\/strong>, and content read out of Elementor, Breakdance, Oxygen and SiteOrigin rather than out of an empty <code>post_content<\/code>.<\/li>\n<li><strong>An MCP server<\/strong>, so an AI client you already use can read the audit and change the settings directly. Inbound only, off by default, token authenticated, no bundled dependencies.<\/li>\n<\/ul>\n\n<p><strong>Publish an llms.txt index<\/strong><\/p>\n\n<p>Oorank serves <code>\/llms.txt<\/code> (a linked index of your content) and <code>\/llms-full.txt<\/code> (the same content as plain text) straight from your posts and pages. Pick which post types to include, and Oorank keeps both files in sync as you publish and edit. Noindex, private and password-protected content is excluded. Prefer to write the file yourself? Switch to manual mode and paste your own.<\/p>\n\n<p>Sites on plain permalinks get physical files written to the site root instead, so the endpoints work either way.<\/p>\n\n<p>Per post, you can keep a page out of the index entirely or write the one-line description an engine should read instead of the generated excerpt. Per site, you choose the order the sections appear in, cap how many items each one lists, and decide whether <code>robots.txt<\/code> advertises the file the way it advertises your sitemap.<\/p>\n\n<p>On a translated site \u2014 WPML or Polylang \u2014 the index is grouped by language and each language also gets its own single-language file at <code>\/de\/llms.txt<\/code>, because one mixed-language index tells an answer engine nothing about which version of a page to quote. Content built with Elementor, Breakdance, Oxygen or SiteOrigin is read from the builder's own data, so a page whose body is not in <code>post_content<\/code> still gets a real description instead of a bare title.<\/p>\n\n<p><strong>Decide which AI bots may crawl you<\/strong><\/p>\n\n<p>A per-bot allow\/block list covering nineteen crawlers: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended, Meta-ExternalAgent, DuckAssistBot, Bytespider, Amazonbot, cohere-ai, CCBot, AI2Bot, ImagesiftBot and Diffbot. Each bot is labelled by what it actually does \u2014 AI training, AI search, on-demand fetch, or crawl dataset \u2014 so you can opt out of model training without giving up citations in AI search results.<\/p>\n\n<p>The distinction matters more than it sounds. Blocking GPTBot opts you out of OpenAI's training data; it does not stop ChatGPT reading your page, because that is OAI-SearchBot indexing you and ChatGPT-User fetching you live. Oorank lists all three separately, and warns you when a choice would cost citations.<\/p>\n\n<p>Your choices are written into <code>robots.txt<\/code>. If a static <code>robots.txt<\/code> already exists, Oorank tells you where it is and can insert a clearly marked block into it, leaving everything you wrote by hand untouched. Optionally, blocked crawlers also receive an <code>X-Robots-Tag: noai, noimageai<\/code> header.<\/p>\n\n<p>Alongside the per-bot rules, Oorank publishes a <code>Content-Signal<\/code> line stating whether search, AI answers and AI training are welcome, and sends the matching <code>Content-Usage: ai-train=n<\/code> header when you have refused training outright. Both are derived from the choices you already made, and they reach crawlers that are not on any list yet.<\/p>\n\n<p><strong>Let an AI client read the site directly<\/strong><\/p>\n\n<p>Oorank can answer as an MCP server, so a client like Claude can connect to your site and use it as a tool: ask it which pages score worst, what llms.txt currently says, or which posts have gone stale \u2014 and tell it to block Meta's crawler, change which post types llms.txt covers, or rebuild the file.<\/p>\n\n<p>This does not break the no-external-calls promise, because the direction is inward: the client connects to your site and your site never calls out. It is off by default, gated behind one toggle and a connection token you can rotate or revoke, and the token acts with your own account's permissions and no more. Nothing is bundled to make it work \u2014 no extra libraries, no extra weight in the download.<\/p>\n\n<p><strong>Publish structured data that does not fight your SEO plugin<\/strong><\/p>\n\n<p>Oorank emits a JSON-LD graph describing your site and the page being viewed \u2014 WebSite, your publisher identity (an organization, a person, or a local business with its address), WebPage, Article, BreadcrumbList, Product on WooCommerce stores, and FAQPage or HowTo where your content actually contains questions or steps. You can also add your own JSON-LD blocks, choose which pages they appear on, and validate them before they ship.<\/p>\n\n<p>If another plugin already publishes structured data, Oorank stays out of its way. It watches what Yoast SEO, Rank Math, All in One SEO, SEOPress and Slim SEO put in their graph and emits only the parts they leave out \u2014 usually FAQ and How-to. It compares by role rather than by name, so a plugin describing your site as a <code>Person<\/code> still suppresses Oorank's <code>Organization<\/code>: two competing descriptions of one page are worse for an answer engine than one. You can also force full output, or turn it off entirely.<\/p>\n\n<p><strong>Give your authors an identity<\/strong><\/p>\n\n<p>Every article is attributed to its author as an entity rather than a name. Oorank adds LinkedIn, X, Mastodon, GitHub, YouTube and ORCID fields to the WordPress user profile; whatever an author fills in becomes their <code>sameAs<\/code> \u2014 the list that lets an engine tell two writers with the same name apart. Author archives are described as a profile page for that person, and your site's own publisher identity takes a logo and its own profile links.<\/p>\n\n<p><strong>Keep freshness dates honest<\/strong><\/p>\n\n<p>WordPress updates a post's modified date on any save at all, so re-assigning a category can make a five-year-old article look edited yesterday. Oorank records when the content itself last changed \u2014 the title, body or excerpt \u2014 and publishes that date instead. It also flags published content that has not changed inside a threshold you choose, so you can see what an answer engine is quietly discounting.<\/p>\n\n<p><strong>Audit pages for AI readability<\/strong><\/p>\n\n<p>Oorank requests one of your own URLs the way a crawler would \u2014 no JavaScript, no cookies \u2014 and scores what comes back out of 100 across eight weighted checks:<\/p>\n\n<ul>\n<li>Server-rendered body text (25)<\/li>\n<li>Valid JSON-LD structured data (15)<\/li>\n<li>Title and meta description (12)<\/li>\n<li>AI bot access (12)<\/li>\n<li>Self-referential canonical (10)<\/li>\n<li>llms.txt reachable (10)<\/li>\n<li>Heading hierarchy (10)<\/li>\n<li>Freshness (6)<\/li>\n<\/ul>\n\n<p>Every failing check comes with a plain-language fix and a link straight to the screen where you fix it. Scores appear in a meta box on the post edit screen, and a site-wide report ranks your worst pages first so you know where to start.<\/p>\n\n<p><strong>Built for developers<\/strong><\/p>\n\n<p>Zero runtime dependencies and no outbound requests at all. WP-CLI commands cover auditing, llms.txt and crawler access (<code>wp oorank audit<\/code>, <code>wp oorank llms regenerate<\/code>, <code>wp oorank bots<\/code>). Filters cover the bot registry, the settings schema, the admin tabs, the REST routes, the audit checks, the MCP tool table, and the whole structured-data pipeline \u2014 the graph itself, the type-to-role map used for deduplication, which plugins to defer to, the Article type per post type, and the author profile fields.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not connect to any external or third party service. Nothing is sent off your server, and no remote API is called.<\/p>\n\n<p>Two things sometimes mistaken for external services:<\/p>\n\n<ul>\n<li><strong>Page audits.<\/strong> The audit requests URLs on your own site, from your own server, and refuses any host other than your own. It is a loopback request, not a third party call.<\/li>\n<li><strong>Vendor documentation links.<\/strong> The AI bot list links to each crawler vendor's own documentation page (for example Amazon's page for Amazonbot). These are ordinary links you may click; the plugin never requests them.<\/li>\n<\/ul>\n\n<p>The MCP server, when you enable it, is inbound only: an AI client you control connects to your site and your site answers. Your site never calls out.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20llms.txt%3F\"><h3>What is llms.txt?<\/h3><\/dt>\n<dd><p>A proposed convention \u2014 a Markdown file at the root of your site that lists your most useful content in a form language models can read cheaply, much as <code>robots.txt<\/code> describes crawl rules. Oorank generates and maintains it for you.<\/p><\/dd>\n<dt id=\"does%20this%20send%20my%20content%20anywhere%3F\"><h3>Does this send my content anywhere?<\/h3><\/dt>\n<dd><p>No. The audit fetches URLs on your own site, from your own server, and refuses any host other than yours. Oorank makes no third-party requests at all.<\/p><\/dd>\n<dt id=\"will%20it%20conflict%20with%20my%20seo%20plugin%3F\"><h3>Will it conflict with my SEO plugin?<\/h3><\/dt>\n<dd><p>No. Oorank never outputs titles, meta descriptions or canonicals \u2014 it reads what your SEO plugin emits and reports on it. Structured data is the one overlap, and Oorank defers by default: it detects the types your SEO plugin already publishes and emits only what is missing, so you never end up with two Article descriptions of the same page. Blocking or allowing AI bots is additive to your existing <code>robots.txt<\/code> rules.<\/p><\/dd>\n<dt id=\"why%20does%20my%20page%20have%20no%20oorank%20schema%20on%20it%3F\"><h3>Why does my page have no Oorank schema on it?<\/h3><\/dt>\n<dd><p>Because something else already describes it. In the default Automatic mode Oorank only fills gaps, so on a site running a full SEO plugin you will often see nothing but a FAQPage or HowTo \u2014 that is it working. The Schema screen lists every node type and says, for each one, whether Oorank or another plugin publishes it. Switch the mode to Always if you want the full graph regardless.<\/p><\/dd>\n<dt id=\"does%20oorank%20change%20my%20posts%20to%20track%20content%20dates%3F\"><h3>Does Oorank change my posts to track content dates?<\/h3><\/dt>\n<dd><p>No. It stores one timestamp per post in post meta, recorded when you save. Your post content, dates and revisions are untouched, and uninstalling removes those timestamps.<\/p><\/dd>\n<dt id=\"blocking%20ai%20bots%20%E2%80%94%20does%20that%20hurt%20my%20traffic%3F\"><h3>Blocking AI bots \u2014 does that hurt my traffic?<\/h3><\/dt>\n<dd><p>It depends which bots. Blocking a <em>training<\/em> crawler (GPTBot, Google-Extended, CCBot) only opts your content out of model training. Blocking a <em>search<\/em> crawler (OAI-SearchBot, Claude-SearchBot, PerplexityBot) also removes your chance of being cited and linked in that engine's answers. Blocking an <em>on-demand fetcher<\/em> (ChatGPT-User, Claude-User, Perplexity-User, DuckAssistBot) means the assistant cannot read your page even when a person asks it about that exact URL. Oorank labels every bot so the trade-off is visible before you decide.<\/p><\/dd>\n<dt id=\"why%20did%20my%20page%20score%20badly%3F\"><h3>Why did my page score badly?<\/h3><\/dt>\n<dd><p>Most often because the text lives in JavaScript. AI crawlers do not execute JS, so anything rendered client-side is invisible to them. The audit reports the word count it actually received, which usually makes the cause obvious.<\/p><\/dd>\n<dt id=\"does%20the%20mcp%20server%20send%20my%20content%20anywhere%3F\"><h3>Does the MCP server send my content anywhere?<\/h3><\/dt>\n<dd><p>No. MCP inverts the usual direction: an AI client you control opens a connection to your site, and the site answers. Oorank makes no outbound request, needs no API key, and serves nothing until you enable MCP and issue a token. Revoking the token ends every connection.<\/p><\/dd>\n<dt id=\"does%20uninstalling%20remove%20my%20data%3F\"><h3>Does uninstalling remove my data?<\/h3><\/dt>\n<dd><p>Deactivating keeps everything. Uninstalling removes all of it: Oorank's settings, the MCP connection token, the audit report, every cached audit, the scheduled scan, the content-change timestamps it recorded, and any physical <code>llms.txt<\/code> \/ <code>llms-full.txt<\/code> files Oorank wrote to your site root. Your posts and pages are never touched.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Set the permalink structure from Oorank: the plain-permalinks warning now opens a drawer listing the same structures WordPress offers, each with the URL it produces, and saving one flushes the rewrite rules so the llms.txt endpoints answer immediately. The link to the WordPress permalink screen stays for custom structures and the category and tag bases.<\/li>\n<li>Moved the Oorank menu to the top of the admin sidebar.<\/li>\n<li>Hid the Pro card until the add-on ships.<\/li>\n<li>Recaptured the directory screenshots.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>llms.txt and llms-full.txt generation with auto-resync and a manual override.<\/li>\n<li>Per-bot AI crawler access control via robots.txt for nineteen crawlers, with static robots.txt handling, Content-Signal and Content-Usage emission, and an optional X-Robots-Tag header.<\/li>\n<li>FAQ and How-to authoring: write question and answer pairs, or numbered steps, on any post \u2014 no need for the content to already contain the right blocks.<\/li>\n<li>More structured data: BreadcrumbList, Product for WooCommerce, a LocalBusiness identity with address and phone, and your own JSON-LD blocks with per-page display conditions and a validator.<\/li>\n<li>Bulk actions on the site report: select rows to re-audit after an edit, or exclude pages that were never citation candidates.<\/li>\n<li>Role manager: grant Oorank's screens, routes and commands to editors, authors or any role that can edit content, instead of administrators only.<\/li>\n<li>llms.txt control: per-post exclude and description override, section ordering, a per-section item cap, and an <code>Llms-Txt<\/code> reference line in robots.txt.<\/li>\n<li>Page-builder and multilingual correctness: builder-authored content is indexed, dated and read for FAQ markup; llms.txt is grouped by language with per-language endpoints on WPML and Polylang.<\/li>\n<li>Answer-ready checks: question-form headings, liftable paragraphs and sentences, an answer up front, lists and tables, and paragraphs that survive being quoted alone \u2014 with a per-page rewrite list. Page and site scores are reported separately.<\/li>\n<li>Weekly digest email reporting which pages moved, and WP-CLI commands for audits, llms.txt and crawler access.<\/li>\n<li>MCP server so an AI client can read audits and change crawler and llms.txt settings, off by default, token authenticated, with no bundled dependencies.<\/li>\n<li>AI-readability audit: per-URL scoring, post edit meta box, site-wide report and a weekly scan.<\/li>\n<li>JSON-LD structured data (WebSite, publisher, WebPage, Article, FAQPage, HowTo) that defers to whatever your SEO plugin already publishes.<\/li>\n<li>Author and publisher identity: profile URL fields per user, <code>sameAs<\/code>, publisher logo, and described author archives.<\/li>\n<li>Honest <code>dateModified<\/code> based on when content actually changed, plus a configurable staleness threshold and stale-content list.<\/li>\n<\/ul>","raw_excerpt":"Make your site readable and quotable by AI answer engines: generate llms.txt, control AI-bot access, and audit any page for AI readability.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/352606","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=352606"}],"author":[{"embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jakariaistauk"}],"wp:attachment":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=352606"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=352606"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=352606"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=352606"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=352606"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=352606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}