{"id":383539,"date":"2026-10-19T10:11:22","date_gmt":"2026-10-19T10:11:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/rankyfy-ai-seo\/"},"modified":"2026-10-20T11:54:50","modified_gmt":"2026-10-20T11:54:50","slug":"rankyfy-ai-seo","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/rankyfy-ai-seo\/","author":23582670,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.1","stable_tag":"1.2.1","tested":"7.1.3","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"RankyFy AI SEO","header_author":"RankyFy","header_description":"See which AI crawlers and assistants read your site, where AI traffic lands, and what keeps your content out of AI search \u2014 beside your SEO plugin.","assets_banners_color":"46474f","last_updated":"2026-10-20 11:54:50","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/rankyfy.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":105,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"rankyfy","date":"2026-10-19 10:57:36","revision":3754551},"1.1.1":{"tag":"1.1.1","author":"rankyfy","date":"2026-10-19 11:06:08","revision":3754559},"1.2.0":{"tag":"1.2.0","author":"rankyfy","date":"2026-10-20 11:36:22","revision":3756572},"1.2.1":{"tag":"1.2.1","author":"rankyfy","date":"2026-10-20 11:54:50","revision":3756617}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3754472,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3754472,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3754472,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3754472,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.1.1","1.2.0","1.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3756559,"resolution":"1","location":"assets","locale":"","width":1360,"height":900},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3756559,"resolution":"10","location":"assets","locale":"","width":1360,"height":900},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3756559,"resolution":"11","location":"assets","locale":"","width":1360,"height":900},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3756559,"resolution":"12","location":"assets","locale":"","width":1360,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3756559,"resolution":"2","location":"assets","locale":"","width":1360,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3756559,"resolution":"3","location":"assets","locale":"","width":1360,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3756559,"resolution":"4","location":"assets","locale":"","width":1360,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3756559,"resolution":"5","location":"assets","locale":"","width":1360,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3756559,"resolution":"6","location":"assets","locale":"","width":1360,"height":900},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3756559,"resolution":"7","location":"assets","locale":"","width":1360,"height":900},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3756559,"resolution":"8","location":"assets","locale":"","width":1360,"height":900},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3756559,"resolution":"9","location":"assets","locale":"","width":1360,"height":900}},"screenshots":{"1":"Dashboard \u2014 AI crawler hits, pages read, visits from AI assistants and the readiness score.","2":"AI Crawlers \u2014 every request, verified, with daily trends per bot.","3":"A crawler's detail: GPTBot's requests, verification and the pages it reads.","4":"AI Referrals \u2014 visits from ChatGPT, Perplexity, Claude and more, beside the crawl data.","5":"Readiness Score \u2014 18 checks ranked by impact, each with how to fix it.","6":"Access Manager \u2014 allow or block each AI crawler, with the trade-off spelled out.","7":"llms.txt \u2014 the generated file, what is included and which crawlers fetch it.","8":"Opportunities \u2014 what your own crawl data says to do next.","9":"Important pages no AI crawler has read.","10":"Recommendations, ordered by severity and how important the page is.","11":"Alerts \u2014 new crawlers, blocked crawlers, impersonation, score drops.","12":"Settings \u2014 capture, verification, the remote-updates opt-in, data and privacy."}},"plugin_section":[262246],"plugin_tags":[2353,220145,232780,244604,186],"plugin_category":[55],"plugin_contributors":[287484],"plugin_business_model":[],"class_list":["post-383539","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-ai","plugin_tags-ai-search","plugin_tags-ai-crawler","plugin_tags-llms-txt","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-rankyfy","plugin_committers-rankyfy"],"banners":{"banner":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/banner-772x250.png?rev=3754472","banner_2x":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/banner-1544x500.png?rev=3754472","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/icon-128x128.png?rev=3754472","icon_2x":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/icon-256x256.png?rev=3754472","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-1.png?rev=3756559","caption":"Dashboard \u2014 AI crawler hits, pages read, visits from AI assistants and the readiness score."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-2.png?rev=3756559","caption":"AI Crawlers \u2014 every request, verified, with daily trends per bot."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-3.png?rev=3756559","caption":"A crawler's detail: GPTBot's requests, verification and the pages it reads."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-4.png?rev=3756559","caption":"AI Referrals \u2014 visits from ChatGPT, Perplexity, Claude and more, beside the crawl data."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-5.png?rev=3756559","caption":"Readiness Score \u2014 18 checks ranked by impact, each with how to fix it."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-6.png?rev=3756559","caption":"Access Manager \u2014 allow or block each AI crawler, with the trade-off spelled out."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-7.png?rev=3756559","caption":"llms.txt \u2014 the generated file, what is included and which crawlers fetch it."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-8.png?rev=3756559","caption":"Opportunities \u2014 what your own crawl data says to do next."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-9.png?rev=3756559","caption":"Important pages no AI crawler has read."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-10.png?rev=3756559","caption":"Recommendations, ordered by severity and how important the page is."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-11.png?rev=3756559","caption":"Alerts \u2014 new crawlers, blocked crawlers, impersonation, score drops."},{"src":"https:\/\/ps.w.org\/rankyfy-ai-seo\/assets\/screenshot-12.png?rev=3756559","caption":"Settings \u2014 capture, verification, the remote-updates opt-in, data and privacy."}],"raw_content":"<!--section=description-->\n<p><strong>RankyFy AI SEO brings AI search optimization to WordPress.<\/strong> See exactly which AI crawlers \u2014 GPTBot, ClaudeBot, OAI-SearchBot, PerplexityBot, Google-Extended and 30+ more \u2014 read your site, track the visitors that ChatGPT, Perplexity, Gemini, Claude and Copilot send you, publish a clean llms.txt, control AI bot access through robots.txt, and fix the issues that keep your content out of AI answers.<\/p>\n\n<p>AI SEO is to assistants what classic SEO is to search engines: being readable, verifiable and worth quoting when ChatGPT or Perplexity answers a question in your niche. This plugin gives you the measurement and the controls for it.<\/p>\n\n<p>Install, activate, done \u2014 monitoring starts immediately and runs entirely on your own site. No account is needed, and nothing is sent anywhere unless you explicitly enable it.<\/p>\n\n<h3>AI crawler analytics, verified<\/h3>\n\n<p>Anyone can claim to be GPTBot. Every request that claims a known AI crawler is verified against the operator's published IP ranges, by forward-confirmed reverse DNS, or by cryptographic signature (Web Bot Auth) \u2014 and impersonations are counted separately, never as crawls.<\/p>\n\n<ul>\n<li>Every AI crawler request logged: bot, page, response, timing.<\/li>\n<li>Per-crawler detail: purpose (model training, AI search, or fetching a page for a real user), daily trends, crawl sessions, the pages it reads.<\/li>\n<li>The dashboard answers the first question \u2014 are AI crawlers reading my site at all, and which pages have they never seen?<\/li>\n<\/ul>\n\n<h3>Track AI traffic: visits from ChatGPT, Perplexity and more<\/h3>\n\n<p>AI referral tracking shows every AI referral \u2014 the visits that arrive from ChatGPT, Perplexity, Gemini, Claude, Copilot and other assistants \u2014 by engine and by landing page, right beside the crawl data for the same page. <em>Crawled vs. AI visits<\/em> highlights pages AI reads but never sends anyone to: usually a content problem, not a crawling one.<\/p>\n\n<h3>llms.txt generator \u2014 plus llms-full.txt and ai.txt<\/h3>\n\n<p>llms.txt is a proposed standard file that gives AI systems a curated map of your most important content. RankyFy AI SEO generates it from what AI crawlers actually read on your site, keeps it updated as content changes, and leaves out pages that are noindex, erroring or blocked. llms-full.txt (full text) and ai.txt (training policy) are included. Your manual edits survive rebuilds, and nothing is served until you switch it on.<\/p>\n\n<h3>Control AI bots: allow or block each crawler, eyes open<\/h3>\n\n<p>The Access Manager lets you block AI bots selectively \u2014 allow or block every AI crawler individually, grouped by operator, with the consequence of each choice spelled out \u2014 so you can block AI model training (GPTBot, ClaudeBot, Google-Extended) without disappearing from ChatGPT or Perplexity answers. Presets, a preview of the exact robots.txt lines, and nothing written until you save.<\/p>\n\n<h3>AI readiness score: optimize for AI search (GEO \/ AEO)<\/h3>\n\n<p>Generative engine optimization starts with what AI systems can actually use. The AI SEO readiness score runs 18 checks \u2014 access, discovery, structure, depth, trust and internal linking \u2014 and ranks the open issues by impact, each with a plain-language fix and the pages to start with.<\/p>\n\n<h3>Opportunities from your own crawl data<\/h3>\n\n<p>What should you do next? The Opportunities screen answers from observed data: crawlers you block whose assistants already send you visitors, important pages no AI crawler has read, pages crawled often but not answer-ready, and pages that error or respond slowly to crawlers.<\/p>\n\n<h3>Publish check, alerts, and the posts list<\/h3>\n\n<p>The editor warns before you publish a page that is noindex, blocked by robots.txt, canonicalised elsewhere or too thin for AI search. Alerts (email or webhook \u2014 Slack, Teams, Google Chat) fire when something changes: a new AI crawler, robots.txt suddenly blocking AI search, impersonation attempts, a drop in your readiness score. The posts list gains a sortable AI column.<\/p>\n\n<h3>Honest data: observed vs. suggested<\/h3>\n\n<p>Everything is labelled with where it comes from. Real requests, real server responses and your own content are marked <em>Observed<\/em>. AI assistants do not tell websites what people asked them, and this plugin never presents a generated suggestion as a real query.<\/p>\n\n<h3>Private and local by default<\/h3>\n\n<p>The plugin ships with a bundled crawler registry and works completely offline. Visitors are never tracked; crawler addresses are stored truncated. Optional remote updates and the optional RankyFy account are both opt-in \u2014 see External Services below.<\/p>\n\n<h3>Works beside your SEO plugin<\/h3>\n\n<p>RankyFy AI SEO complements Yoast SEO, Rank Math, SEOPress and All in One SEO rather than replacing them: classic SEO plugins optimize for search engine rankings, this plugin covers the AI SEO side \u2014 crawler access, AI traffic, llms.txt and answer-readiness. The publish check even reads your SEO plugin's noindex settings to warn you before a page silently drops out of AI search.<\/p>\n\n<h3>Development<\/h3>\n\n<p>The plugin is developed in the open at https:\/\/github.com\/shivang-dev\/rankyfy-wordpress-aibotdetection \u2014 issues and pull requests are welcome there.<\/p>\n\n<p>Everything in this package ships exactly as written: the PHP, the JavaScript (assets\/js\/admin.js, guard.js, log-worker.js) and the CSS are the hand-written source files themselves. There is no build step, no bundler, no transpiler and no minification, so no separate \"source\" version exists \u2014 what you read is what runs.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>The plugin contacts no external service by default. Each service below is used only after the administrator enables it, and each can be switched off again at any time.<\/p>\n\n<p><strong>1. RankyFy crawler registry<\/strong> (optional, off by default)<\/p>\n\n<ul>\n<li>Service: <code>https:\/\/dashboard.rankyfy.com\/<\/code> \u2014 operated by RankyFy (https:\/\/rankyfy.com\/)<\/li>\n<li>Purpose: fetches an updated registry of AI crawler identities and a consolidated copy of the operators' published network ranges, so new crawlers are recognised without a plugin update.<\/li>\n<li>When: only when \"Keep crawler data updated from the internet\" is enabled in Settings \u2192 Capture, or when the administrator clicks \"Update now\" on the registry screen. Checked at most twice a day.<\/li>\n<li>Data sent: a standard HTTP request whose user-agent contains the plugin version and the site's address. No visitor data, no content.<\/li>\n<li>Privacy policy: https:\/\/rankyfy.com\/privacy-policy\/ \u2014 Terms: https:\/\/rankyfy.com\/terms\/<\/li>\n<\/ul>\n\n<p><strong>2. Crawler operators' published files<\/strong> (optional, off by default; same switch as above)<\/p>\n\n<ul>\n<li>Purpose: verifying that a request claiming to be a known crawler really came from that crawler, by comparing it against the address lists and signing keys the operators themselves publish.<\/li>\n<li>Data sent: a plain, anonymous HTTP GET to a fixed public file; the user-agent names the plugin. No site content, no visitor data, nothing about your WordPress installation.<\/li>\n<li>When: at most once a day per file, in the background, and only while the opt-in is enabled.<\/li>\n<li>The published IP-range files fetched, and each operator's privacy policy:\n\n<ul>\n<li>OpenAI \u2014 <code>openai.com<\/code> (https:\/\/openai.com\/policies\/privacy-policy\/)<\/li>\n<li>Anthropic \u2014 <code>claude.com<\/code> (https:\/\/www.anthropic.com\/legal\/privacy)<\/li>\n<li>Perplexity \u2014 <code>www.perplexity.com<\/code> (https:\/\/www.perplexity.ai\/hub\/legal\/privacy-policy)<\/li>\n<li>Google \u2014 <code>developers.google.com<\/code> (https:\/\/policies.google.com\/privacy)<\/li>\n<li>Microsoft Bing \u2014 <code>www.bing.com<\/code> (https:\/\/www.microsoft.com\/privacy\/privacystatement)<\/li>\n<li>Apple \u2014 <code>search.developer.apple.com<\/code> (https:\/\/www.apple.com\/legal\/privacy\/)<\/li>\n<li>Common Crawl \u2014 <code>index.commoncrawl.org<\/code> (https:\/\/commoncrawl.org\/privacy-policy)<\/li>\n<li>DuckDuckGo \u2014 <code>duckduckgo.com<\/code> (https:\/\/duckduckgo.com\/privacy)<\/li>\n<\/ul><\/li>\n<li>Web Bot Auth key directories: when a crawler signs its requests (RFC 9421), its public keys are fetched from the <code>\/.well-known\/http-message-signatures-directory<\/code> path of the host the crawler itself names in its Signature-Agent header \u2014 always over HTTPS, never to private addresses, capped per hour.<\/li>\n<li>Cloudflare's public edge list \u2014 <code>www.cloudflare.com\/ips-v4<\/code> and <code>\/ips-v6<\/code> (https:\/\/www.cloudflare.com\/privacypolicy\/, terms: https:\/\/www.cloudflare.com\/website-terms\/): fetched weekly so that sites behind Cloudflare can trust its visitor-address header without manual setup. The request carries no data about your site.<\/li>\n<\/ul>\n\n<p><strong>3. RankyFy account services<\/strong> (optional, requires the separate RankyFy SEO plugin and a connected account)<\/p>\n\n<ul>\n<li>Service: <code>https:\/\/dashboard.rankyfy.com\/<\/code> \u2014 operated by RankyFy (https:\/\/rankyfy.com\/)<\/li>\n<li>Purpose and data sent: (a) if \"Help identify new AI crawlers\" is enabled, the user-agent text of unrecognised bots \u2014 nothing else; (b) when the administrator explicitly requests AI analysis of a page, that page's content, title and address.<\/li>\n<li>When: never without a connected account, and (b) only on an explicit per-page request or when automatic analysis is switched on.<\/li>\n<li>Privacy policy: https:\/\/rankyfy.com\/privacy-policy\/ \u2014 Terms: https:\/\/rankyfy.com\/terms\/<\/li>\n<\/ul>\n\n<p><strong>4. Webhooks<\/strong> (optional)<\/p>\n\n<p>Alert notifications can be sent to one HTTPS endpoint the administrator configures (for example Slack or Microsoft Teams). Only the alert title and text are sent.<\/p>\n\n<p>The plugin also makes one daily request to the site's own address to test how the server answers crawlers; that request never leaves the site's host.<\/p>\n\n<h3>Data Storage<\/h3>\n\n<p>Stored locally, in the plugin's own database tables: for each crawler request the time, path, response code, response time, user agent and the network the request came from (the address with its last part removed, for example 203.0.113.0\/24). Full addresses are kept only for a few minutes while a crawler's identity is verified, then discarded. Ordinary visitors are never recorded; a visit arriving from an AI assistant is kept only as a daily count per page, with no information about the visitor. Retention periods are configurable in Settings (raw requests default to 30 days) and everything is removed on uninstall.<\/p>\n\n<p>The plugin adds suggested text for your site's privacy policy under Settings \u2192 Privacy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Open <strong>RankyFy AI SEO<\/strong> in the admin menu (just below Settings). Monitoring is already running, fully locally.<\/li>\n<li>Optional: enable remote crawler-data updates in Settings \u2192 Capture, switch on <code>llms.txt<\/code>, and review crawler access under <strong>Access Manager<\/strong>.<\/li>\n<\/ol>\n\n<p>Requires WP-Cron running (the WordPress default), or a server cron calling <code>wp-cron.php<\/code>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20does%20the%20dashboard%20give%20me%3F\"><h3>What does the Dashboard give me?<\/h3><\/dt>\n<dd><p>One screen that answers \"is AI reading my site, and is it worth anything?\": total AI crawler hits with a per-bot daily chart, how many of your pages AI has ever read (and how many never), real visits arriving from AI assistants, the share of verified hits, and your readiness score. The benefit: you spot problems \u2014 a bot gone quiet, pages never read, a score drop \u2014 in seconds, without assembling data from logs and analytics yourself.<\/p><\/dd>\n<dt id=\"what%20does%20the%20ai%20crawlers%20screen%20do%20that%20my%20server%20log%20can%27t%3F\"><h3>What does the AI Crawlers screen do that my server log can't?<\/h3><\/dt>\n<dd><p>It turns raw requests into answers: every AI crawler listed with its purpose (training vs. search vs. user fetch), hits, pages, trend and verification state \u2014 and the same data pivoted by page, so you see exactly which content each bot reads and what response it got. Add redirect buttons appear on URLs answering \"not found\". The benefit: you know which company reads what, catch fakes, and fix dead URLs that AI keeps requesting.<\/p><\/dd>\n<dt id=\"how%20does%20crawler%20verification%20benefit%20me%3F\"><h3>How does crawler verification benefit me?<\/h3><\/dt>\n<dd><p>Anyone can send a request claiming to be GPTBot. The plugin checks every claimed crawler against the operator's published IP ranges, forward-confirmed reverse DNS or a cryptographic signature (Web Bot Auth), and counts failures separately as impersonations. The benefit: your numbers are real \u2014 decisions like \"allow GPTBot, it sends value\" rest on verified traffic, and the impersonation list gives you evidence to block abusive networks at your firewall.<\/p><\/dd>\n<dt id=\"what%20does%20the%20ai%20referrals%20screen%20show%20that%20google%20analytics%20doesn%27t%3F\"><h3>What does the AI Referrals screen show that Google Analytics doesn't?<\/h3><\/dt>\n<dd><p>Analytics suites lump assistant click-throughs into generic referrals, and some AI visits carry no referrer at all. This screen recognises the referrer and UTM patterns of ChatGPT, Perplexity, Gemini, Claude, Copilot and others and reports those human visits by engine and landing page \u2014 next to the crawl data for the same pages. The <em>crawled vs. AI visits<\/em> view shows pages AI reads but never sends anyone to, which is usually a content problem you can fix, not a crawling one.<\/p><\/dd>\n<dt id=\"what%20does%20the%20readiness%20score%20tool%20actually%20check%2C%20and%20why%20should%20i%20care%3F\"><h3>What does the Readiness Score tool actually check, and why should I care?<\/h3><\/dt>\n<dd><p>18 concrete checks against your published content \u2014 direct answers under question headings, depth, author information, working pages, crawler access, llms.txt and more \u2014 rolled into one 0\u2013100 score, with open issues ranked by impact and a \"How to fix\" for each, starting with the exact pages to edit. The benefit: instead of guessing what \"optimize for AI\" means, you get a prioritized to-do list measured from your own site, and the score history shows whether your edits worked.<\/p><\/dd>\n<dt id=\"what%20does%20the%20access%20manager%20do%20that%20editing%20robots.txt%20by%20hand%20doesn%27t%3F\"><h3>What does the Access Manager do that editing robots.txt by hand doesn't?<\/h3><\/dt>\n<dd><p>Three things. It shows each crawler's real traffic on your site next to the switch, it spells out the consequence of every block before you save (\"You disappear from ChatGPT's answers. Rarely what you want.\"), and it writes only its own clearly-fenced section of robots.txt, leaving the rest untouched. Presets handle the common intents in one click \u2014 including \"Allow search, block training\", which stops your content training models while ChatGPT can still cite and open your pages. And because every request is still monitored, it tells you which bots keep requesting despite a block, so you can escalate with evidence.<\/p><\/dd>\n<dt id=\"what%20does%20the%20llms.txt%20tool%20generate%2C%20and%20what%27s%20the%20benefit%20over%20writing%20one%20myself%3F\"><h3>What does the llms.txt tool generate, and what's the benefit over writing one myself?<\/h3><\/dt>\n<dd><p>A hand-written llms.txt goes stale the week you publish something new. This tool builds yours from what AI crawlers actually read on your site \u2014 your most-read, most important pages with descriptions \u2014 keeps it current as content changes, excludes pages that are noindex, broken or blocked, and preserves your manual edits across rebuilds. llms-full.txt (full text) and ai.txt (training policy) are included. Nothing is served until you switch it on, and the screen shows whether each file answers and which bots fetch it.<\/p><\/dd>\n<dt id=\"what%20does%20the%20opportunities%20screen%20give%20me%20that%20a%20generic%20seo%20audit%20doesn%27t%3F\"><h3>What does the Opportunities screen give me that a generic SEO audit doesn't?<\/h3><\/dt>\n<dd><p>Actions derived from your own crawl data, not a checklist: crawlers you block whose assistants already send you visitors (with the numbers), important pages no AI crawler has ever read, pages AI fetches often that score too low to be quoted, and pages that error or respond slowly to crawlers. Each item says why it matters and links to the fix. Content suggestions appear too, always labelled AI-suggested \u2014 never dressed up as measured data.<\/p><\/dd>\n<dt id=\"what%20is%20the%20publish%20check%20in%20the%20editor%2C%20and%20what%20does%20it%20save%20me%20from%3F\"><h3>What is the publish check in the editor, and what does it save me from?<\/h3><\/dt>\n<dd><p>Every time you publish or update, the editor runs an AI crawler check: noindex set by your SEO plugin, robots.txt rules blocking your priority crawlers from this page, a canonical pointing elsewhere, a changed URL that AI still requests, or content too thin to be quoted. The benefit: pages stop silently dropping out of AI search \u2014 you learn about the problem before the publish, not weeks later on a chart. Changed URLs get automatic 301 redirects so crawlers never hit dead links.<\/p><\/dd>\n<dt id=\"what%20do%20alerts%20do%20for%20me%3F\"><h3>What do Alerts do for me?<\/h3><\/dt>\n<dd><p>They watch so you don't have to: a new AI crawler on your site, an important page crawled for the first time or no longer crawled, robots.txt suddenly blocking AI search, your server or CDN refusing crawlers, impersonation spikes, readiness score drops, and pages assistants keep opening for their users. Delivered by email (critical-only, everything, or a daily digest) or webhook to Slack, Teams or Google Chat. The benefit: a misconfigured robots.txt or a broken page costs you hours of AI visibility, not months.<\/p><\/dd>\n<dt id=\"what%20does%20the%20log%20import%20do%2C%20and%20when%20do%20i%20need%20it%3F\"><h3>What does the log import do, and when do I need it?<\/h3><\/dt>\n<dd><p>If a cache or CDN answers a page before WordPress runs, that crawler request never reaches the plugin's hook. The import reads your server's access log (parsed in your browser, uploaded in batches) and fills those gaps, with the same verification applied. The benefit: complete numbers on heavily-cached sites. The plugin detects common caches and tells you when this applies; Cloudflare's visitor-address header is recognised automatically.<\/p><\/dd>\n<dt id=\"which%20ai%20crawlers%20does%20it%20detect%3F\"><h3>Which AI crawlers does it detect?<\/h3><\/dt>\n<dd><p>Over 30 out of the box: OpenAI (GPTBot, OAI-SearchBot, ChatGPT-User), Anthropic (ClaudeBot, Claude-SearchBot, Claude-User), Perplexity (PerplexityBot, Perplexity-User), Google (Googlebot, Google-Extended, Google-CloudVertexBot), Microsoft Bingbot, Meta, Amazonbot, Applebot-Extended, ByteDance Bytespider, Common Crawl CCBot, DuckAssistBot, Mistral, Cohere, You.com and more \u2014 plus unrecognised-bot detection and your own custom entries. The registry can update without a plugin release (opt-in).<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20and%20custom%20post%20types%3F\"><h3>Does it work with WooCommerce and custom post types?<\/h3><\/dt>\n<dd><p>Yes. Every public post type is monitored, scored and eligible for llms.txt \u2014 products, docs, courses, anything. Importance signals include your shop and cornerstone pages, so the readiness checks focus where revenue is.<\/p><\/dd>\n<dt id=\"does%20this%20replace%20my%20seo%20plugin%3F\"><h3>Does this replace my SEO plugin?<\/h3><\/dt>\n<dd><p>No, it runs beside it. Yoast SEO, Rank Math, SEOPress and All in One SEO handle classic search engine optimization; this plugin handles the AI side \u2014 crawler verification, AI referral tracking, llms.txt, crawler access and answer-readiness. It also reads your SEO plugin's noindex settings so the publish check can warn you before a page drops out of AI search.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20my%20site%20down%20or%20phone%20home%3F\"><h3>Does it slow my site down or phone home?<\/h3><\/dt>\n<dd><p>No and no. Classification costs well under a millisecond for ordinary visitors, only bot requests are recorded, and dashboard reads come from pre-aggregated tables. By default everything runs on your own site with the bundled crawler registry; remote registry updates and the RankyFy account are separate opt-ins, documented under External Services. Visitors are never tracked, and crawler addresses are stored truncated.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20rankyfy%20account%3F\"><h3>Do I need a RankyFy account?<\/h3><\/dt>\n<dd><p>No. Every tool above \u2014 monitoring, verification, referrals, readiness, access manager, llms.txt, opportunities, publish check, alerts, log import \u2014 is local and free. An account adds one thing: AI content analysis of your pages (keyword, question and gap suggestions).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed: the one-time remote-updates question (\"keep local \/ enable updates\") is now answered once for the whole site \u2014 stored as a setting instead of per browser, and deciding in Settings \u2192 Capture counts as answering it.<\/li>\n<li>Changed: the FAQ now explains each tool and its concrete benefit.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: a section bar across the top of every plugin screen, mirroring the admin menu, so switching sections never needs the sidebar.<\/li>\n<li>New: a plain-language \"What is this?\" explainer on every screen \u2014 open on a section's first visit, with a short glossary of that screen's terms, dismissible once read.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Accessibility: the view transition now honors the prefers-reduced-motion setting.<\/li>\n<li>New screenshots captured from the released interface, with updated captions.<\/li>\n<li>Documentation: rewritten description and a much larger FAQ (what AI SEO is, whether to block GPTBot, how to keep ChatGPT traffic while blocking training, what llms.txt is).<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Changed: all remote fetching (live crawler registry, operators' published address lists and signature keys, Cloudflare's edge list) is now off by default and enabled by a single explicit opt-in in Settings \u2192 Capture. The bundled registry is used until then.<\/li>\n<li>Changed: sharing unrecognised bot user agents with RankyFy is now off by default.<\/li>\n<li>New: Opportunities section computed from your own crawl data \u2014 blocked crawlers whose assistants send visitors, important pages never read by AI, pages crawled often but not answer-ready, pages erroring or slow for crawlers.<\/li>\n<li>Changed: Opportunities is now a top-level section of the RankyFy AI SEO menu.<\/li>\n<li>Changed: plugin renamed to RankyFy AI SEO.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: crawler monitoring and verification, AI referrals, readiness score, access manager, llms.txt, publish check, alerts.<\/li>\n<\/ul>","raw_excerpt":"See which AI crawlers read your WordPress site, track visits from ChatGPT and Perplexity, publish llms.txt, and fix what keeps you out of AI search.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/383539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=383539"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rankyfy"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=383539"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=383539"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=383539"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=383539"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=383539"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=383539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}