{"id":317310,"date":"2026-07-08T23:00:41","date_gmt":"2026-07-08T23:00:41","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/twt-aeo-ultimate\/"},"modified":"2026-07-09T11:42:37","modified_gmt":"2026-07-09T11:42:37","slug":"twt-aeo-ultimate","status":"publish","type":"plugin","link":"https:\/\/bal.wordpress.org\/plugins\/twt-aeo-ultimate\/","author":6277636,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.9.0","stable_tag":"2.9.0","tested":"7.0.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"AEO Ultimate","header_author":"Tampa Web Technologies","header_description":"Monitor AI search visibility, track AEO changes, and connect your site to TWT Agency. Install on each client site.","assets_banners_color":"696d64","last_updated":"2026-07-09 11:42:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/tampawebtech.com\/twt-aeo-ultimate","header_author_uri":"https:\/\/tampawebtech.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":76,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.9.0":{"tag":"2.9.0","author":"jadeslair","date":"2026-07-09 11:42:37"}},"upgrade_notice":{"2.9.0":"","2.8.0":"","2.3.1":"","2.1.0":"<p>WordPress 7.0 compatibility update. Requires MySQL 8.0 and recommends a 256MB PHP memory limit. Adds React DataViews rendering, Command Palette bindings, and secure credential handling via <code>TWT_AEO_Key_Resolver<\/code>. After updating, visit TWT AEO \u2192 Modules to confirm your configuration.<\/p>","1.0.17":"<p>Adds the Company Profile module (<code>article:publisher<\/code>, <code>fb:app_id<\/code>), per-bot rate-limit controls, and <code>\/llms-full.txt<\/code> output. <strong>Action required:<\/strong> after updating, go to Settings \u2192 Permalinks and click Save to register the new rewrite rules.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3600850,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3600850,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3601690,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=twt-aeo-modules\",\"preferredVersions\":{\"php\":\"8.0\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"twt-aeo-ultimate\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["2.9.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3600850,"resolution":"1","location":"assets","locale":"","width":1568,"height":1206},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3600850,"resolution":"2","location":"assets","locale":"","width":1264,"height":956},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3600850,"resolution":"3","location":"assets","locale":"","width":1606,"height":1199},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3600850,"resolution":"4","location":"assets","locale":"","width":1593,"height":1194},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3600850,"resolution":"5","location":"assets","locale":"","width":1595,"height":1200},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3600850,"resolution":"6","location":"assets","locale":"","width":1595,"height":1187},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3600850,"resolution":"7","location":"assets","locale":"","width":1601,"height":1194},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3600850,"resolution":"8","location":"assets","locale":"","width":1597,"height":1195},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3600850,"resolution":"9","location":"assets","locale":"","width":1588,"height":1201}},"screenshots":{"1":"<strong>Command Center<\/strong> \u2014 Real-time AI Crawler Watch monitor and bot traffic breakdown.","2":"<strong>AI Ready Configuration<\/strong> \u2014 Per-bot rate limits and block toggles for 20+ AI agents.","3":"<strong>Company Profile Manager<\/strong> \u2014 Brand identity fields and Meta Business integration.","4":"<strong>Author Profile Extensions<\/strong> \u2014 Custom fields on the WordPress user profile for certifications and credentials.","5":"<strong>E-E-A-T Quality Assessment<\/strong> \u2014 Trust-signal scoring across your authors.","6":"<strong>Sitemap Generator<\/strong> \u2014 Post-type selection for both XML and Markdown endpoints.","7":"<strong>Modules Screen<\/strong> \u2014 Enable or disable each feature independently."}},"plugin_section":[],"plugin_tags":[244526,239487,1117,186,1121],"plugin_category":[55],"plugin_contributors":[270656],"plugin_business_model":[],"class_list":["post-317310","plugin","type-plugin","status-publish","hentry","plugin_tags-aeo","plugin_tags-llms","plugin_tags-schema","plugin_tags-seo","plugin_tags-structured-data","plugin_category-seo-and-marketing","plugin_contributors-jadeslair","plugin_committers-jadeslair"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/icon-256x256.png?rev=3600850","icon_2x":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/icon-256x256.png?rev=3600850","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/screenshot-1.png?rev=3600850","caption":"<strong>Command Center<\/strong> \u2014 Real-time AI Crawler Watch monitor and bot traffic breakdown."},{"src":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/screenshot-2.png?rev=3600850","caption":"<strong>AI Ready Configuration<\/strong> \u2014 Per-bot rate limits and block toggles for 20+ AI agents."},{"src":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/screenshot-3.png?rev=3600850","caption":"<strong>Company Profile Manager<\/strong> \u2014 Brand identity fields and Meta Business integration."},{"src":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/screenshot-4.png?rev=3600850","caption":"<strong>Author Profile Extensions<\/strong> \u2014 Custom fields on the WordPress user profile for certifications and credentials."},{"src":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/screenshot-5.png?rev=3600850","caption":"<strong>E-E-A-T Quality Assessment<\/strong> \u2014 Trust-signal scoring across your authors."},{"src":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/screenshot-6.png?rev=3600850","caption":"<strong>Sitemap Generator<\/strong> \u2014 Post-type selection for both XML and Markdown endpoints."},{"src":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/screenshot-7.png?rev=3600850","caption":"<strong>Modules Screen<\/strong> \u2014 Enable or disable each feature independently."},{"src":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/screenshot-8.png?rev=3600850","caption":""},{"src":"https:\/\/ps.w.org\/twt-aeo-ultimate\/assets\/screenshot-9.png?rev=3600850","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>TWT AEO Ultimate<\/strong> prepares your WordPress site for the AI-first web. As search shifts from ten blue links to AI-generated answers, the signals that get your content cited \u2014 structured schema, author authority, publisher identity, and machine-readable content \u2014 matter more than ever.<\/p>\n\n<p>Fully modular: enable only what your site needs. Every feature toggles independently.<\/p>\n\n<h4>\ud83e\udd16 AI Ready<\/h4>\n\n<p>llms.txt and llms-full.txt endpoints, Markdown content negotiation for AI agents, Content-Signal headers, an Agent Search REST API, MCP\/WebMCP discovery, OAuth\/OIDC discovery, per-bot rate limiting and blocking for 20+ AI crawlers, and an RFC 9727 API catalog.<\/p>\n\n<h4>\ud83c\udfe2 Company Profile<\/h4>\n\n<p>Organization JSON-LD (legal name, logo, contact points, sameAs), an explicit article:publisher \/ article:author Open Graph split, sitewide fb:app_id for Meta Domain Insights, and one-click import from Yoast or Rank Math.<\/p>\n\n<h4>\u270d\ufe0f Author &amp; E-E-A-T<\/h4>\n\n<p>Rich author profiles: job titles, credentials output as EducationalOccupationalCredential schema, expertise areas, years of experience, social sameAs links, optional hover cards and author boxes, and an E-E-A-T completeness score.<\/p>\n\n<h4>\ud83d\uddfa\ufe0f Smart Sitemap Generator<\/h4>\n\n<p>Cached \/aeo-sitemap.xml with per-post-type controls, a mirrored llms-full.txt, and collision protection with Yoast, Rank Math, and AIOSEO sitemaps.<\/p>\n\n<h4>\ud83d\udd0d Schema Detector &amp; Command Center<\/h4>\n\n<p>Detects FAQs, Services, and Contact pages and fills in missing JSON-LD. The Command Center shows live AI-crawler activity, duplicate-schema conflicts, and a real-time readiness score.<\/p>\n\n<h4>\ud83d\udee0\ufe0f Add-ons<\/h4>\n\n<p>Image SEO (AI alt text), IndexNow, LocalBusiness schema with a NAP consistency checker, rich WooCommerce product schema with AI product enrichment and Google &amp; Bing Merchant Center sync, and PR Bridge AI press-release distribution.<\/p>\n\n<h4>External Services &amp; TWT Agency<\/h4>\n\n<p>Optional AI features connect to Anthropic Claude, OpenAI, Google Gemini, and Perplexity using your own API keys. Other optional integrations cover Google and Microsoft APIs, IndexNow, and PR wire services. Nothing is sent anywhere until you configure a feature and explicitly trigger it \u2014 see the FAQ for the full list with terms and privacy links, and the bundled EXTERNAL-SERVICES.md for the complete outbound-link inventory. Optional TWT Agency connectivity is available; the plugin is fully functional standalone.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the entire <code>twt-aeo-ultimate<\/code> folder to your <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin via the <strong>Plugins<\/strong> screen in your WordPress dashboard.<\/li>\n<li>Go to <strong>TWT AEO \u2192 Modules<\/strong> to review and enable the features you want.<\/li>\n<li>Set up your publisher identity under <strong>TWT AEO \u2192 Company<\/strong>.<\/li>\n<li>Update your user profiles under <strong>Users \u2192 All Users<\/strong> to complete each author's E-E-A-T data.<\/li>\n<li>Configure bot visibility and access controls at <strong>TWT AEO \u2192 AI Ready<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Important:<\/strong> After activating, go to <strong>Settings \u2192 Permalinks<\/strong> and click <strong>Save Changes<\/strong> once. This flushes rewrite rules so the virtual routes for <code>\/llms.txt<\/code>, <code>\/llms-full.txt<\/code>, and <code>\/aeo-sitemap.xml<\/code> resolve correctly.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20conflict%20with%20yoast%20seo%20or%20rank%20math%3F\"><h3>Does this plugin conflict with Yoast SEO or Rank Math?<\/h3><\/dt>\n<dd><p>No. TWT AEO Ultimate detects active SEO suites and steps back from any metadata they already output (Organization, Article, Open Graph). It acts as an enhancement layer, adding the signals those suites typically miss \u2014 <code>article:publisher<\/code>, rate-limit controls for 20+ AI agents, author credential schema, and <code>llms.txt<\/code> processing.<\/p><\/dd>\n<dt id=\"what%20is%20llms.txt%20and%20why%20do%20i%20need%20it%3F\"><h3>What is llms.txt and why do I need it?<\/h3><\/dt>\n<dd><p>llms.txt is an emerging standard (see llmstxt.org) that gives AI systems a clean, machine-readable summary of what your site contains and how to access it. Think of it as a <code>robots.txt<\/code> written for language models. The companion endpoint <code>\/llms-full.txt<\/code> serves your content as clean Markdown so crawlers can ingest it without parsing token-heavy HTML.<\/p><\/dd>\n<dt id=\"why%20does%20the%20publisher%2Fauthor%20open%20graph%20split%20matter%3F\"><h3>Why does the publisher\/author Open Graph split matter?<\/h3><\/dt>\n<dd><p>Standard social tags often blur authorship by failing to separate your brand from the individual writer. TWT AEO Ultimate keeps them distinct: <code>article:publisher<\/code> establishes the company identity, while <code>article:author<\/code> links to the individual author. AI models use this split to assess authority and attribute content accurately.<\/p><\/dd>\n<dt id=\"what%20does%20the%20meta%20business%20sync%20do%3F\"><h3>What does the Meta Business Sync do?<\/h3><\/dt>\n<dd><p>It adds the sitewide <code>fb:app_id<\/code> tag, which links your domain to your Meta Developer App. That unlocks the Meta Domain Insights dashboard and helps Meta attribute your content correctly across its ad and AI systems. Most SEO plugins don't output this tag.<\/p><\/dd>\n<dt id=\"can%20i%20block%20specific%20ai%20bots%20or%20engines%20safely%3F\"><h3>Can I block specific AI bots or engines safely?<\/h3><\/dt>\n<dd><p>Yes. Under <strong>TWT AEO \u2192 AI Ready \u2192 Security &amp; Rate Limiting<\/strong>, each of 20+ known AI crawlers has a Block toggle and a custom rate-limit override. Blocking a bot writes a <code>Disallow<\/code> entry to your virtual <code>robots.txt<\/code> and returns a 403 on its requests \u2014 both advisory and hard enforcement.<\/p><\/dd>\n<dt id=\"will%20the%20rate%20limiter%20affect%20my%20human%20visitors%3F\"><h3>Will the rate limiter affect my human visitors?<\/h3><\/dt>\n<dd><p>No. The filter matches requests by User-Agent against the known AI crawler list only. Regular browsers, ordinary visitors, and traditional search engines (like Googlebot) pass through unaffected.<\/p><\/dd>\n<dt id=\"will%20this%20add%20overhead%20or%20slow%20down%20my%20site%3F\"><h3>Will this add overhead or slow down my site?<\/h3><\/dt>\n<dd><p>No. Frontend metadata, schema, and virtual assets are served from the WordPress Transients API with a 1-hour cache. Heavier work runs only when a post is saved or settings change. The crawler rate limiter adds a single transient read per page load, and only for known AI agents.<\/p><\/dd>\n<dt id=\"what%20are%20the%20system%20requirements%3F\"><h3>What are the system requirements?<\/h3><\/dt>\n<dd><p>PHP 7.4 or higher (PHP 8.0+ recommended) and WordPress 6.0+. For full functionality on WordPress 7.0 and its modern data views, MySQL 8.0 and a PHP memory limit of at least 256MB are recommended.<\/p><\/dd>\n<dt id=\"what%20external%20services%20does%20this%20plugin%20connect%20to%3F\"><h3>What external services does this plugin connect to?<\/h3><\/dt>\n<dd><p>Only the ones you configure, and only when you trigger them:<\/p>\n\n<ul>\n<li><strong>Anthropic Claude<\/strong> \u2014 AI writing and enrichment. <a href=\"https:\/\/www.anthropic.com\/legal\/aup\">Terms<\/a> | <a href=\"https:\/\/www.anthropic.com\/legal\/privacy\">Privacy<\/a><\/li>\n<li><strong>OpenAI<\/strong> \u2014 descriptions, OG images, image analysis. <a href=\"https:\/\/openai.com\/policies\/terms-of-use\">Terms<\/a> | <a href=\"https:\/\/openai.com\/policies\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>Google Gemini<\/strong> \u2014 descriptions, vision, grounded lookups. <a href=\"https:\/\/policies.google.com\/terms\">Terms<\/a> | <a href=\"https:\/\/policies.google.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>Perplexity<\/strong> \u2014 brand authority and gap research. <a href=\"https:\/\/www.perplexity.ai\/hub\/legal\/terms-of-service\">Terms<\/a> | <a href=\"https:\/\/www.perplexity.ai\/hub\/legal\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>Google APIs<\/strong> \u2014 Search Console, Analytics, Knowledge Graph, Business Profile, Merchant Center. <a href=\"https:\/\/policies.google.com\/terms\">Terms<\/a> | <a href=\"https:\/\/policies.google.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>Microsoft \/ Bing APIs<\/strong> \u2014 Webmaster Tools, Merchant Center, Maps Local Search. <a href=\"https:\/\/www.microsoft.com\/en-us\/servicesagreement\">Terms<\/a> | <a href=\"https:\/\/www.microsoft.com\/en-us\/privacy\/privacystatement\">Privacy<\/a><\/li>\n<li><strong>IndexNow<\/strong> \u2014 URL submission on publish. <a href=\"https:\/\/www.indexnow.org\/terms\">Terms &amp; Privacy<\/a><\/li>\n<li><strong>EIN Presswire<\/strong> \u2014 press-release distribution. <a href=\"https:\/\/www.einpresswire.com\/legal\/terms\">Terms<\/a> | <a href=\"https:\/\/www.einpresswire.com\/legal\/privacy\">Privacy<\/a><\/li>\n<li><strong>EasyPRwire<\/strong> \u2014 press-release distribution. <a href=\"https:\/\/easyprwire.com\/terms-and-condition\">Terms<\/a> | <a href=\"https:\/\/easyprwire.com\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>TWT Agency<\/strong> (optional) and opt-in token telemetry. <a href=\"https:\/\/tampawebtech.com\/plugin-terms\/\">Terms<\/a> | <a href=\"https:\/\/tampawebtech.com\/plugin-privacy-policies\/\">Privacy<\/a><\/li>\n<\/ul>\n\n<p>Each request sends only the data needed for that action, using your own API key. No site-visitor personal data is ever transmitted. The plugin also displays outbound links to industry directories and documentation sites \u2014 no data is sent to those; the complete inventory with each site's terms and privacy policy ships in EXTERNAL-SERVICES.md inside the plugin folder.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.9.0<\/h4>\n\n<p>EXTERNAL-SERVICES.md and the full version history in changelog.txt, both bundled with the plugin.\n* <strong>Compliance:<\/strong> Verified every disclosed terms\/privacy link resolves and corrected outdated ones; expanded disclosures to name each API endpoint and dashboard link.\n* <strong>i18n:<\/strong> Regenerated the translation template and fixed translator-comment mismatches.<\/p>\n\n<h4>2.8.0<\/h4>\n\n<ul>\n<li><strong>Feature:<\/strong> When the server filesystem is not writable, the AI Ready page now shows step-by-step instructions plus the exact, copy-and-paste contents for creating the <code>\/.well-known\/<\/code> discovery files (and the <code>robots.txt<\/code> Content-Signal\/Sitemap directives) by hand.<\/li>\n<li><strong>Compliance:<\/strong> Expanded the External Services disclosures with the optional industry-directory links the plugin can surface, and corrected\/removed several directory URLs.<\/li>\n<\/ul>\n\n<h4>Earlier versions<\/h4>\n\n<p>The complete version history ships in the changelog.txt file bundled with the plugin.<\/p>","raw_excerpt":"Answer Engine Optimization for WordPress. Structured data, AI crawler controls, E-E-A-T author profiles, and publisher signals \u2014 all in one place.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/317310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=317310"}],"author":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jadeslair"}],"wp:attachment":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=317310"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=317310"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=317310"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=317310"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=317310"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=317310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}