{"id":241870,"date":"2025-08-10T07:35:35","date_gmt":"2025-08-10T07:35:35","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/thinkrank\/"},"modified":"2026-08-25T10:58:13","modified_gmt":"2026-08-25T10:58:13","slug":"thinkrank","status":"publish","type":"plugin","link":"https:\/\/tw.wordpress.org\/plugins\/thinkrank\/","author":15786956,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.2","stable_tag":"2.0.2","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"ThinkRank","header_author":"WPDeveloper","header_description":"AI-native SEO plugin for WordPress. Automate and enhance your SEO with cutting-edge AI while maintaining editorial control.","assets_banners_color":"10141e","last_updated":"2026-08-25 10:58:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/thinkrank.ai\/","header_author_uri":"https:\/\/wpdeveloper.com\/","rating":4.8,"author_block_rating":4.3265306122449,"active_installs":9000,"downloads":53042,"num_ratings":20,"support_threads":3,"support_threads_resolved":3,"author_block_count":21,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"thinkrank","date":"2025-08-10 10:57:25"},"1.0.1":{"tag":"1.0.1","author":"thinkrank","date":"2025-10-15 07:53:40"},"1.0.2":{"tag":"1.0.2","author":"thinkrank","date":"2025-10-30 08:43:02"},"1.1.0":{"tag":"1.1.0","author":"thinkrank","date":"2025-11-23 10:29:22"},"1.10.0":{"tag":"1.10.0","author":"wpdevteam","date":"2026-06-15 09:01:13"},"1.11.0":{"tag":"1.11.0","author":"thinkrank","date":"2026-05-24 10:49:58"},"1.12.0":{"tag":"1.12.0","author":"wpdevteam","date":"2026-06-15 09:01:13"},"1.13.0":{"tag":"1.13.0","author":"wpdevteam","date":"2026-06-16 10:14:14"},"1.14.0":{"tag":"1.14.0","author":"wpdevteam","date":"2026-06-25 12:46:00"},"1.15.0":{"tag":"1.15.0","author":"wpdevteam","date":"2026-07-06 12:53:55"},"1.16.0":{"tag":"1.16.0","author":"wpdevteam","date":"2026-07-09 11:19:59"},"1.16.1":{"tag":"1.16.1","author":"wpdevteam","date":"2026-07-12 15:38:14"},"1.17.0":{"tag":"1.17.0","author":"wpdevteam","date":"2026-07-15 07:14:29"},"1.18.0":{"tag":"1.18.0","author":"wpdevteam","date":"2026-07-16 16:50:48"},"1.19.0":{"tag":"1.19.0","author":"wpdevteam","date":"2026-07-19 12:41:56"},"1.2.0":{"tag":"1.2.0","author":"thinkrank","date":"2025-12-11 13:39:42"},"1.20.0":{"tag":"1.20.0","author":"wpdevteam","date":"2026-07-22 13:23:19"},"1.21.0":{"tag":"1.21.0","author":"wpdevteam","date":"2026-07-26 13:41:42"},"1.22.0":{"tag":"1.22.0","author":"wpdevteam","date":"2026-07-27 18:23:11"},"1.23.0":{"tag":"1.23.0","author":"wpdevteam","date":"2026-07-29 13:49:44"},"1.24.0":{"tag":"1.24.0","author":"wpdevteam","date":"2026-08-02 15:54:56"},"1.25.0":{"tag":"1.25.0","author":"wpdevteam","date":"2026-08-03 13:07:40"},"1.26.0":{"tag":"1.26.0","author":"wpdevteam","date":"2026-08-04 12:23:01"},"1.27.0":{"tag":"1.27.0","author":"wpdevteam","date":"2026-08-06 13:49:00"},"1.28.0":{"tag":"1.28.0","author":"wpdevteam","date":"2026-08-10 13:41:08"},"1.29.0":{"tag":"1.29.0","author":"wpdevteam","date":"2026-08-11 17:22:13"},"1.3.0":{"tag":"1.3.0","author":"thinkrank","date":"2025-12-29 12:11:56"},"1.30.0":{"tag":"1.30.0","author":"wpdevteam","date":"2026-08-13 17:39:38"},"1.31.0":{"tag":"1.31.0","author":"wpdevteam","date":"2026-08-16 15:54:20"},"1.32.0":{"tag":"1.32.0","author":"wpdevteam","date":"2026-08-18 11:15:49"},"1.4.0":{"tag":"1.4.0","author":"thinkrank","date":"2026-01-06 13:43:29"},"1.5.0":{"tag":"1.5.0","author":"thinkrank","date":"2026-01-12 14:07:25"},"1.6.0":{"tag":"1.6.0","author":"thinkrank","date":"2026-02-09 12:19:25"},"1.7.0":{"tag":"1.7.0","author":"thinkrank","date":"2026-02-15 11:55:26"},"1.8.0":{"tag":"1.8.0","author":"thinkrank","date":"2026-03-11 09:30:44"},"1.9.0":{"tag":"1.9.0","author":"thinkrank","date":"2026-03-31 11:46:27"},"2.0.0":{"tag":"2.0.0","author":"wpdevteam","date":"2026-08-20 09:56:04"},"2.0.1":{"tag":"2.0.1","author":"wpdevteam","date":"2026-08-23 17:07:36"},"2.0.2":{"tag":"2.0.2","author":"wpdevteam","date":"2026-08-25 10:58:13"}},"upgrade_notice":{"2.0.2":"<p>Adds a master Enable Schema Markup switch and fixes a large batch of Schema Manager defects: settings saves collapsing four schema types to one, invalid dates dropping Article rich results, FAQ questions emptied on save, and duplicate business identities. Recommended for all sites.<\/p>","2.0.1":"<p>A large correctness release. Settings that saved and then did nothing now take effect, a failed settings load can no longer overwrite what you had stored, and SEO titles and descriptions saved on categories and tags finally render. Fixes double aggregate ratings on WooCommerce products, cart and checkout pages in the sitemap, garbled accented characters in llms.txt on Nginx, paginated archives describing themselves as page 1, and an uninstall that damaged an active Pro install. Also hardens the AI-assistant connection token and object permissions on several REST routes. Recommended for all sites.<\/p>"},"ratings":{"1":1,"2":0,"3":0,"4":0,"5":19},"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3656271,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3610533,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3610533,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.1.0","1.10.0","1.11.0","1.12.0","1.13.0","1.14.0","1.15.0","1.16.0","1.16.1","1.17.0","1.18.0","1.19.0","1.2.0","1.20.0","1.21.0","1.22.0","1.23.0","1.24.0","1.25.0","1.26.0","1.27.0","1.28.0","1.29.0","1.3.0","1.30.0","1.31.0","1.32.0","1.4.0","1.5.0","1.6.0","1.7.0","1.8.0","1.9.0","2.0.0","2.0.1","2.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3618676,"resolution":"1","location":"assets","locale":"","width":2564,"height":1604},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3618676,"resolution":"2","location":"assets","locale":"","width":2564,"height":1604},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3618676,"resolution":"3","location":"assets","locale":"","width":2564,"height":1604},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3618676,"resolution":"4","location":"assets","locale":"","width":2564,"height":1604},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3618676,"resolution":"5","location":"assets","locale":"","width":2564,"height":1604},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3618676,"resolution":"6","location":"assets","locale":"","width":2564,"height":1604},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3618676,"resolution":"7","location":"assets","locale":"","width":2564,"height":1604},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3618676,"resolution":"8","location":"assets","locale":"","width":2564,"height":1604},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3618676,"resolution":"9","location":"assets","locale":"","width":2564,"height":1604}},"screenshots":{"1":"Agentic AI SEO \u2014 connect Claude, ChatGPT, or Cursor to your WordPress SEO with the built-in MCP server.","2":"Your AI assistant generating and updating WordPress SEO metadata in plain language via ThinkRank's MCP tools.","3":"AI Metadata Generator \u2014 SEO title and meta description with a live SERP preview.","4":"SEO content analysis dashboard \u2014 13-factor score, focus keyword, and one-click apply suggestions.","5":"Schema Manager \u2014 choose Article, FAQ, Local Business, or Review schema with validation.","6":"XML Sitemap generator \u2014 Basic, Complete, E-commerce, and Segmented modes with post-type controls.","7":"llms.txt generator \u2014 a maintained Markdown index of your content for AI agents and tools.","8":"Google Search Console &amp; GA4 insights with Core Web Vitals inside WordPress.","9":"AI Content Brief Generator with competitor analysis and content gaps."}},"plugin_section":[262246],"plugin_tags":[236374,46987,1117,186,6358],"plugin_category":[55],"plugin_contributors":[236424,270705,82518,202239,246130,149406],"plugin_business_model":[],"class_list":["post-241870","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-ai-seo","plugin_tags-google-search-console","plugin_tags-schema","plugin_tags-seo","plugin_tags-xml-sitemap","plugin_category-seo-and-marketing","plugin_contributors-mdnahidhasan","plugin_contributors-rafinkhan","plugin_contributors-re_enter_rupok","plugin_contributors-rudlinkon","plugin_contributors-thinkrank","plugin_contributors-wpdevteam","plugin_committers-rafinkhan","plugin_committers-re_enter_rupok","plugin_committers-thinkrank","plugin_committers-wpdevteam"],"banners":{"banner":"https:\/\/ps.w.org\/thinkrank\/assets\/banner-772x250.png?rev=3610533","banner_2x":"https:\/\/ps.w.org\/thinkrank\/assets\/banner-1544x500.png?rev=3610533","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/thinkrank\/assets\/icon-128x128.gif?rev=3656271","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/thinkrank\/assets\/screenshot-1.png?rev=3618676","caption":"Agentic AI SEO \u2014 connect Claude, ChatGPT, or Cursor to your WordPress SEO with the built-in MCP server."},{"src":"https:\/\/ps.w.org\/thinkrank\/assets\/screenshot-2.png?rev=3618676","caption":"Your AI assistant generating and updating WordPress SEO metadata in plain language via ThinkRank's MCP tools."},{"src":"https:\/\/ps.w.org\/thinkrank\/assets\/screenshot-3.png?rev=3618676","caption":"AI Metadata Generator \u2014 SEO title and meta description with a live SERP preview."},{"src":"https:\/\/ps.w.org\/thinkrank\/assets\/screenshot-4.png?rev=3618676","caption":"SEO content analysis dashboard \u2014 13-factor score, focus keyword, and one-click apply suggestions."},{"src":"https:\/\/ps.w.org\/thinkrank\/assets\/screenshot-5.png?rev=3618676","caption":"Schema Manager \u2014 choose Article, FAQ, Local Business, or Review schema with validation."},{"src":"https:\/\/ps.w.org\/thinkrank\/assets\/screenshot-6.png?rev=3618676","caption":"XML Sitemap generator \u2014 Basic, Complete, E-commerce, and Segmented modes with post-type controls."},{"src":"https:\/\/ps.w.org\/thinkrank\/assets\/screenshot-7.png?rev=3618676","caption":"llms.txt generator \u2014 a maintained Markdown index of your content for AI agents and tools."},{"src":"https:\/\/ps.w.org\/thinkrank\/assets\/screenshot-8.png?rev=3618676","caption":"Google Search Console &amp; GA4 insights with Core Web Vitals inside WordPress."},{"src":"https:\/\/ps.w.org\/thinkrank\/assets\/screenshot-9.png?rev=3618676","caption":"AI Content Brief Generator with competitor analysis and content gaps."}],"raw_content":"<!--section=description-->\n<p><strong><a href=\"https:\/\/thinkrank.ai\/\">ThinkRank<\/a> is the AI SEO plugin for WordPress that your AI assistant can operate.<\/strong> Ask Claude, ChatGPT, or Cursor to write metadata, audit posts, fix schema, and run bulk SEO work on your site \u2014 in plain language, from the chat window you already use. Underneath sits a complete SEO plugin: meta tags (SEO titles and meta descriptions), real-time on-page content analysis, keyword optimization, schema markup and structured data, XML sitemaps, robots meta, canonical URLs, Open Graph and Twitter Cards, Local SEO, llms.txt, and Google Search Console + GA4 insights \u2014 built for Google and for AI search (AEO and GEO) alike.<\/p>\n\n<p>Two things make ThinkRank different, and both are checkable:<\/p>\n\n<ul>\n<li><strong>Your assistant runs it directly.<\/strong> ThinkRank ships a built-in connection for AI assistants (a self-hosted MCP server) \u2014 no companion plugin, no terminal. No other WordPress SEO plugin ships one.<\/li>\n<li><strong>Every AI feature is included, with no credit meter.<\/strong> You bring your own API key (OpenAI, Claude, Gemini, OpenRouter), so there are no monthly AI credits to buy, meter, or watch expire \u2014 in free and in Pro alike.<\/li>\n<\/ul>\n\n<p>Switching? The Setup Wizard <strong>imports your data from Yoast SEO, Rank Math, AIOSEO, and SEOPress<\/strong> and takes over cleanly \u2014 details below.<\/p>\n\n<p>It works where you already build: <strong>Gutenberg, Elementor, Divi, Oxygen\/Breakdance, and the Classic Editor<\/strong> \u2014 and on multilingual sites running <strong>WPML, Polylang or TranslatePress<\/strong>.<\/p>\n\n<h4>Watch: SEO in the Assistant Era<\/h4>\n\n<p>SEO creator Tin Rovic on how AI assistants and answer engines are changing day-to-day SEO work:<\/p>\n\n<p>https:\/\/youtu.be\/TEzfS2dAMC8<\/p>\n\n<h4>Run Your SEO From a Chat Window \u2014 Claude, ChatGPT and Cursor<\/h4>\n\n<p>ThinkRank ships a self-contained <strong>Model Context Protocol (MCP) server<\/strong> built right into the plugin \u2014 no companion plugin, no external libraries, no terminal. It turns your AI assistant into an <strong>SEO operator, not just an SEO copywriter<\/strong>.<\/p>\n\n<ul>\n<li><strong>Connect Claude, ChatGPT, Cursor<\/strong> or any MCP-compatible AI assistant to your WordPress site.<\/li>\n<li><strong>Ask for SEO in plain language:<\/strong>\n\n<ul>\n<li>\"Write an SEO title and meta description for this post.\"<\/li>\n<li>\"Which posts are missing SEO metadata?\"<\/li>\n<li>\"Add FAQ schema to this page.\"<\/li>\n<li>\"Generate an llms.txt file for my website.\"<\/li>\n<li>\"Review this page and suggest on-page SEO improvements.\"<\/li>\n<li>\"Check Search Console opportunities for pages with high impressions and low CTR.\"<\/li>\n<\/ul><\/li>\n<li><strong>35+ SEO tools<\/strong> exposed to your assistant \u2014 metadata, schema, site identity, sitemaps, robots.txt &amp; robots meta, image SEO, social meta, instant indexing, llms.txt, SEO scores, insights and opportunities.<\/li>\n<li><strong>Connection health check<\/strong> \u2014 a \"Test connection\" button makes a real call and tells you exactly which step failed.<\/li>\n<li><strong>Safe imports<\/strong> \u2014 connected assistants can preview an SEO import as a dry run before anything is written.<\/li>\n<\/ul>\n\n<h4>Easy Claude, ChatGPT, Cursor and MCP Client Setup<\/h4>\n\n<ul>\n<li><strong>One-click Claude connection<\/strong> via a guided OAuth 2.1 flow with PKCE \u2014 no API key to copy, no config file.<\/li>\n<li><strong>Application Password fallback<\/strong> for ChatGPT, Cursor, and other MCP-compatible clients, with ready-made configuration details.<\/li>\n<li><strong>Admin-controlled, off by default, revocable in one click<\/strong> \u2014 enable it under ThinkRank \u2192 MCP when you're ready; delete the connected Application Password and access ends immediately.<\/li>\n<\/ul>\n\n<h4>Migrate from Rank Math, Yoast SEO, AIOSEO or SEOPress<\/h4>\n\n<p>A guided Setup Wizard detects your current SEO plugin and imports your metadata, schema settings, sitemap settings, image SEO data, templates, and related SEO settings from <strong>Rank Math SEO, Yoast SEO, All in One SEO (AIOSEO), and SEOPress<\/strong> \u2014 then deactivates the old plugin once its data is safely migrated.<\/p>\n\n<p>The importers go well past basic post meta: title formats, Knowledge Graph identity, author archive and role settings, IndexNow keys and history, sitemap exclusions, breadcrumbs, social defaults, News\/Video sitemap post types and local business details all carry over.<\/p>\n\n<p>Looking for a <strong>Rank Math, Yoast SEO, AIOSEO or SEOPress alternative<\/strong> because of upsell notices, metered AI credits or per-site pricing? This migration path is built for exactly that switch.<\/p>\n\n<h4>AI SEO Metadata Generator: Meta Tags, SEO Titles and Meta Descriptions<\/h4>\n\n<ul>\n<li>Generate SEO title suggestions for posts, pages, products, and custom post types.<\/li>\n<li>AI meta descriptions written for search snippets and click-through rate.<\/li>\n<li>Live SERP preview before you publish.<\/li>\n<li>Apply suggestions with one click \u2014 no copy-pasting.<\/li>\n<li>Fully editable fields with manual override.<\/li>\n<\/ul>\n\n<h4>SEO Content Analysis, Focus Keywords and Keyword Optimization<\/h4>\n\n<ul>\n<li>Real-time on-page SEO content analysis with a 13-factor SEO score.<\/li>\n<li>Focus keyword tracking and usage (up to 5 keywords per post) with cannibalization warnings.<\/li>\n<li>Actionable recommendations for title, meta description, headings, links, readability, and structure.<\/li>\n<li>One-click \"Apply\" for AI-suggested fixes \u2014 not just generic advice.<\/li>\n<li><strong>\"Explain with AI\"<\/strong> on any suggestion \u2014 a short, post-specific explanation of why it matters and how to fix it.<\/li>\n<li><strong>Bulk SEO Optimization<\/strong> \u2014 review and fix titles, descriptions, and keywords across many posts from one screen.<\/li>\n<\/ul>\n\n<h4>Site SEO Analyzer \u2014 a Whole-Site Audit With No Google Connection<\/h4>\n\n<ul>\n<li>A crawl-free, whole-site SEO audit with a <strong>0\u2013100 score and letter grade<\/strong>.<\/li>\n<li>Checks across <strong>Basic SEO, Advanced SEO, Content, Performance &amp; Technical, and Security<\/strong>.<\/li>\n<li>Per-category results with \"how to fix\" guidance, plus deep links straight to the relevant setting.<\/li>\n<li>Runs without connecting Google \u2014 useful on staging, new sites, and client audits.<\/li>\n<\/ul>\n\n<h4>Schema Markup and Structured Data for Rich Snippets<\/h4>\n\n<p>Output valid JSON-LD structured data so search engines can show rich results:<\/p>\n\n<ul>\n<li>Organization, Website, Article, FAQ, HowTo, VideoObject, Review, Local Business, and Breadcrumb schema.<\/li>\n<li>Out-of-the-box schema on posts, pages, CPTs, archives, and the homepage.<\/li>\n<li><strong>Import Schema From Any Website<\/strong> to clone a competitor's structured data as a starting point.<\/li>\n<li>Deployment validation to catch structured-data errors before they reach Search Console.<\/li>\n<\/ul>\n\n<h4>SEO Blocks: FAQ, HowTo and Table of Contents<\/h4>\n\n<ul>\n<li><strong>FAQ block<\/strong> \u2014 inline Q&amp;A rendered as an accordion that works with <strong>no JavaScript<\/strong>, and outputs FAQPage structured data automatically.<\/li>\n<li><strong>HowTo block<\/strong> \u2014 step-by-step instructions with per-step images and total time, with automatic HowTo schema.<\/li>\n<li><strong>Table of Contents block<\/strong> \u2014 builds its list live from your headings, adds anchor links that work without JavaScript, and emits SiteNavigationElement schema.<\/li>\n<li><strong>Elementor widgets<\/strong> for all three, so Elementor-built pages get the same content patterns and structured data as Gutenberg.<\/li>\n<\/ul>\n\n<h4>Works With Every Page Builder<\/h4>\n\n<p>Page builders store their content outside <code>post_content<\/code>, which is why SEO plugins often report a 1,500-word page as empty. ThinkRank reads each builder's own stored content, so scoring, bulk optimization, the post-list SEO column, cron reports, and AI assistants all see the real words on the page.<\/p>\n\n<ul>\n<li><strong>Gutenberg \/ Block Editor<\/strong> \u2014 a pinned \"Configure SEO\" launcher in the editor header with a live SEO score badge.<\/li>\n<li><strong>Elementor<\/strong> \u2014 edit ThinkRank SEO fields without leaving the Elementor editor.<\/li>\n<li><strong>Divi<\/strong> \u2014 a ThinkRank button in the Divi Visual Builder page bar opens the full SEO panel over the canvas.<\/li>\n<li><strong>Oxygen \/ Breakdance<\/strong> \u2014 a floating launcher inside the builder opens the same SEO panel, with content read straight from the builder's node tree.<\/li>\n<li><strong>Classic Editor<\/strong> \u2014 the full ThinkRank metabox with a bottom drawer and live SEO pattern previews.<\/li>\n<\/ul>\n\n<h4>Multilingual SEO for WPML, Polylang and TranslatePress<\/h4>\n\n<ul>\n<li><strong>SEO fields in the WPML Translation Editor<\/strong> \u2014 SEO title, meta description, social titles\/descriptions, and focus keyword are exposed as translatable strings, so translators no longer need to open every language by hand.<\/li>\n<li><strong>Correct <code>og:locale<\/code> and <code>og:locale:alternate<\/code><\/strong> \u2014 each translated page advertises its own language and links to its alternates for social crawlers.<\/li>\n<li><strong>hreflang without duplicates<\/strong> \u2014 ThinkRank emits hreflang tags <strong>only<\/strong> when WPML or Polylang isn't already printing them, so you never end up with two competing sets.<\/li>\n<li><strong>Language-aware XML sitemaps<\/strong> \u2014 the sitemap covers every language, instead of only the one that was active when it was generated.<\/li>\n<li>Detected automatically, and completely inactive on monolingual sites.<\/li>\n<\/ul>\n\n<h4>XML Sitemap Generator and Indexing Tools<\/h4>\n\n<ul>\n<li>Multiple sitemap modes: Basic, Complete, E-commerce, and Segmented.<\/li>\n<li>Real sitemap index with paginated child sitemaps, automatic splitting of oversized sitemaps, and per-post-type controls.<\/li>\n<li>Memory-efficient generation that stays fast on large sites.<\/li>\n<li>AI-optimized robots.txt with automatic sitemap discovery.<\/li>\n<li><strong>Instant Indexing<\/strong> \u2014 submit new and updated URLs straight to search engines (IndexNow) for faster indexing, in the background via WP-Cron.<\/li>\n<\/ul>\n\n<h4>llms.txt Generator<\/h4>\n\n<ul>\n<li>Generate and maintain an llms.txt file \u2014 a Markdown index of your important content that AI coding agents and agentic tools read by convention.<\/li>\n<li>Straight talk, because you deserve a vendor that gives it: Google has stated llms.txt does not affect Google Search or AI Overviews, and no reliable evidence ties the file to AI citations. We ship it as useful infrastructure for AI tooling, not as a ranking lever.<\/li>\n<li>Auto-regenerates as your content changes, with full control over what's included.<\/li>\n<\/ul>\n\n<h4>Built for AI Search: AEO and GEO<\/h4>\n\n<p><strong>Answer Engine Optimization (AEO)<\/strong> is being the answer ChatGPT, Perplexity, Gemini, Claude and Google AI Overviews give; <strong>Generative Engine Optimization (GEO)<\/strong> is being the source they cite. ThinkRank ships the groundwork both depend on \u2014 no unverifiable ranking claims:<\/p>\n\n<ul>\n<li><strong>Structured data AI systems can parse<\/strong> \u2014 Organization, Article, FAQ, HowTo, Product, Local Business and breadcrumb schema, validated before output.<\/li>\n<li><strong>Consistent on-page signals<\/strong> \u2014 meta titles and descriptions, canonical URLs, robots directives and Open Graph that agree everywhere, so answer engines read the page as you intend.<\/li>\n<li><strong>llms.txt<\/strong> \u2014 a maintained Markdown index of your key content for AI agents.<\/li>\n<li><strong>An AI assistant in the loop<\/strong> \u2014 over MCP, ask Claude or ChatGPT to review a page the way an answer engine reads it and apply the fixes from the same chat.<\/li>\n<\/ul>\n\n<h4>Google Search Console, GA4 and SEO Insights<\/h4>\n\n<ul>\n<li>Google Search Console: clicks, impressions, queries, and keyword opportunities inside WordPress.<\/li>\n<li><strong>Website Insights dashboard widget<\/strong> \u2014 your last 30 days of Search Console traffic, top queries, and headline metrics right on the WordPress dashboard.<\/li>\n<li>Google Analytics 4: traffic and organic performance.<\/li>\n<li>PageSpeed Insights and Core Web Vitals monitoring.<\/li>\n<li>AI-powered, natural-language explanations, trends, and scheduled email SEO reports.<\/li>\n<\/ul>\n\n<h4>On-Page &amp; Technical SEO: Robots Meta, Canonical URLs, Robots.txt, Breadcrumbs<\/h4>\n\n<ul>\n<li>Canonical URL controls to manage duplicate-content signals.<\/li>\n<li>Robots meta settings (noindex, nofollow) per post and globally.<\/li>\n<li>Robots.txt management with sitemap linking, kept in sync with the live file.<\/li>\n<li>Schema-enabled breadcrumb navigation, with context-aware titles and an optional border.<\/li>\n<li>Site identity and title-format management, including Tag and Archive title formats with context-aware variable buttons.<\/li>\n<\/ul>\n\n<h4>Open Graph, Twitter Cards and Social Media Previews<\/h4>\n\n<ul>\n<li>Open Graph metadata, social titles, and descriptions for every social media share.<\/li>\n<li>Twitter Cards (X) support.<\/li>\n<li>Facebook, LinkedIn, and Pinterest previews with real-time editing.<\/li>\n<li>Social profile fields validated before they're published as verification tags.<\/li>\n<\/ul>\n\n<h4>AI Content Brief Generator<\/h4>\n\n<ul>\n<li>Generate a full content brief \u2014 outline, headings, entities, and content gaps \u2014 from a target keyword.<\/li>\n<li>Competitor analysis so you can see what's already ranking.<\/li>\n<li>Generate a <strong>complete article draft<\/strong>, not just an outline, in a tabbed layout.<\/li>\n<li>Save briefs and export them in multiple formats.<\/li>\n<\/ul>\n\n<h4>Image SEO, Local SEO &amp; WooCommerce<\/h4>\n\n<ul>\n<li><strong>Image SEO<\/strong> \u2014 automated alt text written to the Media Library record itself, so it works everywhere (not just in rendered content). Bulk-fill every image missing alt text, auto-fill new uploads, and optionally overwrite existing alt text.<\/li>\n<li><strong>Local SEO<\/strong> \u2014 business information, opening hours, location data, Local Business schema, and a local sitemap.<\/li>\n<li><strong>WooCommerce<\/strong> \u2014 product metadata and E-commerce sitemap support (advanced product SEO is available in ThinkRank Pro).<\/li>\n<\/ul>\n\n<h4>Role Manager: Team and Client Access Control<\/h4>\n\n<ul>\n<li>Control which roles can access Essential SEO, AI Tools, and Settings areas.<\/li>\n<li>A role \u00d7 capability matrix, so editors, authors, contributors, and custom roles get exactly the SEO access you intend.<\/li>\n<li>Access rules are enforced on the REST API too, not just hidden in the menu.<\/li>\n<\/ul>\n\n<h4>Bring Your Own AI Provider Key<\/h4>\n\n<p>ThinkRank works with <strong>OpenAI, Anthropic Claude, Google Gemini, OpenRouter, and compatible custom endpoints<\/strong> \u2014 you bring your own key, so you keep direct control over model selection, cost, and privacy.<\/p>\n\n<ul>\n<li><strong>No AI key needed for:<\/strong> metadata, schema, XML sitemaps, robots meta, canonical URLs, breadcrumbs, Open Graph, Search Console\/GA4, the Site SEO Analyzer, multilingual output and page-builder integrations.<\/li>\n<li><strong>AI key required for:<\/strong> AI metadata generation, content briefs, AI insights, \"Explain with AI\", and the generative MCP tools.<\/li>\n<\/ul>\n\n<h4>ThinkRank Pro<\/h4>\n\n<p>Upgrade to <strong>ThinkRank Pro<\/strong> for advanced, agentic-ready SEO automation:<\/p>\n\n<ul>\n<li><strong>Redirect Manager &amp; 404 Monitor<\/strong> \u2014 create and manage redirects (301\/302\/307\/308\/410\/451) and log 404s with one-click \"create redirect from 404\".<\/li>\n<li><strong>AI Internal Linking<\/strong> \u2014 relevance-ranked internal-link suggestions with one-click insertion, in bulk by post type.<\/li>\n<li><strong>Broken Link Checker<\/strong> \u2014 scan content, verify links, and fix, unlink, or dismiss broken URLs.<\/li>\n<li><strong>Rank Tracker<\/strong> \u2014 track keyword positions over time with daily Search Console snapshots and per-keyword history charts.<\/li>\n<li><strong>Custom Schema &amp; Display Conditions<\/strong> \u2014 add any JSON-LD schema type and control exactly where it outputs, with live validation.<\/li>\n<li><strong>Advanced WooCommerce SEO<\/strong> \u2014 product identifiers (GTIN\/MPN\/ISBN), variation offers, and product Open Graph.<\/li>\n<li><strong>Multi-location Local SEO<\/strong> \u2014 a locations table, per-location LocalBusiness schema, and the <code>[thinkrank_locations]<\/code> shortcode.<\/li>\n<li><strong>Publisher Sitemaps<\/strong> \u2014 News and Video sitemaps \u2014 plus additional focus keywords.<\/li>\n<li><strong>Advanced Analytics<\/strong> \u2014 GA4 users overview, traffic channels, top content, and URL index status inside WordPress.<\/li>\n<li>Pro features are exposed to connected AI assistants through the MCP server too.<\/li>\n<\/ul>\n\n<h4>Perfect For<\/h4>\n\n<ul>\n<li>WordPress site owners who want AI-powered SEO<\/li>\n<li>Bloggers and publishers producing content at scale<\/li>\n<li>SEO professionals and agencies managing client sites<\/li>\n<li>WooCommerce stores and local businesses<\/li>\n<li>Elementor, Divi, and Oxygen\/Breakdance site builders<\/li>\n<li>Multilingual sites running WPML or Polylang<\/li>\n<li>Content teams, developers, and teams that run their work through an AI assistant<\/li>\n<li>Publishers who want to show up in AI answers and citations (AEO and GEO)<\/li>\n<\/ul>\n\n<h4>Why Choose ThinkRank?<\/h4>\n\n<ul>\n<li>The only WordPress SEO plugin your AI assistant can operate directly (built-in MCP server)<\/li>\n<li>Every AI feature included at a flat price \u2014 your own API key, no monthly credit meter<\/li>\n<li>Real on-page and technical SEO \u2014 not just an AI writer<\/li>\n<li>A whole-site SEO Analyzer that needs no Google connection<\/li>\n<li>Accurate scoring on Elementor, Divi, and Oxygen\/Breakdance pages<\/li>\n<li>WPML and Polylang support with correct hreflang and per-language sitemaps<\/li>\n<li>Schema markup and structured data for rich snippets, plus FAQ\/HowTo\/TOC blocks<\/li>\n<li>XML sitemap generator, robots.txt, instant indexing, and llms.txt<\/li>\n<li>AEO and GEO groundwork \u2014 structured data, clean on-page signals and llms.txt for ChatGPT, Perplexity, Gemini and AI Overviews<\/li>\n<li>One-click migration from Rank Math, Yoast, AIOSEO, and SEOPress<\/li>\n<\/ul>\n\n<!--section=installation-->\n<p><strong>Minimum Requirements<\/strong>\n* WordPress 6.0 or higher\n* PHP 7.4 or higher\n* An OpenAI, Anthropic Claude, Google Gemini, or OpenRouter API key (for AI-powered features)<\/p>\n\n<p><strong>Automatic Installation<\/strong>\n1. Go to Plugins \u2192 Add New in your WordPress admin.\n2. Search for \"ThinkRank\".\n3. Click \"Install Now\", then \"Activate\".\n4. Run the ThinkRank Setup Wizard.<\/p>\n\n<p><strong>Setup Workflow<\/strong>\n1. Open the ThinkRank Setup Wizard.\n2. Import existing SEO data from Rank Math, Yoast SEO, AIOSEO, or SEOPress if needed.\n3. Choose your AI provider and enter your API key for AI features.\n4. Configure metadata, schema, XML sitemaps, robots meta, canonical URLs, social meta, Search Console, GA4, and llms.txt.\n5. (Optional) Enable the MCP server under ThinkRank \u2192 MCP and connect Claude, ChatGPT, or Cursor.<\/p>\n\n<p><strong>Connect the MCP Server<\/strong>\n* <em>Claude:<\/em> enable the MCP server, copy your site's MCP URL, add it in Claude, and approve the connection through the guided OAuth 2.1 flow \u2014 no manual API key required.\n* <em>ChatGPT, Cursor &amp; other MCP clients:<\/em> use the Application Password fallback and the ready-made configuration details ThinkRank provides.<\/p>\n\n<p><strong>Getting API Keys<\/strong>\n* OpenAI: https:\/\/platform.openai.com\/api-keys\n* Anthropic Claude: https:\/\/console.anthropic.com\/\n* Google Gemini: https:\/\/ai.google.dev\/gemini-api\/docs\/api-key\n* OpenRouter: https:\/\/openrouter.ai\/<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20thinkrank%3F\"><h3>What is ThinkRank?<\/h3><\/dt>\n<dd><p>ThinkRank is an AI SEO plugin for WordPress that helps manage metadata, on-page SEO, technical SEO, schema markup, XML sitemaps, robots meta, canonical URLs, Open Graph social meta, Google Search Console insights, GA4 analytics, llms.txt, and AI-powered SEO recommendations. It also includes a built-in MCP server so AI assistants like Claude, ChatGPT, and Cursor can help run SEO tasks in plain language.<\/p><\/dd>\n<dt id=\"what%20is%20the%20thinkrank%20mcp%20server%3F\"><h3>What is the ThinkRank MCP server?<\/h3><\/dt>\n<dd><p>The ThinkRank MCP server is a built-in Model Context Protocol server that lets compatible AI assistants connect to your WordPress site and work with ThinkRank's SEO tools. After authorization, your AI assistant can help generate metadata, review SEO opportunities, work with schema, manage llms.txt, inspect SEO scores, and guide optimization workflows \u2014 without constant dashboard switching.<\/p><\/dd>\n<dt id=\"how%20do%20i%20connect%20thinkrank%20to%20claude%3F\"><h3>How do I connect ThinkRank to Claude?<\/h3><\/dt>\n<dd><p>Enable the MCP server in ThinkRank, copy your site's MCP URL, add it to Claude, and approve the connection through the guided authorization flow. ThinkRank uses an OAuth 2.1 flow with PKCE protection, so you don't need to manually copy API keys into Claude for the standard connection.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20work%20with%20chatgpt%2C%20cursor%20and%20other%20mcp%20clients%3F\"><h3>Does ThinkRank work with ChatGPT, Cursor and other MCP clients?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank is designed for MCP-compatible clients. Claude has a guided one-click-style setup, and ChatGPT, Cursor, and other compatible tools can connect using the Application Password fallback and ready-made configuration details provided by ThinkRank.<\/p><\/dd>\n<dt id=\"is%20the%20mcp%20connection%20secure%3F\"><h3>Is the MCP connection secure?<\/h3><\/dt>\n<dd><p>Yes. The MCP server is off by default, admin-controlled, and designed for authorized users only. Connections are tied to WordPress authorization and Application Passwords. If you delete the connected Application Password, access is revoked immediately.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20work%20with%20elementor%2C%20divi%20and%20oxygen%3F\"><h3>Does ThinkRank work with Elementor, Divi and Oxygen?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank adds a native SEO panel inside the Elementor editor, the Divi Visual Builder, and the Oxygen\/Breakdance builder, alongside the Gutenberg launcher and the Classic Editor metabox. Just as importantly, ThinkRank reads the content those builders store outside <code>post_content<\/code>, so SEO scoring, bulk optimization, the post-list SEO column, and AI assistants analyze the real page content instead of reporting a builder page as empty.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20support%20wpml%2C%20polylang%20and%20translatepress%3F\"><h3>Does ThinkRank support WPML, Polylang and TranslatePress?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank detects WPML and Polylang automatically. SEO fields appear in the WPML Translation Editor, each translated page advertises its own <code>og:locale<\/code> and links to its alternates, XML sitemaps cover every language, and hreflang tags are only added when your multilingual plugin isn't already printing them \u2014 so you don't end up with two competing sets. On monolingual sites the integration stays completely inactive.<\/p><\/dd>\n<dt id=\"what%20is%20the%20site%20seo%20analyzer%3F\"><h3>What is the Site SEO Analyzer?<\/h3><\/dt>\n<dd><p>The Site SEO Analyzer is a crawl-free, whole-site audit that gives your site a 0\u2013100 score and a letter grade without requiring a Google connection. It runs checks across Basic SEO, Advanced SEO, Content, Performance &amp; Technical, and Security, and shows per-category results with \"how to fix\" guidance that deep-links to the relevant setting.<\/p><\/dd>\n<dt id=\"can%20i%20control%20which%20team%20members%20access%20thinkrank%3F\"><h3>Can I control which team members access ThinkRank?<\/h3><\/dt>\n<dd><p>Yes. The Role Manager lets you decide which roles can access Essential SEO, AI Tools, and Settings, using a role \u00d7 capability matrix. The rules are enforced on ThinkRank's REST API as well as in the admin menu, so access is genuinely restricted rather than just hidden.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20ai%20api%20key%20to%20use%20thinkrank%3F\"><h3>Do I need an AI API key to use ThinkRank?<\/h3><\/dt>\n<dd><p>You don't need an AI key for every core SEO feature. Metadata fields, schema controls, XML sitemaps, robots meta, canonical URLs, breadcrumbs, Open Graph, the Site SEO Analyzer, multilingual output, page-builder integrations, and Search Console\/GA4 connections work without AI generation. AI-powered features \u2014 AI metadata generation, content briefs, AI insights, and generative MCP tools \u2014 require your own OpenAI, Claude, Gemini, OpenRouter, or compatible provider key.<\/p><\/dd>\n<dt id=\"which%20ai%20providers%20and%20models%20does%20thinkrank%20support%3F\"><h3>Which AI providers and models does ThinkRank support?<\/h3><\/dt>\n<dd><p>ThinkRank supports OpenAI, Anthropic Claude, Google Gemini, OpenRouter, and compatible custom endpoints. Model availability depends on your provider account and configured API key.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20generate%20seo%20titles%20and%20meta%20descriptions%3F\"><h3>Does ThinkRank generate SEO titles and meta descriptions?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank can generate SEO titles and meta descriptions with AI and lets you edit them before publishing, across posts, pages, products, and supported custom post types.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20include%20seo%20content%20analysis%20and%20focus%20keywords%3F\"><h3>Does ThinkRank include SEO content analysis and focus keywords?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank includes real-time SEO content analysis and focus keyword optimization so you can see how well your content targets important search terms and improve title, description, headings, structure, and keyword usage before publishing.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20generate%20schema%20markup%3F\"><h3>Does ThinkRank generate schema markup?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank generates JSON-LD schema markup and structured data for Organization, Website, Article, FAQ, HowTo, VideoObject, Review, Local Business, and Breadcrumb schema, and includes Gutenberg blocks for FAQ, HowTo, and Table of Contents that output FAQPage, HowTo, and SiteNavigationElement structured data. Schema markup helps search engines understand your content and can support rich snippets.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20create%20xml%20sitemaps%3F\"><h3>Does ThinkRank create XML sitemaps?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank includes an XML sitemap generator with Basic, Complete, E-commerce, and Segmented modes, plus a real sitemap index with paginated child sitemaps, controls for post types, and sitemap discovery through robots.txt.<\/p><\/dd>\n<dt id=\"what%20is%20llms.txt%20and%20why%20does%20thinkrank%20support%20it%3F\"><h3>What is llms.txt and why does ThinkRank support it?<\/h3><\/dt>\n<dd><p>llms.txt is an emerging convention: a Markdown index of your important content, kept at a fixed URL, that AI coding agents and agentic tools read to discover site content. ThinkRank generates and maintains it automatically. To be straight with you: Google has said llms.txt does not affect Google Search or AI Overviews, and we don't claim it earns AI citations \u2014 it is useful infrastructure for AI tooling, and that is the claim we stand behind.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20work%20with%20google%20search%20console%20and%20ga4%3F\"><h3>Does ThinkRank work with Google Search Console and GA4?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank connects with Google Search Console to show clicks, impressions, queries, and keyword opportunities inside WordPress \u2014 including a dashboard widget with your last 30 days of traffic \u2014 and supports GA4 for traffic and organic-performance insights.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20support%20open%20graph%2C%20canonical%20urls%20and%20noindex%3F\"><h3>Does ThinkRank support Open Graph, canonical URLs and noindex?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank includes Open Graph and social meta controls for Facebook, LinkedIn, Pinterest, and X\/Twitter, plus canonical URL controls and robots meta settings such as noindex and nofollow.<\/p><\/dd>\n<dt id=\"is%20thinkrank%20a%20yoast%2C%20rank%20math%2C%20aioseo%20or%20seopress%20alternative%3F\"><h3>Is ThinkRank a Yoast, Rank Math, AIOSEO or SEOPress alternative?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank covers the core SEO those plugins cover \u2014 metadata, schema, XML sitemaps, robots meta, canonical URLs, Search Console and GA4 insights \u2014 plus two things they don't sell at any price: an AI-assistant connection that operates the plugin directly, and AI features at a flat price with your own key instead of metered credits. The Setup Wizard imports your existing Rank Math, Yoast, AIOSEO, or SEOPress data and can deactivate the old plugin once migration completes.<\/p><\/dd>\n<dt id=\"can%20i%20migrate%20from%20aioseo%20or%20seopress%3F\"><h3>Can I migrate from AIOSEO or SEOPress?<\/h3><\/dt>\n<dd><p>Yes. ThinkRank's Setup Wizard imports supported SEO data from All in One SEO (AIOSEO) and SEOPress, along with Rank Math and Yoast SEO \u2014 including title formats, Knowledge Graph details, role permissions, author archive settings, IndexNow keys, breadcrumb settings, and social defaults.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20include%20a%20redirect%20manager%2C%20404%20monitor%2C%20or%20internal%20linking%3F\"><h3>Does ThinkRank include a redirect manager, 404 monitor, or internal linking?<\/h3><\/dt>\n<dd><p>Redirect management, 404 monitoring, the broken link checker, and AI internal linking are available in ThinkRank Pro. The free plugin shows these sections with an option to upgrade.<\/p><\/dd>\n<dt id=\"does%20thinkrank%20help%20with%20woocommerce%20and%20local%20seo%3F\"><h3>Does ThinkRank help with WooCommerce and Local SEO?<\/h3><\/dt>\n<dd><p>Yes. The free plugin supports product metadata, an E-commerce sitemap mode, Local Business schema, business information, and a local sitemap. Advanced WooCommerce product SEO and multi-location Local SEO are available in ThinkRank Pro.<\/p><\/dd>\n<dt id=\"will%20thinkrank%20conflict%20with%20my%20current%20seo%20plugin%3F\"><h3>Will ThinkRank conflict with my current SEO plugin?<\/h3><\/dt>\n<dd><p>For best results, use only one primary SEO plugin at a time \u2014 running two can create duplicate meta tags, duplicate schema, conflicting robots meta, and sitemap confusion. ThinkRank's migration workflow imports supported data and can deactivate the previous SEO plugin when migration is complete.<\/p><\/dd>\n<dt id=\"is%20thinkrank%20free%3F\"><h3>Is ThinkRank free?<\/h3><\/dt>\n<dd><p>Yes, ThinkRank is a free WordPress SEO plugin with bring-your-own-key AI features \u2014 your AI provider usage is billed by the provider you choose, giving you direct control over model, cost, and privacy. There are no ThinkRank AI credits to buy and no monthly meter, in free or in Pro. ThinkRank Pro adds advanced automation such as the redirect manager, 404 monitor, internal linking, and rank tracker.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.2<\/h4>\n\n<p>Release Date: 2026-08-25<\/p>\n\n<ul>\n<li>New: A master Enable Schema Markup switch in Schema Manager. While it is off, the Organization, Website and Person forms stay read-only with a notice explaining why, and no structured data is published<\/li>\n<li>Changed: Picking an image is now the same compact control everywhere \u2014 the post Social tab, Hero &amp; Branding, and the setup wizard<\/li>\n<li>Fixed: Saving Schema Manager settings left a single schema type live even when four were enabled and configured<\/li>\n<li>Fixed: Turning Knowledge Graph or Auto-Generate Schema off had no effect \u2014 both stayed on<\/li>\n<li>Fixed: Opening a post's schema screen rewrote what you had deployed and published types you never chose<\/li>\n<li>Fixed: Switching a post's schema type left the old type published beside the new one<\/li>\n<li>Fixed: Structured data carried dates in a format Google reports as invalid, which drops the Article rich result<\/li>\n<li>Fixed: The site language was published as en_US where search engines expect en-US<\/li>\n<li>Fixed: Empty titles, descriptions and image dimensions were published as blank values instead of being left out, which fails validation harder than their absence<\/li>\n<li>Fixed: Your business and your personal profile were given a new identity on every address, so one business looked like many to a crawler<\/li>\n<li>Fixed: A page could carry two breadcrumb trails<\/li>\n<li>Fixed: FAQ questions and HowTo steps typed in the editor were emptied when saved, so FAQ schema could never be deployed<\/li>\n<li>Fixed: Schema deployed while a post was still a draft advertised the draft's temporary address forever<\/li>\n<li>Fixed: Importing schema from a URL missed the layout Yoast and Rank Math publish, and an entry with more than one type was rejected<\/li>\n<li>Fixed: Review and Video schema were offered in the editor and then rejected on save<\/li>\n<li>Fixed: The Person \"Profile URLs\" box would not take a second URL \u2014 the new line was erased as it was typed<\/li>\n<li>Fixed: One schema type failing validation took every valid type down with it on each save<\/li>\n<li>Fixed: A role granted schema access was locked out of deploying and of every site-wide schema screen<\/li>\n<li>Fixed: Schema Cache Duration was saved and then never applied<\/li>\n<li>Fixed: WooCommerce shop archives got no schema at all<\/li>\n<li>Fixed: Repeated settings saves made each save slower than the last, up to hundreds of extra database queries<\/li>\n<li>Fixed: The editor's schema preview showed raw stored data after a reload, and deleting one saved schema could overwrite another<\/li>\n<li>Fixed: An AI provider declining a request was retried, doubling the cost of a request that was never going to succeed<\/li>\n<li>Fixed: An AI assistant sending an unexpected field to ThinkRank got a server error instead of a clear message<\/li>\n<li>Fixed: The WordPress admin menu's fly-out panels were cut off at the bottom of the screen when opened from a low menu item such as Settings or Tools<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<p>Release Date: 2026-08-23<\/p>\n\n<ul>\n<li>New: A Delivery Method setting for your llms.txt file \u2014 automatic, a static file in the site root, or served by WordPress. On Nginx the web server sends the file without naming its character set, which turns accented letters and curly quotes into mojibake; served by WordPress it always arrives as UTF-8. Automatic picks the right one for your server<\/li>\n<li>New: The keyword breakdown \u2014 title, meta description, content, image alt, address \u2014 now shows on posts with a single focus keyword. It was being calculated and then hidden unless you had two or more keywords, which is the least common setup. Each row now states plainly whether it Matched or not<\/li>\n<li>New: Page 2 and beyond of an archive or a multi-page post now describes itself: its own title, its own address, and previous\/next links, instead of repeating page 1<\/li>\n<li>Fixed: Settings that saved and then did nothing. The breadcrumb \"Show current page\" switch, the %site_description% and %tagline% variables, the sitemap include toggles for anything other than the admin screen, and the Open Graph type and Twitter card type choices all persisted without changing what your site published<\/li>\n<li>Fixed: Saving settings for a category could answer with an error after the save had already succeeded, so you re-entered settings that were never lost<\/li>\n<li>Fixed: If a settings screen failed to load it silently filled the form with defaults. Pressing Save then wrote those defaults over everything you had stored \u2014 on the Robots.txt screen that emptied a saved robots.txt. The screen now shows an error with a Retry button and refuses to save until a load succeeds<\/li>\n<li>Fixed: Flipping two switches quickly made the first one silently revert and stay reverted after a reload<\/li>\n<li>Fixed: The Local SEO switch could not be turned on \u2014 the save was rejected for a business name whose field only appears after the switch is on<\/li>\n<li>Fixed: Saving Site Identity stored a copy of the whole response back into your settings, growing the payload on every save<\/li>\n<li>Fixed: A settings screen would store any stray field a client sent it, and once stored it came back in every later response and was written again on every save, so the settings table and every settings request grew and never shrank. Only settings ThinkRank actually defines are stored now, and strays already saved are cleared on upgrade<\/li>\n<li>Fixed: An SEO title or meta description saved on a category, tag or custom taxonomy term was ignored on the archive page \u2014 the theme's own title was used and no description was published, while the admin screen showed the value as saved. Open Graph and Twitter values stored on a term now render too<\/li>\n<li>Fixed: Category, tag, author, date and search archives published no address or description to social networks, and an author archive's title lost its separator<\/li>\n<li>Fixed: A Twitter-specific description saved on a post was never used; the card showed the Open Graph description instead<\/li>\n<li>Fixed: Pages built with shortcodes or page builders published their own shortcode source as the meta description<\/li>\n<li>Fixed: WooCommerce product pages carried two aggregate ratings, which Search Console reports as a critical error on every reviewed product. ThinkRank now stands aside from WooCommerce's own product markup when it publishes its own<\/li>\n<li>Fixed: The sitemap listed the cart, checkout and account pages that ThinkRank's own robots.txt blocks, so Search Console reported \"Submitted URL blocked by robots.txt\" on every store<\/li>\n<li>Fixed: robots.txt put a blank line between each Sitemap line, which ends the record for a crawler, and listed child sitemaps the index already covers. The screen also reported the served file as in sync when it was not<\/li>\n<li>Fixed: On WPML sites every translation in the sitemap pointed at the default language's address<\/li>\n<li>Fixed: The readability score could report \"Very Difficult (0)\" on ordinary writing, because silent letters were counted as extra syllables<\/li>\n<li>Fixed: SEO suggestions are now ordered by how many points they can actually recover, and advice for a factor already scoring full marks is no longer listed<\/li>\n<li>Fixed: Core Web Vitals your site has no field data for were counted as failures, pushing the performance score down by 15\u201330 points for data you do not control. Unmeasured metrics are now reported as unmeasured<\/li>\n<li>Fixed: AI-drafted articles could carry heading labels (\"H2: \") into the published heading text<\/li>\n<li>Fixed: Uninstalling the free plugin deleted an active ThinkRank Pro installation's license and settings. Uninstall also left scheduled tasks and term data behind, and on a network install only cleaned the current site<\/li>\n<li>Fixed: Bulk SEO Optimization could show one post type's settings under another and save them there if you switched post types quickly<\/li>\n<li>Fixed: An imported schema field could not be edited \u2014 the text snapped back as soon as it stopped being valid JSON \u2014 Print as PDF did nothing under a pop-up blocker, and the social preview could repaint with an out-of-date result<\/li>\n<li>Fixed: A failed save on Site Identity reported the literal word \"undefined\" instead of the reason<\/li>\n<li>Fixed: On sites whose database is not utf8mb4, none of ThinkRank's tables could be created: every settings save failed with a generic error and Quick Setup could not be completed. Affected sites heal on upgrade, and the real database error is now reported instead of a generic message<\/li>\n<li>Fixed: A page that does not exist advertised your homepage as its address and carried social tags<\/li>\n<li>Fixed: Every page carried a second viewport tag beside the theme's<\/li>\n<li>Fixed: FAQ blocks on a blog or archive listing published their own FAQ structured data beside the page's, and a block theme could publish the same questions twice<\/li>\n<li>Fixed: The MCP connection token was stored in the database in plain text. It is admin-equivalent, so it is now stored hashed and encrypted; existing connections keep working<\/li>\n<li>Fixed: Several REST routes accepted any post or page id from a user with only a section permission, exposing titles and descriptions from other authors' drafts, and four of them wrote settings onto content the caller could not edit<\/li>\n<li>Fixed: The protection against fetching internal addresses checked one address and then connected to whatever the hostname resolved to a moment later<\/li>\n<li>Performance: Anonymous page views make fewer database queries \u2014 a Google token refresh no longer runs on the front end, AI traffic counting is batched instead of locking a row on every visitor, and schema and settings lookups are cached properly<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<p>Release Date: 2026-08-20<\/p>\n\n<ul>\n<li>New: The FAQ block has a new accordion design and each answer can now carry its own image. The question sits on its own row with a plus that becomes a minus when the answer opens, a line separates the open question from its answer, and the image you add shows with the answer \u2014 and travels into the FAQ structured data, so search engines can use it<\/li>\n<li>Fixed: While editing an FAQ block the question and answer fields did not line up \u2014 the question was pushed to the right edge while the answer stayed on the left, which made an empty item look broken<\/li>\n<li>Fixed: Changing a page's address from ThinkRank's Permalink field looked like it did nothing. The new address was saved, but the editor went on showing the old one until the page was reloaded, so it read as though nothing had happened. In Elementor, Divi and Oxygen it genuinely did nothing: the address was never saved at all<\/li>\n<li>Fixed: The check for whether your keyword appears in the page address was wrong in both directions. On a draft it always reported the keyword as missing, whatever the address said, and only began passing once the post was published. On a published page it could report a match that actually came from a parent page, a category or a date in the address rather than from the page's own address. Each line of the keyword breakdown now states plainly whether it matched or not, instead of leaving you to read it out of a list of words<\/li>\n<\/ul>\n\n<h4>1.32.0<\/h4>\n\n<p>Release Date: 2026-08-18<\/p>\n\n<ul>\n<li>New: All of ThinkRank's structured data is now published as one linked graph instead of several separate scripts. A page that had, say, an Article, a breadcrumb trail and an FAQ used to emit three unconnected blocks \u2014 search engines now receive one graph in which those entities reference each other, and duplicate or competing entries are merged away<\/li>\n<li>New: FAQ content is collected from anywhere on the page \u2014 the FAQ block, the Elementor FAQ widget and any FAQ you deployed for the post \u2014 and published as a single FAQPage instead of several competing ones with different questions<\/li>\n<li>New: The Instant Indexing Submit URLs screen tells you what will actually be sent before you send it. Line numbers down the side, and each URL checked as you type: URLs pointing at another site, lines that are not URLs and duplicates are all called out, with a counter against the 100-URL limit. Clean up tidies the list, Clear empties it, Cmd\/Ctrl+Enter submits, and the success message says how many URLs went<\/li>\n<li>New: The submission history screen was rebuilt \u2014 an empty state instead of a blank table, readable response codes with an explanation of what each one means, and Refresh now really re-reads the log, so URLs you just submitted show up immediately<\/li>\n<li>New: Every feature on\/off switch now saves itself. Flipping a switch is the save \u2014 there is no separate Save button to remember, the switch rolls back and tells you if the save fails, and a short message confirms the new state. The Save button stays where you are filling in a form<\/li>\n<li>New: Screens show a placeholder shaped like the content while their data loads, instead of the word \"Loading\" or a blank panel<\/li>\n<li>New: Role Manager can grant or withhold AI Insights and Manage Roles separately, like every other ThinkRank area<\/li>\n<li>Changed: Connecting ChatGPT and other AI assistants now works on hosts that answer \/.well-known\/ addresses themselves before WordPress ever sees the request \u2014 reported on SiteGround, where the connection failed with \"does not implement OAuth\". ThinkRank now advertises an address that reaches WordPress on every host, and publishes the discovery files directly where a host insists on serving them itself<\/li>\n<li>Fixed: The first few sentences of a password-protected post were published as its meta description, and in its Facebook and X preview text \u2014 visible to anyone requesting the page and to every crawler and link preview, while the page itself still showed the password form. Questions from an FAQ block on a protected post could be published the same way<\/li>\n<li>Fixed: AI content briefs were displayed without sanitizing them. Brief text comes back from an AI provider and can include content pulled from competitor pages you supplied, so it is not trusted input; it is now cleaned before it is stored and before it is shown<\/li>\n<li>Fixed: A user given access to only the Social Media or Schema section could read the SEO details of posts they cannot edit \u2014 including other authors' drafts and pending posts \u2014 by changing the post number in the request<\/li>\n<li>Fixed: A user given access to only the Settings section could write post-specific social and SEO settings onto another author's post, changing what its public page shares. The same request also overwrote your site-wide defaults<\/li>\n<li>Fixed: Saving settings reported a server error even though the settings had been saved, on 8 of the 11 settings groups. People re-entered settings that were never lost, and a genuine failure looked identical to the permanent one. A successful save also came back empty, leaving the form blank<\/li>\n<li>Fixed: A published llms.txt file could display accented and non-Latin characters as mojibake (\"Aktivit\u00e4ten\" as \"Aktivit\u00c3\u00a4ten\") because the file was served without saying which character set it used. The bytes were always correct \u2014 only the declaration was missing<\/li>\n<li>Fixed: On block themes, a page with an FAQ block published its questions twice \u2014 once inside ThinkRank's graph and once in a second block beside it<\/li>\n<li>Fixed: A Codex connection on the MCP screen showed a plain letter instead of the OpenAI mark<\/li>\n<li>Fixed: The two Schema screens showed their title three times over before any content, and the Global SEO, Crawling and Author Archives screens had the wrong icon or a missing divider<\/li>\n<\/ul>\n\n<h4>1.31.0<\/h4>\n\n<p>Release Date: 2026-08-16<\/p>\n\n<ul>\n<li>New: Submission Coverage for Instant Indexing \u2014 compares every published URL against the last successful IndexNow submission and tells you what is stale, what failed and what was never announced, then closes the gaps on its own once a day. There is a Reconcile Now button for when you do not want to wait<\/li>\n<li>New: A noindex you set on a category, tag or custom taxonomy archive is finally applied. The setting saved and read back correctly before, but the archive still carried your site-wide default \u2014 and the archive is now dropped from the XML sitemap too, so the sitemap cannot advertise a page that asks not to be indexed<\/li>\n<li>New: The Robots.txt screen shows what crawlers actually receive right now, and warns you when a robots.txt file sitting in your site's folder is being served by the web server instead of the content you saved<\/li>\n<li>Changed: ThinkRank now runs on PHP 7.4 and higher, instead of requiring PHP 8.0<\/li>\n<li>Changed: WordPress's own sitemap is switched off while ThinkRank's is enabled, so your site stops publishing two competing sitemaps and pointing search engines at both<\/li>\n<li>Changed: Core Web Vitals now reports Interaction to Next Paint, the metric Google replaced First Input Delay with<\/li>\n<li>Fixed: \/sitemap.xml led search engines to a dead page on sites using a sitemap index \u2014 the one sitemap URL crawlers guess. It now goes to the sitemap you actually publish, and while your sitemap has not been generated yet WordPress's own sitemap is left in place rather than leaving that URL answering nothing<\/li>\n<li>Fixed: Cleaning up sitemaps deleted any file in your site's folder with \"sitemap\" in its name \u2014 including WordPress's own and other plugins' \u2014 and then left your site with no sitemap and nothing scheduled to rebuild it. It now removes only ThinkRank's files and queues the rebuild<\/li>\n<li>Fixed: Turning off a content type stopped its sitemap from being updated but left the old file serving and listed in the index. Sitemaps you no longer publish are now removed<\/li>\n<li>Fixed: Regenerating the sitemap from anywhere other than the settings screen could republish one flat sitemap over your sitemap index, or republish files that had lost their styling and their image entries<\/li>\n<li>Fixed: When a Core Web Vitals check fails, ThinkRank now tells you why \u2014 your site could not be reached, no Google connection, or the daily quota is used up \u2014 instead of reporting a server error for all three. Pressing refresh after a failure also really re-measures now, and a site set up with only a PageSpeed API key works without a Google account<\/li>\n<li>Fixed: The historical performance charts drew an empty card for a metric with no measurements, most visibly for the new INP metric on sites with older data<\/li>\n<li>Fixed: Open Graph told Facebook and LinkedIn your site was in US English no matter what language it was actually in<\/li>\n<li>Fixed: Pages built with Elementor and similar builders contributed no links, images or headings to SEO analysis, so scores and recommendations were based on text alone<\/li>\n<li>Fixed: SEO Insights failed with a server error on sites that had connected PageSpeed<\/li>\n<li>Fixed: With some caching or optimization plugins, ThinkRank's screens and the Dashboard widget could stay stuck on \"Loading\" forever<\/li>\n<li>Fixed: The AI usage overview reported empty fields on a site that had not used any AI features yet<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/thinkrank.ai\/changelog\/\">See changelog for all versions<\/a>.<\/p>","raw_excerpt":"WordPress SEO plugin with AI SEO: meta descriptions, schema, XML sitemaps, Search Console, llms.txt, AEO &amp; GEO. Your AI SEO assistant runs it via MCP.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/241870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=241870"}],"author":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpdevteam"}],"wp:attachment":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=241870"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=241870"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=241870"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=241870"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=241870"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=241870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}