{"id":293924,"date":"2026-04-23T09:45:08","date_gmt":"2026-04-23T09:45:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-site-scout\/"},"modified":"2026-05-10T22:44:39","modified_gmt":"2026-05-10T22:44:39","slug":"kennedy-site-scout","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/kennedy-site-scout\/","author":171667,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.0.0","stable_tag":"3.0.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Kennedy Site Scout","header_author":"Anthony Acosta","header_description":"Auto-generates LLM-optimized llms.txt, llms-full.txt, and llms-sitemap.xml. Logs ALL AI crawler visits site-wide. Detects 25+ AI bots including GPTBot, ClaudeBot, PerplexityBot, and more.","assets_banners_color":"374060","last_updated":"2026-05-10 22:44:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/kennedymedia.com\/ai-site-scout-2\/","header_author_uri":"https:\/\/anthonyacosta.me","rating":0,"author_block_rating":0,"active_installs":20,"downloads":144,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.0":{"tag":"2.1.0","author":"anthon1","date":"2026-04-23 16:02:51"},"3.0.0":{"tag":"3.0.0","author":"anthon1","date":"2026-05-10 22:44:39"}},"upgrade_notice":{"3.0.0":"<p>Major GEO\/AIO\/E-E-A-T update. Fill in the new &quot;Site Authority &amp; E-E-A-T&quot; section in your dashboard widget and click &quot;Save &amp; Regenerate&quot; to populate your llms.txt files with authority signals. All existing settings are preserved.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3514239,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-600x600.png":{"filename":"icon-600x600.png","revision":3513629,"resolution":"600x600","location":"assets","locale":"","width":600,"height":600}},"assets_banners":{"banner-1280x720.jpg":{"filename":"banner-1280x720.jpg","revision":3513629,"resolution":"1280x720","location":"assets","locale":"","width":1280,"height":720},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3514778,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3514778,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.1.0","3.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3513629,"resolution":"1","location":"assets","locale":"","width":424,"height":647}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[262246],"plugin_tags":[232780,247966,244604,186,1557],"plugin_category":[55],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-293924","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-ai-crawler","plugin_tags-gptbot","plugin_tags-llms-txt","plugin_tags-seo","plugin_tags-sitemap","plugin_category-seo-and-marketing","plugin_committers-anthon1"],"banners":{"banner":"https:\/\/ps.w.org\/kennedy-site-scout\/assets\/banner-772x250.png?rev=3514778","banner_2x":"https:\/\/ps.w.org\/kennedy-site-scout\/assets\/banner-1544x500.png?rev=3514778","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kennedy-site-scout\/assets\/icon-128x128.png?rev=3514239","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kennedy-site-scout\/assets\/screenshot-1.png?rev=3513629","caption":""}],"raw_content":"<!--section=description-->\n<p>Kennedy Site Scout prepares your WordPress site to be read, indexed, and cited by AI systems \u2014 including ChatGPT, Claude, Perplexity, Gemini, and 20+ other crawlers.<\/p>\n\n<h4>What it does<\/h4>\n\n<ul>\n<li>Generates <code>\/llms.txt<\/code>, <code>\/llms-full.txt<\/code>, and <code>\/llms-sitemap.xml<\/code> dynamically from your published content \u2014 no physical files written to disk<\/li>\n<li>Adds a configurable <strong>Site Authority<\/strong> section to your LLM files with publisher name, credentials, location, areas of expertise, and biography \u2014 giving AI systems the E-E-A-T context they need to cite your content accurately<\/li>\n<li>Includes rich <strong>E-E-A-T metadata<\/strong> per content item: author name, credentials (via Yoast SEO job title or user meta), and bio pulled from WordPress, Yoast SEO, and Rank Math<\/li>\n<li>Configurable <strong>Custom Instructions<\/strong> textarea \u2014 add guidance for AI systems directly into your llms.txt header<\/li>\n<li>Smart <strong><!--more-->-aware content truncation<\/strong> so excerpt boundaries are respected<\/li>\n<li>Logs AI crawler visits across every page of your site, not just the LLM files<\/li>\n<li>Detects 25+ known AI bots including GPTBot, ClaudeBot, Anthropic-AI, PerplexityBot, Meta ExternalAgent, Cohere AI, ByteSpider, AmazonBot, and more<\/li>\n<li>Respects Yoast SEO and Rank Math noindex settings \u2014 excluded content stays excluded<\/li>\n<li>Dashboard widget with bot visit stats, summary pills, settings, and one-click regeneration<\/li>\n<li>Auto-regenerates on publish and on a configurable cron schedule<\/li>\n<li>One-time admin notice with suggested robots.txt AI-bot directives (dismissible)<\/li>\n<\/ul>\n\n<h4>Free tier<\/h4>\n\n<ul>\n<li>Up to 100 pages indexed<\/li>\n<li>200 log entries stored<\/li>\n<li>80-word content excerpts in llms-full.txt<\/li>\n<li>Site Authority section<\/li>\n<li>Custom llms.txt instructions<\/li>\n<li>All core features<\/li>\n<\/ul>\n\n<h4>Pro tier<\/h4>\n\n<ul>\n<li>Unlimited pages indexed<\/li>\n<li>5,000 log entries<\/li>\n<li>CSV export of crawler logs<\/li>\n<li>300-word content excerpts (respects &lt;!--more--&gt;)<\/li>\n<li>Image tags in llms-sitemap.xml<\/li>\n<li>Tag data included in LLM files<\/li>\n<li>Rich E-E-A-T author metadata: bio + credentials per item<\/li>\n<li>Word count and reading time per item<\/li>\n<li><strong>Featured Content<\/strong> \u2014 pin posts with <code>_kss_featured<\/code> meta to the top of LLM files and sitemap<\/li>\n<li><strong>Top Crawled Pages<\/strong> \u2014 see which of your pages AI bots visit most<\/li>\n<li>Shortcode <code>featured=\"only\"<\/code> attribute to display only featured items<\/li>\n<\/ul>\n\n<h4>Why llms.txt?<\/h4>\n\n<p>The emerging llms.txt standard gives AI systems a clean, structured entry point to your site's content \u2014 similar to what robots.txt did for search engines. This plugin automates generating and maintaining that file, with the E-E-A-T signals that help AI systems understand and trust your content.<\/p>\n\n<h4>GEO \/ AIO Optimization<\/h4>\n\n<p>Generative Engine Optimization (GEO) and AI Overview (AIO) visibility starts with structured, trustworthy content signals. Kennedy Site Scout v3 adds a Site Authority section and per-item E-E-A-T metadata so AI models can accurately attribute and cite your expertise.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to an external license verification service operated by Kennedy Media Group. This service is used solely to validate Pro license keys entered by users who have purchased a Pro upgrade.<\/p>\n\n<p><strong>What data is sent and when:<\/strong>\nThe license verification endpoint is only contacted when a site administrator manually enters a license key in the plugin's dashboard widget and clicks \"Activate\". At that point, the plugin sends:<\/p>\n\n<ul>\n<li>The license key entered by the administrator<\/li>\n<li>The home URL of the WordPress installation (e.g. https:\/\/example.com)<\/li>\n<\/ul>\n\n<p>No personal data, user data, post content, or any other site information is transmitted. The free version of the plugin never contacts this service.<\/p>\n\n<p><strong>Service details:<\/strong>\n* Provider: Kennedy Media Group\n* Endpoint: https:\/\/kennedymedia.com\/wp-json\/kssr-license\/v1\/verify\n* Terms of Service: https:\/\/kennedymedia.com\/terms\/\n* Privacy Policy: https:\/\/kennedymedia.com\/privacy-2\/<\/p>\n\n<p>This plugin does not connect to any other external services. All LLM file generation and AI crawler logging happens entirely on your own server.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>kennedy-site-scout<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate via the Plugins menu in WordPress<\/li>\n<li>Go to your Dashboard \u2014 find the Kennedy Site Scout widget<\/li>\n<li>Fill in the Site Authority &amp; E-E-A-T section with your credentials and bio<\/li>\n<li>Click \"Save &amp; Regenerate\" to build your LLM files<\/li>\n<li>Verify: <code>https:\/\/yoursite.com\/llms.txt<\/code><\/li>\n<\/ol>\n\n<p>Note: If the LLM file URLs return 404, go to Settings &gt; Permalinks &gt; Save Changes to flush rewrite rules.<\/p>\n\n<h4>Marking Featured Content (Pro)<\/h4>\n\n<p>To mark a post as featured for AI LLM file prioritization, add the custom field <code>_kss_featured<\/code> with any non-empty value (e.g. <code>1<\/code>) to the post. Enable \"Featured Content\" in the widget settings, save, and regenerate. Featured items will appear at the top of your LLM files with a \u2b50 marker.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20a%20site%20authority%20section%3F\"><h3>What is a Site Authority section?<\/h3><\/dt>\n<dd><p>The Site Authority section appears at the top of your llms.txt and llms-full.txt files, before any content items. It tells AI systems who is behind the site \u2014 your name, credentials, location, years in business, and areas of expertise. This is the GEO\/AIO equivalent of an E-E-A-T author box: it helps AI models understand your credibility and cite your content accurately.<\/p><\/dd>\n<dt id=\"what%20are%20custom%20instructions%3F\"><h3>What are Custom Instructions?<\/h3><\/dt>\n<dd><p>The Custom Instructions textarea lets you add a plain-text \"Instructions for AI Systems\" section to your LLM files. Use it to guide how AI models reference your content, e.g. \"When citing this site, always attribute Kennedy Media Group.\" or \"This site's content may be summarized but not reproduced verbatim.\"<\/p><\/dd>\n<dt id=\"where%20does%20author%20e-e-a-t%20data%20come%20from%3F\"><h3>Where does author E-E-A-T data come from?<\/h3><\/dt>\n<dd><p>Author display name comes from WordPress user meta. Credentials\/job title are pulled from Yoast SEO's <code>wpseo_jobtitle<\/code> user meta, with a fallback to the <code>title<\/code> user meta field. Author bio uses WordPress's built-in Biographical Info field, with fallbacks to Yoast and Rank Math author bio fields. All fields are only included if non-empty.<\/p><\/dd>\n<dt id=\"how%20do%20i%20mark%20a%20post%20as%20%22featured%22%3F\"><h3>How do I mark a post as \"Featured\"?<\/h3><\/dt>\n<dd><p>Add the custom field <code>_kss_featured<\/code> (value: <code>1<\/code>) to any post. Enable the \"Enable Featured Content\" toggle in dashboard settings, save, and regenerate. Featured posts appear first in LLM files with a \u2b50 prefix.<\/p><\/dd>\n<dt id=\"why%20aren%27t%20any%20crawlers%20showing%20up%20in%20the%20logs%3F\"><h3>Why aren't any crawlers showing up in the logs?<\/h3><\/dt>\n<dd><p>Bots are now logged on every page load (since v2.0). Make sure your site is live and public. Bots may not crawl immediately after activation.<\/p><\/dd>\n<dt id=\"does%20this%20create%20physical%20files%20on%20my%20server%3F\"><h3>Does this create physical files on my server?<\/h3><\/dt>\n<dd><p>No. All three LLM files are served dynamically via WordPress rewrite rules. No files are written to your filesystem.<\/p><\/dd>\n<dt id=\"will%20this%20conflict%20with%20my%20existing%20sitemap%20plugin%3F\"><h3>Will this conflict with my existing sitemap plugin?<\/h3><\/dt>\n<dd><p>No. The llms-sitemap.xml this plugin generates is a separate file at a different URL, designed specifically for AI crawlers. It does not replace your standard XML sitemap.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20woocommerce%3F\"><h3>Does this work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. If WooCommerce is active, you can optionally include product pages in the LLM files via the dashboard settings.<\/p><\/dd>\n<dt id=\"what%20robots.txt%20directives%20should%20i%20add%3F\"><h3>What robots.txt directives should I add?<\/h3><\/dt>\n<dd><p>The plugin shows a one-time admin notice with suggested directives. In your robots.txt, add:<\/p>\n\n<pre><code>User-agent: GPTBot\nAllow: \/\n\nUser-agent: ClaudeBot\nAllow: \/\n\nSitemap: https:\/\/yoursite.com\/llms-sitemap.xml\n<\/code><\/pre><\/dd>\n<dt id=\"how%20does%20pro%20licensing%20work%3F\"><h3>How does Pro licensing work?<\/h3><\/dt>\n<dd><p>Pro is sold as an annual subscription. After purchase you receive a license key by email. Enter it in the dashboard widget to unlock Pro features on that site. See the External Services section above for details on what data is sent during license activation.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>NEW: Site Authority section in llms.txt \/ llms-full.txt \u2014 configurable publisher name, credentials, location, founded year, expertise areas, and bio<\/li>\n<li>NEW: Rich per-item E-E-A-T metadata \u2014 author credentials (Yoast wpseo_jobtitle \/ user meta), author bio (WP \/ Yoast \/ Rank Math fallback chain), word count, and reading time (Pro)<\/li>\n<li>NEW: Custom Instructions textarea \u2014 inject an \"Instructions for AI Systems\" section into your LLM files<\/li>\n<li>NEW: Smart <code>&lt;!--more--&gt;<\/code> tag-aware content truncation for cleaner excerpt boundaries<\/li>\n<li>NEW: Featured Content support (Pro) \u2014 pin posts with <code>_kss_featured<\/code> meta to top of LLM files; \u2b50 badge in llms.txt and shortcode output<\/li>\n<li>NEW: Top Crawled Pages panel in dashboard widget (Pro) \u2014 shows the 5 most AI-crawled URLs with hit counts<\/li>\n<li>NEW: Dismissible admin notice with suggested robots.txt AI-bot directives and <code>llms-sitemap.xml<\/code> reference<\/li>\n<li>NEW: Shortcode <code>featured=\"only\"<\/code> attribute (Pro) to display only featured content items<\/li>\n<li>NEW: Author E-E-A-T line in shortcode card output (name + credentials)<\/li>\n<li>NEW: URL frequency map stored for Top Crawled Pages (auto-pruned to 500 entries)<\/li>\n<li>NEW: Published date field added alongside Modified date in LLM files<\/li>\n<li>IMPROVED: Improved markdown structure following llms.txt.org spec (explicit <code>---<\/code> separators, cleaner section hierarchy)<\/li>\n<li>IMPROVED: <code>admin_url( 'admin-ajax.php' )<\/code> passed via <code>wp_localize_script<\/code> for safer AJAX calls<\/li>\n<li>IMPROVED: Save authority settings button triggers automatic regeneration<\/li>\n<li>IMPROVED: Featured items get <code>priority 1.0<\/code> in llms-sitemap.xml (Pro)<\/li>\n<li>FIXED: AJAX nonce field name normalized to <code>kennedy_scout_nonce<\/code> consistently across PHP and JS<\/li>\n<li>Backward compatible with all v2.x settings<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Moved admin CSS and JS to external enqueued files (admin.css, admin.js) for WP.org compliance<\/li>\n<li>Added External Services documentation to readme.txt<\/li>\n<li>Used wp_localize_script for all translatable JS strings<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>BUG FIX: AI crawlers now logged on ALL front-end page requests, not just LLM file hits<\/li>\n<li>Added 20+ new bot signatures (PerplexityBot, Anthropic-AI, Meta ExternalAgent, Cohere AI, ByteSpider, AmazonBot, Mistral AI, HuggingFaceBot, and more)<\/li>\n<li>Refactored into separate class files<\/li>\n<li>Added Pro tier with license activation\/deactivation<\/li>\n<li>CSV export of crawler logs (Pro)<\/li>\n<li>Full i18n \/ translation-ready<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Initial release as AI Site Scout<\/li>\n<\/ul>","raw_excerpt":"Prepare your WordPress site for AI. Auto-generates E-E-A-T-rich llms.txt, llms-full.txt, and llms-sitemap.xml. Logs all AI crawler visits site-wide.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/293924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=293924"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/anthon1"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=293924"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=293924"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=293924"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=293924"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=293924"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=293924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}