{"id":375954,"date":"2026-09-27T11:31:18","date_gmt":"2026-09-27T11:31:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/geo-audit\/"},"modified":"2026-09-27T11:31:00","modified_gmt":"2026-09-27T11:31:00","slug":"citebee-ai-readiness","status":"publish","type":"plugin","link":"https:\/\/so.wordpress.org\/plugins\/citebee-ai-readiness\/","author":23574142,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"5.2","requires_php":"7.2","requires_plugins":null,"header_name":"Citebee AI Readiness","header_author":"Jian Wang","header_description":"Lightweight GEO (Generative Engine Optimization) audit: check whether robots.txt blocks AI crawlers, verify llms.txt, and scan the homepage for basic JSON-LD Schema markup, then report a 0-100 GEO readiness score with actionable advice.","assets_banners_color":"212e6f","last_updated":"2026-09-27 11:31:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":32,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"jianxp001","date":"2026-09-27 11:31:00","revision":3715400}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3715414,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3715414,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3715414,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3715414,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3715414,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2591,244604,12753,1117,186],"plugin_category":[49,55],"plugin_contributors":[282964],"plugin_business_model":[],"class_list":["post-375954","plugin","type-plugin","status-publish","hentry","plugin_tags-geo","plugin_tags-llms-txt","plugin_tags-robots-txt","plugin_tags-schema","plugin_tags-seo","plugin_category-maps-and-location","plugin_category-seo-and-marketing","plugin_contributors-jianxp001","plugin_committers-jianxp001"],"banners":{"banner":"https:\/\/ps.w.org\/citebee-ai-readiness\/assets\/banner-772x250.png?rev=3715414","banner_2x":"https:\/\/ps.w.org\/citebee-ai-readiness\/assets\/banner-1544x500.png?rev=3715414","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/citebee-ai-readiness\/assets\/icon.svg?rev=3715414","icon":"https:\/\/ps.w.org\/citebee-ai-readiness\/assets\/icon.svg?rev=3715414","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Citebee AI Readiness is a lightweight plugin for Generative Engine Optimization (GEO). It runs exactly three checks \u2014 the ones that decide whether AI search engines can understand and cite your content \u2014 and turns the result into a score plus an actionable fix list. Paste a URL, get an answer in seconds, no configuration required.<\/p>\n\n<h4>1. Does robots.txt block AI crawlers? (weight 40)<\/h4>\n\n<p>Fetches the target site's robots.txt and evaluates each mainstream AI crawler individually \u2014 GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-CloudVertexBot and CCBot \u2014 as Allowed, Blocked or Not specified. The parser handles the tricky cases correctly: consecutive <code>User-agent<\/code> lines that share one rule group, and wildcard <code>User-agent: *<\/code> combined with <code>Disallow: \/<\/code>, which blocks the entire site.<\/p>\n\n<h4>2. Does an llms.txt exist, and is it well formed? (weight 30)<\/h4>\n\n<p>Looks for llms.txt in the site root. If it exists, the plugin validates the basic structure: a <code>#<\/code> title line, a <code>&gt;<\/code> one-line site definition directly below it, and at least one <code>[link text](URL)<\/code> Markdown link \u2014 telling you exactly which parts are missing.<\/p>\n\n<h4>3. Does the homepage emit basic Schema markup? (weight 30)<\/h4>\n\n<p>Retrieves the front page HTML, extracts every <code>&lt;script type=\"application\/ld+json\"&gt;<\/code> block (fault tolerant, supports <code>@graph<\/code> and nested arrays), walks the parsed object to collect <code>@type<\/code> values, and reports the four GEO-critical types: Organization, WebSite, WebPage, and Article (matching BlogPosting and similar aliases). Every type detected is listed.<\/p>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li>A single 0-100 GEO readiness score (weighted 40 + 30 + 30).<\/li>\n<li>Green \/ yellow \/ red status per check, with concrete findings such as \"GPTBot is blocked\", \"no llms.txt found\" or \"no Organization Schema detected\".<\/li>\n<li>Actionable suggestions for every failing item: how to drop a Disallow rule, how to complete the three-part llms.txt, how to emit Organization \/ WebSite JSON-LD.<\/li>\n<li>Every run is stored in a custom table, so past reports can be reopened or deleted for side-by-side comparison.<\/li>\n<\/ul>\n\n<h4>Privacy and performance<\/h4>\n\n<ul>\n<li>No data is sent to third parties. Audits use the WordPress HTTP API against the URL you enter and its \/robots.txt and \/llms.txt; results stay in your own database.<\/li>\n<li>All output is escaped with esc_html \/ esc_url \/ wp_kses_post, queries use <code>$wpdb-&gt;prepare<\/code>, the form is protected by a Nonce, and record deletion asks for confirmation.<\/li>\n<li>No dependencies, no external SDK, and the whole plugin folder stays under 30 KB.<\/li>\n<\/ul>\n\n<h4>Who should use it<\/h4>\n\n<p>Site owners and webmasters who want to know whether ChatGPT, Claude, Perplexity and other AI engines can actually reach and interpret their pages \u2014 and, more importantly, what to fix if they cannot.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>citebee-ai-readiness<\/code> folder (or the ZIP file) to <code>\/wp-content\/plugins\/<\/code>, or upload it from Plugins \u2192 Add New \u2192 Upload Plugin.<\/li>\n<li>Activate Citebee AI Readiness on the Plugins screen.<\/li>\n<li>Open \"Citebee AI Readiness\" in the admin menu, enter a URL and run the audit.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20do%20i%20lose%20points%20even%20though%20i%20do%20not%20block%20ai%20crawlers%3F\"><h3>Why do I lose points even though I do not block AI crawlers?<\/h3><\/dt>\n<dd><p>GEO is about making your content easier for AI engines to understand and cite. If blocking some crawlers is intentional, simply ignore the matching deduction \u2014 the report only states the situation and suggests fixes, it never forces a change. A site with no AI crawler rules at all scores 20 out of 40 on this module, because \"no rule\" means the policy has not been stated yet.<\/p><\/dd>\n<dt id=\"is%20my%20data%20sent%20to%20any%20third%20party%3F\"><h3>Is my data sent to any third party?<\/h3><\/dt>\n<dd><p>No. The plugin only makes server-side HTTP requests (via the WordPress HTTP API) to the URL you enter, plus its \/robots.txt and \/llms.txt. Audit results are stored in your own database.<\/p><\/dd>\n<dt id=\"which%20ai%20crawlers%20are%20checked%3F\"><h3>Which AI crawlers are checked?<\/h3><\/dt>\n<dd><p>Eight mainstream bots: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-CloudVertexBot and CCBot.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20add%20anything%20to%20my%20site%27s%20front%20end%3F\"><h3>Does the plugin add anything to my site's front end?<\/h3><\/dt>\n<dd><p>No. Citebee AI Readiness is admin-only: no front-end markup, no tracking, no external requests other than the ones described above.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: robots.txt AI crawler check, llms.txt format check, homepage Schema scan, 0-100 score report and audit history.<\/li>\n<\/ul>","raw_excerpt":"Lightweight GEO readiness audit: check whether robots.txt blocks AI crawlers, verify llms.txt, scan homepage Schema \u2014 plus a 0-100 score.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/375954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=375954"}],"author":[{"embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jianxp001"}],"wp:attachment":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=375954"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=375954"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=375954"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=375954"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=375954"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=375954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}