{"id":294047,"date":"2026-04-19T06:29:00","date_gmt":"2026-04-19T06:29:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/videowhisper-agentic-optimization\/"},"modified":"2026-05-07T10:14:54","modified_gmt":"2026-05-07T10:14:54","slug":"videowhisper-agentic-optimization","status":"publish","type":"plugin","link":"https:\/\/ca-valencia.wordpress.org\/plugins\/videowhisper-agentic-optimization\/","author":1486178,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.7","stable_tag":"trunk","tested":"6.9.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Agentic Optimization - SEO for AI Agents","header_author":"VideoWhisper","header_description":"Adds agent-friendly discovery, search, markdown, and read-only MCP access for public WordPress content.","assets_banners_color":"6dbdce","last_updated":"2026-05-07 10:14:54","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/promptaur.com\/wordpress\/agentic-optimization\/","header_author_uri":"https:\/\/videowhisper.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":269,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"videowhisper","date":"2026-04-19 06:28:31"}},"upgrade_notice":{"1.0.3":"<p>Adds extension hooks for editorial agent overrides and reserves custom post type exposure for hook-based add-ons.<\/p>","1.0.2":"<p>Compatibility update for WordPress.org review: the public REST namespace is now plugin-prefixed.<\/p>","1.0.1":"<p>Security hardening: settings sanitize callback no longer reads directly from POST; active tab is now passed via the Settings API input array.<\/p>","1.0.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3509889,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3509889,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3509889,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3509889,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Overview tab showing public endpoints and feature status.","2":"Discovery and MCP settings tabs.","3":"Analytics tab with aggregate request counts and recent events."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,244604,4608,242115,944],"plugin_category":[],"plugin_contributors":[81698],"plugin_business_model":[],"class_list":["post-294047","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-llms-txt","plugin_tags-markdown","plugin_tags-mcp","plugin_tags-search","plugin_contributors-videowhisper","plugin_committers-videowhisper"],"banners":{"banner":"https:\/\/ps.w.org\/videowhisper-agentic-optimization\/assets\/banner-772x250.png?rev=3509889","banner_2x":"https:\/\/ps.w.org\/videowhisper-agentic-optimization\/assets\/banner-1544x500.png?rev=3509889","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/videowhisper-agentic-optimization\/assets\/icon-128x128.png?rev=3509889","icon_2x":"https:\/\/ps.w.org\/videowhisper-agentic-optimization\/assets\/icon-256x256.png?rev=3509889","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Agentic Optimization helps WordPress sites expose public content to AI agents in a safer, WordPress-native way.<\/p>\n\n<p>If SEO helped search engines discover, index, and understand websites, Agentic Optimization does something similar for AI agents, assistants, and LLM-powered tools. It gives public WordPress content clearer discovery files, cleaner read-only endpoints, and structured access paths that are easier for agentic systems to use responsibly.<\/p>\n\n<p>Instead of trying to make AI tools scrape full themes, shortcodes, and plugin output blindly, this plugin helps site owners publish a more intentional agent-facing layer for public content.<\/p>\n\n<p>Features in the free plugin:<\/p>\n\n<ul>\n<li>Root-level <code>llms.txt<\/code><\/li>\n<li>Optional root-level <code>llms-full.txt<\/code><\/li>\n<li>Root-level <code>agent-sitemap.xml<\/code><\/li>\n<li>Optional WordPress <code>robots.txt<\/code> enhancement with discovery hints<\/li>\n<li>Public REST search, content, markdown, comments, categories, tags, and site info endpoints<\/li>\n<li>Read-only MCP endpoint with search, content, comments, taxonomy, and site info tools<\/li>\n<li>Hard request caps and transient-based rate limiting<\/li>\n<li>Privacy-friendly analytics with aggregate counts and hashed IP logs only<\/li>\n<li>Admin-managed site description and site details for llms.txt context<\/li>\n<li>SEO-aware content exclusion hooks for common noindex patterns<\/li>\n<li>Extension points for future add-ons and custom integrations<\/li>\n<li>Formatter and admin hooks for add-ons that extend post type coverage or editorial agent overrides<\/li>\n<\/ul>\n\n<p>The plugin is intentionally conservative:<\/p>\n\n<ul>\n<li>Read-only only<\/li>\n<li>Public content only<\/li>\n<li>No drafts, private content, or pending comments<\/li>\n<li>Comments exposure disabled by default<\/li>\n<li>MCP disabled by default<\/li>\n<li>Analytics disabled by default<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin generates agent-optimized discovery files and sitemaps using standard XML formats.<\/p>\n\n<h4>Sitemaps.org XML Schema<\/h4>\n\n<p>The <code>agent-sitemap.xml<\/code> output uses the standard sitemap XML namespace (<code>http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9<\/code>) and a custom extension URN namespace (<code>urn:videowhisper:agentic:1.0<\/code>). These are identifier strings embedded in locally generated XML documents only. No data is transmitted to external services when the sitemap file is generated or served.<\/p>\n\n<ul>\n<li>sitemaps.org protocol reference: https:\/\/www.sitemaps.org\/protocol.html<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>VideoWhisper Agentic Optimization<\/strong> in the WordPress admin.<\/li>\n<li>Go to <code>Settings &gt; Agentic Optimization<\/code>.<\/li>\n<li>Enable the discovery outputs and APIs you want to expose.<\/li>\n<li>Save settings to publish your selected endpoints.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20urls%20does%20the%20plugin%20create%3F\"><h3>What URLs does the plugin create?<\/h3><\/dt>\n<dd><p>When enabled, the plugin publishes:<\/p>\n\n<ul>\n<li><code>\/llms.txt<\/code><\/li>\n<li><code>\/llms-full.txt<\/code><\/li>\n<li><code>\/agent-sitemap.xml<\/code><\/li>\n<li><code>\/robots.txt<\/code> (enhanced virtual output when enabled)<\/li>\n<li><code>\/wp-json\/videowhisper-agentic-optimization\/v1\/search<\/code><\/li>\n<li><code>\/wp-json\/videowhisper-agentic-optimization\/v1\/content<\/code><\/li>\n<li><code>\/wp-json\/videowhisper-agentic-optimization\/v1\/markdown\/&lt;id&gt;<\/code><\/li>\n<li><code>\/wp-json\/videowhisper-agentic-optimization\/v1\/comments\/&lt;post_id&gt;<\/code><\/li>\n<li><code>\/wp-json\/videowhisper-agentic-optimization\/v1\/site-info<\/code><\/li>\n<li><code>\/wp-json\/videowhisper-agentic-optimization\/v1\/mcp<\/code><\/li>\n<\/ul><\/dd>\n<dt id=\"does%20the%20free%20plugin%20allow%20writes%3F\"><h3>Does the free plugin allow writes?<\/h3><\/dt>\n<dd><p>No. The free plugin only exposes read-only access to public content.<\/p><\/dd>\n<dt id=\"does%20it%20track%20visitors%3F\"><h3>Does it track visitors?<\/h3><\/dt>\n<dd><p>Analytics are disabled by default. When enabled, the plugin stores aggregate counters and recent event logs with hashed IP values only.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Added endpoint-specific public content matrices with per-endpoint discovery exposure and per-type discovery limits.<\/li>\n<li>Added grouped discovery output for <code>llms.txt<\/code>, <code>llms-full.txt<\/code>, and <code>agent-sitemap.xml<\/code> with improved page, post, and custom post type ordering.<\/li>\n<li>Improved agent markup conversion and fixed plain-text discovery output so markdown blockquotes and other characters are not HTML-escaped.<\/li>\n<li>Improved admin Discovery reporting and external integration hooks.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added: <code>vwao_post_summary<\/code> and <code>vwao_admin_tab_label<\/code> hooks so add-ons can extend summaries and admin navigation safely.<\/li>\n<li>Changed: the built-in post type chooser now focuses on posts and pages, while extensions can add custom post type exposure through hooks.<\/li>\n<li>Bumped stable tag to 1.0.3.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Changed: REST namespace is now plugin-prefixed as <code>\/wp-json\/videowhisper-agentic-optimization\/v1\/...<\/code> for WordPress.org compliance.<\/li>\n<li>Bumped stable tag to 1.0.2.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: Active settings tab now passed through the Settings API <code>$input<\/code> array, removing direct POST reads inside the sanitize callback.<\/li>\n<li>Added: <code>== External Services ==<\/code> section in readme.txt documenting XML namespace usage for <code>agent-sitemap.xml<\/code>.<\/li>\n<li>Changed: Custom <code>agent-sitemap.xml<\/code> extension namespace from URL form to URN (<code>urn:videowhisper:agentic:1.0<\/code>) to avoid implying any external service call.<\/li>\n<li>Bumped stable tag to 1.0.1.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Added root-level <code>llms.txt<\/code>, <code>llms-full.txt<\/code>, and <code>agent-sitemap.xml<\/code>.<\/li>\n<li>Added admin-managed llms.txt context fields and optional robots.txt enhancement.<\/li>\n<li>Added public REST endpoints for search, content, markdown, comments, terms, and site info.<\/li>\n<li>Added a read-only HTTP JSON-RPC MCP endpoint.<\/li>\n<li>Added rate limiting, analytics, settings UI, and extension hooks for future add-ons.<\/li>\n<\/ul>","raw_excerpt":"Adds agent-friendly discovery, markdown, search, and read-only MCP access for public WordPress content, like SEO for AI agents and assistants.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/294047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=294047"}],"author":[{"embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/videowhisper"}],"wp:attachment":[{"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=294047"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=294047"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=294047"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=294047"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=294047"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=294047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}