{"id":307665,"date":"2026-05-07T17:57:25","date_gmt":"2026-05-07T17:57:25","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/codesala-rankmaster-ai\/"},"modified":"2026-05-26T19:34:55","modified_gmt":"2026-05-26T19:34:55","slug":"codesala-seo-content-engine","status":"publish","type":"plugin","link":"https:\/\/pt.wordpress.org\/plugins\/codesala-seo-content-engine\/","author":20981407,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.0","stable_tag":"1.5.0","tested":"6.9.4","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"Codesala SEO Content Engine","header_author":"Bikas Kumar","header_description":"AI-assisted SEO content workflow for WordPress. Fetches trending keywords from public sources, composes source-backed articles (real Wikipedia summaries + Google News headlines) with images, JSON-LD schema and internal links, and schedules publishing. Compatible with Yoast SEO, Rank Math and All in One SEO. Includes a zero-config built-in engine plus optional support for OpenRouter, Groq, Cloudflare Workers AI, Google Gemini, Mistral, OpenAI and Anthropic \u2014 all keys are user-supplied.","assets_banners_color":"f7beb1","last_updated":"2026-05-26 19:34:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/codesala.in","rating":5,"author_block_rating":0,"active_installs":0,"downloads":284,"num_ratings":1,"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":"bikaskumar2000","date":"2026-05-07 17:56:58"},"1.1.0":{"tag":"1.1.0","author":"bikaskumar2000","date":"2026-05-07 21:26:34"},"1.1.1":{"tag":"1.1.1","author":"bikaskumar2000","date":"2026-05-08 14:55:29"},"1.2.0":{"tag":"1.2.0","author":"bikaskumar2000","date":"2026-05-17 01:00:03"},"1.2.1":{"tag":"1.2.1","author":"bikaskumar2000","date":"2026-05-17 01:26:51"},"1.3.0":{"tag":"1.3.0","author":"bikaskumar2000","date":"2026-05-17 01:41:42"},"1.4.0":{"tag":"1.4.0","author":"bikaskumar2000","date":"2026-05-26 15:56:02"},"1.4.1":{"tag":"1.4.1","author":"bikaskumar2000","date":"2026-05-26 16:22:44"},"1.4.2":{"tag":"1.4.2","author":"bikaskumar2000","date":"2026-05-26 16:37:11"},"1.4.3":{"tag":"1.4.3","author":"bikaskumar2000","date":"2026-05-26 16:55:09"},"1.4.4":{"tag":"1.4.4","author":"bikaskumar2000","date":"2026-05-26 17:06:04"},"1.4.5":{"tag":"1.4.5","author":"bikaskumar2000","date":"2026-05-26 18:47:09"},"1.5.0":{"tag":"1.5.0","author":"bikaskumar2000","date":"2026-05-26 19:34:55"}},"upgrade_notice":{"1.5.0":"<p>Major UI refresh \u2014 vertical left-sidebar navigation and tightened spacing across every admin screen. New Google Search Console index-status column in the SEO Optimizer with a one-click &quot;fix not-indexed&quot; that submits missing URLs to Google.<\/p>","1.4.5":"<p>Auto-submits every published post \/ page to Google&#039;s Indexing API (not just plugin-generated content). Detects and delegates to Rank Math Instant Indexing if active. New bulk &quot;Submit all&quot; button in SEO Optimizer covers your entire archive in one click. Google sitemap ping removed (Google deprecated the endpoint in 2023).<\/p>","1.4.4":"<p>Auto-migrates existing installs from the deprecated <code>gemini-1.5-flash<\/code> to <code>gemini-2.0-flash<\/code> on next admin page load. v1.4.3 only fixed new-install defaults \u2014 this one fixes everyone.<\/p>","1.4.3":"<p>Fixes Gemini default model \u2014 Google deprecated gemini-1.5-flash on the v1beta endpoint, causing silent 404 fallbacks to the offline template engine. New default is gemini-2.0-flash.<\/p>","1.4.2":"<p>Critical content-quality fix: stops the silent fallback to generic template content when your LLM is rate-limited or misconfigured. New Strict AI mode (default ON) makes the plugin error out clearly instead of silently shipping a &quot;Before you start \/ shortest path \/ where people get stuck&quot; stub. Also adds an ALIGNMENT CONTRACT to the prompt so the body actually delivers what the title promises.<\/p>","1.4.1":"<p>Admin UI polish: CS monogram replaces the empty badge next to the plugin title, banner pill now shows provider tier (Free \/ Paid \/ Offline) instead of a redundant &quot;AI&quot; label, and header spacing is loosened.<\/p>","1.4.0":"<p>Real in-body internal links (not just an &quot;end-of-post&quot; list), enforced H-tag hierarchy, distinct image per H2 section, BreadcrumbList + ImageObject schema added, accordion FAQ. Bigger leap in generated-content quality than v1.3 \u2014 recommended upgrade.<\/p>","1.3.0":"<p>Major content-philosophy change: built-in engine no longer scrapes Wikipedia or Google News for article body. Articles are either locally-composed template stubs (offline mode) or pure original AI prose when an LLM key is configured. Default word count bumped to 1,500-2,500. Images spread across sections with rich ALT text.<\/p>","1.2.1":"<p>Fixes duplicated &quot;Why this matters&quot; blocks when Fix is run twice. Replaces generic word-count padding with keyword-pattern aware practical sections (hire \/ buy \/ how-to \/ definition \/ comparison). FAQ section now uses real news descriptions as answers, not headlines.<\/p>","1.2.0":"<p>Big content-quality upgrade: persona-driven writer prompt with banned AI-tell phrases, post-generation humanizer that strips robotic phrases and adds natural contractions, author byline + CTA blocks, and one-click Humanize for existing posts.<\/p>","1.1.1":"<p>SEO plugin score columns (Rank Math, Yoast, AIOSEO) now reflect the optimised score after running the fixer \u2014 no more &quot;N\/A&quot; badge.<\/p>","1.1.0":"<p>Adds a Business profile (auto + manual) for niche-targeted keywords, and a one-click 100\/100 SEO Optimizer that fixes posts \/ pages \/ products against Rank Math \/ Yoast \/ AIOSEO rules.<\/p>","1.0.0":"<p>First release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3525890,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3525890,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3525890,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3525890,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.2.0","1.2.1","1.3.0","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.5.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3525890,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3525890,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3525890,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3525890,"resolution":"4","location":"assets","locale":"","width":1280,"height":800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3525890,"resolution":"5","location":"assets","locale":"","width":1280,"height":800}},"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,569,13175,1117,186],"plugin_category":[55],"plugin_contributors":[260665],"plugin_business_model":[],"class_list":["post-307665","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-automation","plugin_tags-content-generator","plugin_tags-schema","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-bikaskumar2000","plugin_committers-bikaskumar2000"],"banners":{"banner":"https:\/\/ps.w.org\/codesala-seo-content-engine\/assets\/banner-772x250.png?rev=3525890","banner_2x":"https:\/\/ps.w.org\/codesala-seo-content-engine\/assets\/banner-1544x500.png?rev=3525890","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/codesala-seo-content-engine\/assets\/icon-128x128.png?rev=3525890","icon_2x":"https:\/\/ps.w.org\/codesala-seo-content-engine\/assets\/icon-256x256.png?rev=3525890","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/codesala-seo-content-engine\/assets\/screenshot-1.png?rev=3525890","caption":""},{"src":"https:\/\/ps.w.org\/codesala-seo-content-engine\/assets\/screenshot-2.png?rev=3525890","caption":""},{"src":"https:\/\/ps.w.org\/codesala-seo-content-engine\/assets\/screenshot-3.png?rev=3525890","caption":""},{"src":"https:\/\/ps.w.org\/codesala-seo-content-engine\/assets\/screenshot-4.png?rev=3525890","caption":""},{"src":"https:\/\/ps.w.org\/codesala-seo-content-engine\/assets\/screenshot-5.png?rev=3525890","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Codesala SEO Content Engine<\/strong> is a free AI SEO plugin and AI content generator for WordPress. It combines keyword research, AI article writing, on-page SEO optimisation, schema markup and an auto-blog scheduler in one lightweight plugin \u2014 and it works on activation without any API key thanks to a built-in zero-config engine that composes articles from real Wikipedia summaries and Google News headlines, with linked citations.<\/p>\n\n<p>Use it as your <strong>AI writer<\/strong>, <strong>auto blog plugin<\/strong>, <strong>keyword research tool<\/strong>, <strong>JSON-LD schema generator<\/strong>, and <strong>automated content scheduler<\/strong> \u2014 all from one admin screen. Compatible with Yoast SEO, Rank Math and All in One SEO.<\/p>\n\n<h4>Why use this AI SEO plugin?<\/h4>\n\n<ul>\n<li><strong>Free forever, no API key required.<\/strong> The built-in engine uses only public data sources \u2014 no signup, no credit card.<\/li>\n<li><strong>Real source-backed content, not template fluff.<\/strong> Every generated article is built from real Wikipedia and Google News data with citation links \u2014 useful out of the box.<\/li>\n<li><strong>Optional best-in-class AI providers.<\/strong> Plug in your own free or paid key from OpenRouter, Groq, Cloudflare Workers AI, Google Gemini, Mistral, OpenAI, or Anthropic Claude \u2014 auto-fallback handles rate-limits.<\/li>\n<li><strong>6 keyword research sources.<\/strong> Google Trends, Google Suggest, YouTube Suggest, Bing Suggest, Reddit and Wikipedia \u2014 all free.<\/li>\n<li><strong>Schema markup that ranks.<\/strong> JSON-LD Article + FAQPage with safe <code>&lt;script&gt;<\/code>-context escaping.<\/li>\n<li><strong>Auto blog scheduler with safety brakes.<\/strong> Daily budget, per-hour throttle, default draft status \u2014 protects you from spammy bursts.<\/li>\n<li><strong>Compatible with leading SEO plugins.<\/strong> Auto-detects Yoast, Rank Math and All in One SEO. Native fallback if none is installed.<\/li>\n<\/ul>\n\n<h4>Full feature list<\/h4>\n\n<ul>\n<li><strong>AI content generator<\/strong> with multi-provider fallback chain.<\/li>\n<li><strong>Keyword research<\/strong> from 6 free sources (Google Trends, Google Suggest, YouTube Suggest, Bing Suggest, Reddit, Wikipedia Pageviews).<\/li>\n<li><strong>Smart keyword scoring<\/strong> \u2014 long-tail boost, source-weighted, used-keyword tracking.<\/li>\n<li><strong>Source-backed article composer<\/strong> \u2014 pulls real Wikipedia summaries + Google News headlines with citation links, even when no LLM is configured.<\/li>\n<li><strong>Optional AI providers<\/strong> \u2014 OpenRouter, Groq, Cloudflare Workers AI, Google Gemini, Mistral, OpenAI, Anthropic Claude. All keys user-supplied.<\/li>\n<li><strong>Royalty-free images<\/strong> \u2014 optional Pexels \/ Unsplash with SEO-optimised ALT text.<\/li>\n<li><strong>JSON-LD schema<\/strong> \u2014 Article + FAQPage, escaped safely with <code>JSON_HEX_TAG<\/code>.<\/li>\n<li><strong>Yoast \/ Rank Math \/ AIOSEO compatibility<\/strong> \u2014 focus keyword, meta title and description auto-filled.<\/li>\n<li><strong>Auto blog scheduler<\/strong> \u2014 WP-Cron driven, daily budget, per-hour throttle, default draft status.<\/li>\n<li><strong>Internal linking<\/strong> \u2014 picks 3 related posts from your archive on every generation.<\/li>\n<li><strong>Sitemap pings<\/strong> \u2014 Google + Bing notification on publish (optional).<\/li>\n<li><strong>Google Indexing API<\/strong> support (optional, requires service-account JSON).<\/li>\n<li><strong>Built-in analytics<\/strong> \u2014 views, top posts, top keywords. Cached, no GA needed.<\/li>\n<\/ul>\n\n<h4>AI providers supported<\/h4>\n\n\n\n\n  Provider\n  Tier\n  Why use it\n\n\n\n\n  Codesala built-in engine\n  Free, no key\n  Always-on Wikipedia + News engine\n\n\n  OpenRouter\n  Free tier\n  DeepSeek-V3, Llama 3.3 free models\n\n\n  Groq\n  Free tier\n  Fastest Llama 3.3 70B inference\n\n\n  Cloudflare Workers AI\n  Free, 10k\/day\n  Llama, Mistral, Gemma\n\n\n  Google Gemini\n  Free tier\n  Gemini 1.5 Flash\n\n\n  Mistral AI\n  Free tier\n  Mistral Small \/ Medium\n\n\n  OpenAI\n  Paid\n  GPT-4o-mini, top-quality long form\n\n\n  Anthropic\n  Paid\n  Claude 3.5 Haiku \/ Sonnet\n\n\n\n\n<h4>Realistic strategy<\/h4>\n\n<p>AI content is risky if you over-do it. Recommended:<\/p>\n\n<ul>\n<li>5\u201310 high-quality posts\/day, not 100.<\/li>\n<li>Long-tail, low-competition keywords.<\/li>\n<li>Default status is <strong>draft<\/strong> so you review before publishing.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the third-party services listed below. Connections to optional services (LLM providers, image providers, indexing) only happen when the site administrator explicitly configures their own API keys for those services.<\/p>\n\n<h4>Wikimedia Pageviews API (when \"Wikipedia Top\" keyword source is enabled)<\/h4>\n\n<p>Used to fetch the previous day's most-viewed Wikipedia articles as a <em>keyword discovery<\/em> source. As of v1.3.0 no Wikipedia content is fetched for article bodies \u2014 only article titles are read, to seed the keyword pool.<\/p>\n\n<ul>\n<li>What is sent: language code and the previous day's date.<\/li>\n<li>When: when the keyword pool is refreshed.<\/li>\n<li>Service: Wikimedia Pageviews REST API.<\/li>\n<li>Terms of use: https:\/\/foundation.wikimedia.org\/wiki\/Policy:Terms_of_Use<\/li>\n<li>Privacy policy: https:\/\/foundation.wikimedia.org\/wiki\/Policy:Privacy_policy<\/li>\n<\/ul>\n\n<h4>Google Trends RSS (when \"Google Trends\" keyword source is enabled)<\/h4>\n\n<p>Used to fetch daily trending searches.<\/p>\n\n<ul>\n<li>What is sent: country code.<\/li>\n<li>When: when the keyword pool is refreshed.<\/li>\n<li>Service: Google Trends.<\/li>\n<li>Terms of use: https:\/\/policies.google.com\/terms<\/li>\n<li>Privacy policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<h4>Google Search Suggest &amp; YouTube Suggest<\/h4>\n\n<p>Used to fetch keyword autocomplete suggestions (keyword discovery) and related question phrases for FAQ headings. As of v1.3.0 Google News RSS is no longer used and no article content is taken from Google \u2014 only short keyword and question strings are read.<\/p>\n\n<ul>\n<li>What is sent: keyword strings, language and country codes.<\/li>\n<li>When: when the keyword pool is refreshed and each time a post is generated.<\/li>\n<li>Service: Google.<\/li>\n<li>Terms of use: https:\/\/policies.google.com\/terms<\/li>\n<li>Privacy policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<h4>Bing Suggest (when \"Bing Suggest\" keyword source is enabled)<\/h4>\n\n<p>Used to fetch keyword autocomplete suggestions.<\/p>\n\n<ul>\n<li>What is sent: keyword strings.<\/li>\n<li>When: when the keyword pool is refreshed.<\/li>\n<li>Service: Microsoft Bing.<\/li>\n<li>Terms of use: https:\/\/www.microsoft.com\/en-us\/servicesagreement<\/li>\n<li>Privacy policy: https:\/\/privacy.microsoft.com\/privacystatement<\/li>\n<\/ul>\n\n<h4>Reddit Public Listings (when \"Reddit Trending\" keyword source is enabled)<\/h4>\n\n<p>Used to fetch top posts from r\/popular as a keyword source.<\/p>\n\n<ul>\n<li>What is sent: nothing (public listing endpoint).<\/li>\n<li>When: when the keyword pool is refreshed.<\/li>\n<li>Service: Reddit.<\/li>\n<li>Terms of use: https:\/\/www.redditinc.com\/policies\/user-agreement<\/li>\n<li>Privacy policy: https:\/\/www.reddit.com\/policies\/privacy-policy<\/li>\n<\/ul>\n\n<h4>Pexels API (only when the user has entered a Pexels API key)<\/h4>\n\n<p>Used to fetch royalty-free images for generated posts.<\/p>\n\n<ul>\n<li>What is sent: the focus keyword and the user's Pexels API key.<\/li>\n<li>When: each time a post is generated and image fetching is enabled with Pexels selected.<\/li>\n<li>Service: Pexels.<\/li>\n<li>Terms of use: https:\/\/www.pexels.com\/terms-of-service\/<\/li>\n<li>Privacy policy: https:\/\/www.pexels.com\/privacy-policy\/<\/li>\n<\/ul>\n\n<h4>Unsplash API (only when the user has entered an Unsplash access key)<\/h4>\n\n<p>Used to fetch royalty-free images for generated posts.<\/p>\n\n<ul>\n<li>What is sent: the focus keyword and the user's Unsplash access key.<\/li>\n<li>When: each time a post is generated and image fetching is enabled with Unsplash selected.<\/li>\n<li>Service: Unsplash.<\/li>\n<li>Terms of use: https:\/\/unsplash.com\/terms<\/li>\n<li>Privacy policy: https:\/\/unsplash.com\/privacy<\/li>\n<\/ul>\n\n<h4>OpenRouter (only when the user has entered an OpenRouter API key)<\/h4>\n\n<p>Optional LLM provider used for generating article content.<\/p>\n\n<ul>\n<li>What is sent: the system prompt, the user prompt (containing the focus keyword), the user's OpenRouter API key, the configured model name, and the site's home URL as the HTTP-Referer header.<\/li>\n<li>When: each time a post is generated and OpenRouter is the active provider.<\/li>\n<li>Service: OpenRouter.<\/li>\n<li>Terms of use: https:\/\/openrouter.ai\/terms<\/li>\n<li>Privacy policy: https:\/\/openrouter.ai\/privacy<\/li>\n<\/ul>\n\n<h4>Cloudflare Workers AI (only when the user has entered Cloudflare credentials)<\/h4>\n\n<p>Optional LLM provider used for generating article content.<\/p>\n\n<ul>\n<li>What is sent: the system prompt, the user prompt (containing the focus keyword), the user's Cloudflare account ID, API token, and the configured model name.<\/li>\n<li>When: each time a post is generated and Cloudflare is the active provider.<\/li>\n<li>Service: Cloudflare Workers AI.<\/li>\n<li>Terms of use: https:\/\/www.cloudflare.com\/website-terms\/<\/li>\n<li>Privacy policy: https:\/\/www.cloudflare.com\/privacypolicy\/<\/li>\n<\/ul>\n\n<h4>Groq (only when the user has entered a Groq API key)<\/h4>\n\n<p>Optional LLM provider used for generating article content.<\/p>\n\n<ul>\n<li>What is sent: the system prompt, the user prompt (containing the focus keyword), the user's Groq API key, and the configured model name.<\/li>\n<li>When: each time a post is generated and Groq is the active provider.<\/li>\n<li>Service: Groq.<\/li>\n<li>Terms of use: https:\/\/groq.com\/terms-of-use\/<\/li>\n<li>Privacy policy: https:\/\/groq.com\/privacy-policy\/<\/li>\n<\/ul>\n\n<h4>Google Gemini (only when the user has entered a Gemini API key)<\/h4>\n\n<p>Optional LLM provider used for generating article content.<\/p>\n\n<ul>\n<li>What is sent: the system prompt, the user prompt (containing the focus keyword), the user's Gemini API key, and the configured model name.<\/li>\n<li>When: each time a post is generated and Gemini is the active provider.<\/li>\n<li>Service: Google Generative Language API.<\/li>\n<li>Terms of use: https:\/\/ai.google.dev\/gemini-api\/terms<\/li>\n<li>Privacy policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<h4>Mistral AI (only when the user has entered a Mistral API key)<\/h4>\n\n<p>Optional LLM provider used for generating article content.<\/p>\n\n<ul>\n<li>What is sent: the system prompt, the user prompt (containing the focus keyword), the user's Mistral API key, and the configured model name.<\/li>\n<li>When: each time a post is generated and Mistral is the active provider.<\/li>\n<li>Service: Mistral AI.<\/li>\n<li>Terms of use: https:\/\/mistral.ai\/terms\/<\/li>\n<li>Privacy policy: https:\/\/mistral.ai\/privacy-policy\/<\/li>\n<\/ul>\n\n<h4>OpenAI (only when the user has entered an OpenAI API key)<\/h4>\n\n<p>Optional LLM provider used for generating article content.<\/p>\n\n<ul>\n<li>What is sent: the system prompt, the user prompt (containing the focus keyword), the user's OpenAI API key, and the configured model name.<\/li>\n<li>When: each time a post is generated and OpenAI is the active provider.<\/li>\n<li>Service: OpenAI.<\/li>\n<li>Terms of use: https:\/\/openai.com\/policies\/row-terms-of-use\/<\/li>\n<li>Privacy policy: https:\/\/openai.com\/policies\/row-privacy-policy\/<\/li>\n<\/ul>\n\n<h4>Anthropic Claude (only when the user has entered an Anthropic API key)<\/h4>\n\n<p>Optional LLM provider used for generating article content.<\/p>\n\n<ul>\n<li>What is sent: the system prompt, the user prompt (containing the focus keyword), the user's Anthropic API key, and the configured model name.<\/li>\n<li>When: each time a post is generated and Anthropic is the active provider.<\/li>\n<li>Service: Anthropic.<\/li>\n<li>Terms of use: https:\/\/www.anthropic.com\/legal\/consumer-terms<\/li>\n<li>Privacy policy: https:\/\/www.anthropic.com\/legal\/privacy<\/li>\n<\/ul>\n\n<h4>Google Sitemap Ping (when \"Auto ping Google\" is enabled)<\/h4>\n\n<p>Used to notify Google about updated sitemaps after publishing posts.<\/p>\n\n<ul>\n<li>What is sent: the public URL of the site's sitemap.<\/li>\n<li>When: each time a post is published if \"Auto ping Google\" is enabled.<\/li>\n<li>Service: Google.<\/li>\n<li>Terms of use: https:\/\/policies.google.com\/terms<\/li>\n<li>Privacy policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<h4>Bing Sitemap Ping (when \"Auto ping Bing\" is enabled)<\/h4>\n\n<p>Used to notify Bing about updated sitemaps after publishing posts.<\/p>\n\n<ul>\n<li>What is sent: the public URL of the site's sitemap.<\/li>\n<li>When: each time a post is published if \"Auto ping Bing\" is enabled.<\/li>\n<li>Service: Microsoft Bing.<\/li>\n<li>Terms of use: https:\/\/www.microsoft.com\/en-us\/servicesagreement<\/li>\n<li>Privacy policy: https:\/\/privacy.microsoft.com\/privacystatement<\/li>\n<\/ul>\n\n<h4>Google Indexing API (only when enabled and a service-account JSON key is configured)<\/h4>\n\n<p>Used to submit individual URLs to Google's indexing service for faster discovery.<\/p>\n\n<ul>\n<li>What is sent: the public URL of the published post, signed with the user's Google service-account JWT (via Google's OAuth 2.0 token endpoint).<\/li>\n<li>When: each time a post is published if \"Submit to Google Indexing API\" is enabled.<\/li>\n<li>Service: Google Indexing API + Google OAuth 2.0.<\/li>\n<li>Terms of use: https:\/\/policies.google.com\/terms<\/li>\n<li>Privacy policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin does not collect or transmit visitor personal data. Data sent to the third-party services listed above consists of: keyword strings entered or selected by the site administrator, language\/country codes from settings, and (when applicable) the user's own API keys passed to the corresponding provider. The plugin stores its own data locally in the WordPress options table and a custom <code>wp_csrm_stats<\/code> table (post id, event type, keyword, provider name, sanitized referer, timestamp). No IP addresses, no cookies, and no visitor identifiers are stored.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>codesala-seo-content-engine<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin from the <strong>Plugins<\/strong> screen.<\/li>\n<li>Go to <strong>SEO Content \u2192 Settings \u2192 AI Providers<\/strong>. The built-in engine works without any setup. For higher-quality output, paste a free API key (Groq, OpenRouter, etc.).<\/li>\n<li>Open the <strong>Keywords<\/strong> tab and click <strong>Fetch trending keywords<\/strong>.<\/li>\n<li>Open the <strong>Generate<\/strong> tab and create a test post.<\/li>\n<li>When you are ready, enable the plugin in <strong>Settings \u2192 General<\/strong> to let the scheduler run automatically.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20an%20api%20key%3F\"><h3>Does this plugin require an API key?<\/h3><\/dt>\n<dd><p>No. The built-in engine builds articles from real Wikipedia summaries and Google News headlines through public endpoints. For higher-quality output you can plug in a free key from Groq, OpenRouter, Cloudflare, Gemini, or Mistral. Paid OpenAI \/ Anthropic are also supported. All keys are user-supplied.<\/p><\/dd>\n<dt id=\"will%20this%20get%20my%20site%20flagged%20for%20spam%3F\"><h3>Will this get my site flagged for spam?<\/h3><\/dt>\n<dd><p>Auto-publishing too many low-quality articles can cause issues with search engines. The plugin defaults to draft status and a per-hour throttle so you stay in control. Recommended: 5\u201310 posts per day max.<\/p><\/dd>\n<dt id=\"which%20seo%20plugins%20are%20supported%3F\"><h3>Which SEO plugins are supported?<\/h3><\/dt>\n<dd><p>Yoast SEO, Rank Math, and All in One SEO are auto-detected. If none is active, the plugin outputs its own meta tags and JSON-LD on the front-end.<\/p><\/dd>\n<dt id=\"where%20does%20the%20keyword%20data%20come%20from%3F\"><h3>Where does the keyword data come from?<\/h3><\/dt>\n<dd><p>All free public sources: Google Trends RSS, Google Suggest, YouTube Suggest, Bing Suggest, Reddit r\/popular, and Wikipedia Pageviews API. See the \"External services\" section below for details.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<ul>\n<li><strong>NEW: Left sidebar navigation + full design refresh.<\/strong> The top tab bar is replaced by a modern vertical sidebar (brand block, icon nav, active-state highlight, sticky on scroll). Every admin page now has a clear page heading, a one-line subtitle and consistent card spacing \u2014 the cramped, \"stuck together\" look is gone. Responsive: the sidebar stacks above the content on narrow screens.<\/li>\n<li><strong>NEW: Google Search Console index status.<\/strong> A new \"Google\" column in the SEO Optimizer shows, per URL, whether Google has indexed it (Indexed \/ Not indexed \/ Error). Click \"Check Google index status\" to inspect every post on the page via the Search Console URL Inspection API. Reuses the same service-account JSON key as the Indexing API \u2014 just add the service account to your Search Console property.<\/li>\n<li><strong>NEW: One-click \"fix not-indexed\".<\/strong> After a status check, every not-indexed URL is automatically submitted to the Indexing API (or delegated to Rank Math Instant Indexing if active), so the crawl request goes out without any extra clicks.<\/li>\n<li><strong>Google Site Kit detection.<\/strong> If the Site Kit plugin is installed, the SEO Optimizer notes it (the integration itself uses the stable service-account path, not Site Kit's private internals).<\/li>\n<\/ul>\n\n<h4>1.4.5<\/h4>\n\n<ul>\n<li><strong>NEW: Auto-index every post \/ page on publish.<\/strong> The plugin now hooks <code>transition_post_status<\/code> and submits every published URL (not just plugin-generated content) to Google's Indexing API. Hand-written posts, imported posts and posts published by other plugins are covered too. Configurable per post type under Settings \u2192 SEO &amp; Indexing.<\/li>\n<li><strong>NEW: Rank Math Instant Indexing integration.<\/strong> If you have the official <a href=\"https:\/\/wordpress.org\/plugins\/instant-indexing\/\">Rank Math Instant Indexing<\/a> plugin active, our auto-submit defers to it (we never duplicate the call), so a single daily quota covers both flows. If you don't have it, our own service-account JSON key path handles the call directly.<\/li>\n<li><strong>NEW: Bulk indexer in SEO Optimizer.<\/strong> A \"Submit all published URLs\" button now sits at the bottom of the SEO Optimizer screen. It iterates every published post \/ page in the configured types, 20 URLs per AJAX tick, with rate-limit respecting (\u22481 req\/sec). Pagination is irrelevant \u2014 the whole site is processed.<\/li>\n<li><strong>NEW: Indexing activity log.<\/strong> The most recent 50 submissions are kept and shown in the SEO Optimizer with colour-coded status pills (OK, delegated to Rank Math, skipped, error with the exact HTTP message).<\/li>\n<li><strong>Google sitemap ping endpoint removed.<\/strong> Google deprecated <code>https:\/\/www.google.com\/ping?sitemap=<\/code> in June 2023 \u2014 it now returns 404. The plugin no longer fires it. Submit your sitemap once via Google Search Console; per-URL signals go through the Indexing API. Bing sitemap ping is still supported (Bing still accepts it).<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li><strong>Auto-migrate stale Gemini model on update.<\/strong> v1.4.3 fixed the default model for new installs, but existing installs with <code>gemini-1.5-flash<\/code> saved in their settings were still hitting the deprecated endpoint and silently falling back to the offline template engine. v1.4.4 adds a lazy, idempotent migration that detects the dead value and bumps it to <code>gemini-2.0-flash<\/code> automatically on the next admin page load \u2014 no user action needed.<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li><strong>Fix: Gemini default model updated.<\/strong> Google deprecated <code>gemini-1.5-flash<\/code> on the v1beta API \u2014 every call returned HTTP 404 \"model not found\", silently falling back to the offline template engine. The default is now <code>gemini-2.0-flash<\/code>. Existing installs that still have the old model saved should change it under Settings \u2192 AI Providers \u2192 Gemini.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li><strong>Critical: title-body content alignment.<\/strong> When the title says \"How to deactivate Instagram account\", the body must contain the actual menu path \u2014 not generic productivity advice. The generator prompt now includes a strict ALIGNMENT CONTRACT and an intent-specific instruction block (how-to \/ buy \/ review \/ comparison \/ definition \/ hire \/ news) that tells the LLM exactly what shape the body must take for that keyword's search intent. Title-as-promise, body-as-delivery \u2014 no drift, no padding with \"start small, measure each step\" filler.<\/li>\n<li><strong>Critical: fix provider chain priority.<\/strong> The offline <code>codesala<\/code> template engine was being tried in 2nd position (before other configured LLMs) because it always reports as configured. It is now strictly LAST in the chain, and only included when the user has explicitly opted in via \"Strict AI mode = OFF\".<\/li>\n<li><strong>NEW: Strict AI mode setting.<\/strong> When ON (default for new installs), if all configured LLM providers fail (quota \/ wrong key \/ rate limit), post generation now ERRORS OUT with a clear message instead of silently producing a generic template post. Find it under Settings \u2192 AI Providers.<\/li>\n<li><strong>NEW: Per-post provider transparency.<\/strong> Every generated post now stores <code>_csrm_provider_used<\/code> and <code>_csrm_provider_attempts<\/code> in post meta \u2014 you can see which provider actually generated it and which LLMs were attempted first (with their exact error messages).<\/li>\n<li><strong>NEW: Admin notice on offline-generated posts.<\/strong> When a post is opened in the editor and was generated by the offline template engine, a yellow notice appears listing exactly which LLM providers were attempted and their failure reasons, with a deep link to the AI Providers settings tab.<\/li>\n<li><strong>Dashboard banner copy updated<\/strong> to reflect Strict AI mode state \u2014 \"Strict mode ON: if this provider fails, generation errors out\" vs \"Strict mode OFF: offline template engine kicks in\".<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li><strong>Admin UI polish.<\/strong> The empty peach badge next to the plugin title in every admin screen now displays a \"CS\" monogram (no more broken-image look). The redundant \"AI\" pill in the AI-status banner \u2014 which duplicated the \"AI\" icon on the left \u2014 has been replaced with a context-aware tier label (\"Free Tier\" \/ \"Paid Tier\" \/ \"Offline\") so the banner now conveys useful information at a glance. Header spacing was loosened so the title, version pill and subtitle don't read as one cramped block.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li><strong>Contextual in-body interlinking.<\/strong> A new linker scans the body of every freshly generated article, finds the first natural mention of an existing post's focus phrase inside a body paragraph, and wraps it as a real inline <code>&lt;a&gt;<\/code> link. Up to 5 inline links per post, same-category candidates preferred, longest-phrase matches preferred, never matches inside an existing <code>&lt;a&gt;<\/code>, and the hook intro and closing paragraphs are left alone. The \"Related Reading\" list at the end is still produced \u2014 the two link types feed different SEO signals.<\/li>\n<li><strong>Heading hierarchy is now enforced after generation.<\/strong> Any stray <code>&lt;h1&gt;<\/code> in the body is demoted to <code>&lt;h2&gt;<\/code> (the post title is the only H1), orphan <code>&lt;h3&gt;<\/code> headings appearing before any <code>&lt;h2&gt;<\/code> are promoted to <code>&lt;h2&gt;<\/code>, and any heading that skips a level (e.g. <code>&lt;h4&gt;<\/code> after <code>&lt;h2&gt;<\/code> with no <code>&lt;h3&gt;<\/code>) is demoted to the correct level. Attributes are preserved.<\/li>\n<li><strong>Per-section image queries.<\/strong> The generator prompt now asks the AI for one distinct visual concept per H2 section. Each inline image is fetched with its own query so the three images on a post aren't visual duplicates of each other. Featured image still uses the broad base query. Inline ALT text is now derived from the H2 the image sits under, not a generic counter.<\/li>\n<li><strong>Stronger schema coverage.<\/strong> Every generated post now emits an <code>ImageObject<\/code> for the featured image (with width\/height) and a <code>BreadcrumbList<\/code> (Home &gt; Category &gt; Post). The <code>FAQPage<\/code> block stays. <code>Article<\/code> schema is now conditionally suppressed when Yoast SEO \/ Rank Math \/ All in One SEO is active so validators don't flag duplicate Article JSON-LD.<\/li>\n<li><strong>Accordion FAQ.<\/strong> FAQs render as semantic <code>&lt;details&gt;<\/code>\/<code>&lt;summary&gt;<\/code> accordions \u2014 keyboard-accessible, no JavaScript needed, themeable via <code>.csrm-faq-*<\/code> classes. Prompt now requests 5-8 FAQ pairs (up from 3-5), each Q must contain the focus keyword or a close LSI variant.<\/li>\n<li><strong>Tighter content prompt.<\/strong> Focus keyword is now required in the very first sentence (was \"near the start\"), in the first 30 characters of the title, and in the first 60 characters of the meta description (Google bolds it in the SERP snippet). Every H2 section MUST name a real, specific entity (brand, product, person, city, price band, percentage, year) \u2014 generic \"imagine a small business\" examples are explicitly disallowed.<\/li>\n<li><strong>Outline returned in the JSON payload.<\/strong> The AI is asked to return its outline as a separate <code>outline<\/code> array and its LSI variants as a separate <code>lsi<\/code> array so future versions can validate structure before publish.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li><strong>No more external content scraping.<\/strong> The built-in offline engine no longer fetches from Wikipedia, Google News, Wikimedia Pageviews or Reddit for article body content. Articles are composed locally from intent-pattern templates and never include scraped facts, quotes or \"References\" sections. Google Suggest is still used (autocomplete questions only) to seed FAQ phrasings \u2014 but FAQ answers are written locally, never copied from search results.<\/li>\n<li><strong>Pure-AI articles via configured LLM.<\/strong> When you plug in a free or paid AI provider (Groq, OpenRouter, Cloudflare Workers AI, Gemini, Mistral, OpenAI, Anthropic), the generator now demands 1,500-2,500 word original articles with 5-7 detailed H2 sections (each 180+ words), real-world examples, named brands \/ prices \/ years, at least one H3 sub-section, and explicit trade-off opinions. Every article is fully original \u2014 no external citation is requested or accepted in the prompt.<\/li>\n<li><strong>Stronger anti-fluff prompt.<\/strong> Banned phrases list extended; demand for concrete numbers in every section; ban on \"Why this matters\", \"Introduction\", \"Conclusion\" style headings.<\/li>\n<li><strong>Better image integration.<\/strong> Default images per post increased to 3. Featured image plus inline images are now spread evenly across H2 sections (not all stacked at the top). Every image gets a keyword-aware ALT text.<\/li>\n<li><strong>Defaults updated.<\/strong> <code>words_min<\/code> 800 \u2192 1500, <code>words_max<\/code> 1500 \u2192 2500, <code>images_per_post<\/code> 2 \u2192 3.<\/li>\n<li><strong>Set-up nudge on dashboard.<\/strong> A new warning banner appears when the user is on offline mode OR has no image API key configured, with one-click links to the relevant Settings sub-tabs.<\/li>\n<li><strong>Backward compatible.<\/strong> Existing user settings preserved; offline engine still works for anyone who chooses to stay key-free, but is now clearly labelled \"Offline mode \u2014 template engine\".<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li><strong>Fix: duplicated \"Why this matters \/ Key things \/ Common questions\" blocks.<\/strong> The fixer's word-count, density, external-link and internal-link helpers are now idempotent \u2014 calling Fix twice on the same post no longer appends the same content twice. Markers <code>csrm-padding-block<\/code>, <code>csrm-further-reading<\/code>, <code>csrm-related-reading<\/code>, <code>csrm-density-summary<\/code> are used to detect prior runs.<\/li>\n<li><strong>NEW: Keyword-pattern aware practical content.<\/strong> The word-count padding is no longer generic boilerplate. The fixer detects the searcher's intent from the keyword phrase and outputs sections tailored to it:\n\n<ul>\n<li>\"hire \/ freelance X\" \u2192 \"Where to find a X\" + \"What you should actually pay\" (with real rate bands) + \"How to vet\" + \"Red flags\" + \"Your next step\".<\/li>\n<li>\"buy \/ price \/ best X\" \u2192 \"Decide on the use-case first\" + \"Where to compare honestly\" + \"What to ignore\" + \"Buy vs wait check\".<\/li>\n<li>\"how to X\" \u2192 \"Before you start\" + \"Shortest path that works\" + \"Where people get stuck\".<\/li>\n<li>\"what is X\" \u2192 \"Plain-English version\" + \"Why it gets confusing\" + \"How to spot a reliable explainer\".<\/li>\n<li>\"X vs Y\" \u2192 \"Better for what\" + honest scoring framework.<\/li>\n<li>Generic fallback for everything else, still keyword-aware, no boilerplate.<\/li>\n<\/ul><\/li>\n<li><strong>Fix: FAQ section no longer echoes news headlines as both Q and A.<\/strong> Built-in engine now derives clean questions from news headlines (\"Cost?\" \u2192 \"How much does X typically cost?\"), uses real news <em>descriptions<\/em> as answers (not the title), de-duplicates questions, and refuses answers that are just a verbatim source title.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li><strong>NEW: Human-style writer engine.<\/strong> The generator prompt now puts the LLM into a specific writer persona (Journalist \/ Expert Blogger \/ Practitioner \/ Friendly Teacher \/ No-fluff Reviewer) and enforces voice rules: contractions, mixed sentence length, concrete specifics over vague quantifiers, at least two first-person asides, and an explicit BANNED-PHRASES list that strips ~40 of the most common AI-tell phrases (\"delve into\", \"in today's digital landscape\", \"navigate the complexities\", \"tapestry\", \"leverage\", \"synergy\", \"paradigm shift\", \"embark on a journey\", \"in conclusion\" and many more).<\/li>\n<li><strong>NEW: Humanizer post-processor.<\/strong> After generation, every article is run through a humanization pass that swaps any remaining AI-tell phrases, applies natural contractions, varies sentence openings and (optionally) injects short first-person asides into long paragraphs. Three strengths: light, medium (recommended), aggressive.<\/li>\n<li><strong>NEW: Per-post Humanize button<\/strong> on the SEO Optimizer page \u2014 turn any existing post (yours, AI-generated or imported) into a more human-sounding piece in one click. Bulk-humanize is also available. Original content is backed up so you can Revert.<\/li>\n<li><strong>NEW: Author byline + about-author block<\/strong> (E-E-A-T signal). Optional. Configurable name and short bio. Adds \"By &lt;name&gt; \u00b7 Updated &lt;date&gt;\" to the top and an About-author block to the bottom.<\/li>\n<li><strong>NEW: Call-to-action block.<\/strong> Optional styled button at the end of every generated post.<\/li>\n<li><strong>NEW: Audience selector.<\/strong> Set the target audience once; the generator writes vocabulary, examples and reading level for that group.<\/li>\n<li>Built-in Flesch reading-ease scorer (exposed via <code>CSRM_Humanizer::readability()<\/code> and reported after Humanize).<\/li>\n<li>All v1.1 settings preserved \u2014 backward compatible upgrade.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li><strong>Fix: SEO plugin score columns now reflect the optimised score.<\/strong> After <code>Fix<\/code> (or <code>Analyse<\/code>) runs, the score is pushed into Rank Math (<code>rank_math_seo_score<\/code>), Yoast SEO (<code>_yoast_wpseo_linkdex<\/code> + <code>_yoast_wpseo_content_score<\/code>) and All in One SEO (post meta + <code>wp_aioseo_posts.seo_score<\/code> direct table update). The \"N\/A\" badge in posts-list views now flips to the actual number.<\/li>\n<li>When schema is applied, Rank Math's <code>rank_math_rich_snippet<\/code> is set to <code>article<\/code> and Yoast's <code>_yoast_wpseo_schema_article_type<\/code> is set to <code>Article<\/code>, so the \"Schema: Off\" indicator flips to \"Article\".<\/li>\n<li>Posts scoring 90+ get marked as Pillar Content in Rank Math.<\/li>\n<li>SEO Optimizer table now falls back to the existing Rank Math \/ Yoast \/ AIOSEO score when this plugin has not yet analysed the post \u2014 no more empty score column for posts you optimised in the SEO plugin's editor directly.<\/li>\n<li>Score badge in the Optimizer table now colours immediately on first render (green \u226590, amber 60\u201389, red &lt;60).<\/li>\n<\/ul>\n\n<p><h4>1.1.0<\/h4><\/p>\n\n<ul>\n<li><strong>NEW: Business-aware keywords.<\/strong> A new \"Business\" sub-tab in Settings auto-detects what your site is about (site name, top categories, product categories, recent topics) and builds a niche profile. You can also override every field manually (products \/ services, location, target audience). The keyword fetcher then mixes business-relevant seeds straight into the trending pool.<\/li>\n<li><strong>NEW: 100\/100 SEO Optimizer.<\/strong> A new top-level admin page lists posts \/ pages \/ products with their current score and one-click fix buttons. Fixes 19 weighted signals from the Rank Math \/ Yoast \/ AIOSEO content-analysis rules: focus keyword in title (and at start), meta description, slug, intro, subheadings and image alts; keyword density; URL length; word count; external DoFollow + internal links; numbers and power words in title; table of contents injection; long-paragraph splitting; image presence.<\/li>\n<li><strong>NEW: Auto-fix on save.<\/strong> Optional toggle that runs the fixer whenever any supported post is saved.<\/li>\n<li><strong>NEW: Per-post SEO meta backup + Revert button.<\/strong> First fix takes a one-time backup of the original title \/ content \/ slug so you can roll back from the SEO Optimizer page.<\/li>\n<li><strong>NEW: Generator now produces 100\/100 posts.<\/strong> Newly generated articles are automatically passed through the fixer before publish.<\/li>\n<li>Settings \u2192 100\/100 Fixer sub-tab to choose which post types are eligible, target score, batch size, and whether to allow AI for content rewrites.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"The free AI SEO plugin for WordPress: trending keyword research, AI content generator, auto blog scheduler, JSON-LD schema and meta tags \u2014 all in one.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/307665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=307665"}],"author":[{"embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bikaskumar2000"}],"wp:attachment":[{"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=307665"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=307665"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=307665"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=307665"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=307665"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=307665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}