{"id":289879,"date":"2026-04-16T09:05:33","date_gmt":"2026-04-16T09:05:33","guid":{"rendered":"https:\/\/de.wordpress.org\/plugins\/llms-txt-generator-by-llmstxtgenerator-de\/"},"modified":"2026-05-22T06:27:38","modified_gmt":"2026-05-22T06:27:38","slug":"aiready-llms-txt-generator","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/aiready-llms-txt-generator\/","author":23465476,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.6.2","stable_tag":"1.6.2","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"LLMs.txt Generator \u2013 AI Visibility","header_author":"Andr\u00e9 H\u00fclsmann","header_description":"Automatically generates and publishes llms.txt for AI assistants like ChatGPT, Claude and Perplexity. Free standalone mode uses WordPress data; Pro API mode adds WooCommerce product drill-down, intent routing, and 5 file formats.","assets_banners_color":"4b412f","last_updated":"2026-05-22 06:27:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/llmstxtgenerator.de\/wordpress-plugin\/","header_author_uri":"https:\/\/llmstxtgenerator.de\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":590,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.6":{"tag":"1.2.6","author":"aireadytools","date":"2026-04-16 09:09:02"},"1.2.7":{"tag":"1.2.7","author":"aireadytools","date":"2026-04-16 11:22:59"},"1.3.0":{"tag":"1.3.0","author":"aireadytools","date":"2026-05-04 17:15:10"},"1.4.0":{"tag":"1.4.0","author":"aireadytools","date":"2026-05-05 06:44:42"},"1.4.1":{"tag":"1.4.1","author":"aireadytools","date":"2026-05-05 07:16:23"},"1.4.2":{"tag":"1.4.2","author":"aireadytools","date":"2026-05-05 08:42:50"},"1.4.3":{"tag":"1.4.3","author":"aireadytools","date":"2026-05-05 09:12:54"},"1.4.4":{"tag":"1.4.4","author":"aireadytools","date":"2026-05-05 09:25:03"},"1.4.5":{"tag":"1.4.5","author":"aireadytools","date":"2026-05-05 10:24:13"},"1.4.6":{"tag":"1.4.6","author":"aireadytools","date":"2026-05-05 10:40:35"},"1.4.7":{"tag":"1.4.7","author":"aireadytools","date":"2026-05-05 13:45:30"},"1.4.8":{"tag":"1.4.8","author":"aireadytools","date":"2026-05-06 07:29:00"},"1.5.0":{"tag":"1.5.0","author":"aireadytools","date":"2026-05-15 12:52:35"},"1.5.1":{"tag":"1.5.1","author":"aireadytools","date":"2026-05-15 15:34:49"},"1.5.2":{"tag":"1.5.2","author":"aireadytools","date":"2026-05-16 07:33:23"},"1.5.3":{"tag":"1.5.3","author":"aireadytools","date":"2026-05-16 09:13:14"},"1.5.4":{"tag":"1.5.4","author":"aireadytools","date":"2026-05-20 07:34:17"},"1.5.5":{"tag":"1.5.5","author":"aireadytools","date":"2026-05-20 08:15:41"},"1.5.6":{"tag":"1.5.6","author":"aireadytools","date":"2026-05-20 12:32:11"},"1.5.7":{"tag":"1.5.7","author":"aireadytools","date":"2026-05-20 12:39:50"},"1.5.8":{"tag":"1.5.8","author":"aireadytools","date":"2026-05-20 12:53:11"},"1.5.9":{"tag":"1.5.9","author":"aireadytools","date":"2026-05-20 13:50:43"},"1.6.0":{"tag":"1.6.0","author":"aireadytools","date":"2026-05-21 05:03:53"},"1.6.1":{"tag":"1.6.1","author":"aireadytools","date":"2026-05-22 06:08:35"},"1.6.2":{"tag":"1.6.2","author":"aireadytools","date":"2026-05-22 06:27:38"}},"upgrade_notice":{"1.6.2":"<p>i18n fix: the main plugin page is now fully German on German installs (27 previously-English strings translated). No functional changes \u2014 safe upgrade.<\/p>","1.6.1":"<p>Directory discovery tune-up and refreshed, generator-first screenshots. No functional changes \u2014 safe upgrade.<\/p>","1.5.5":"<p>UX fix for the AI Visibility Score detail page: clear loading indicator with progress bar and status messages instead of a blank page during first computation. Safe upgrade \u2012 no API or settings changes.<\/p>","1.5.4":"<p>WordPress 7.0 compatibility tested. No functional changes from 1.5.3 \u2012 safe upgrade.<\/p>","1.5.3":"<p>UX refinements: clearer score-refresh buttons (top + new bottom), labelled URL list with full paths, generator card promoted to a prominent hero at the top. No backend changes \u2014 pure UI polish.<\/p>","1.5.2":"<p><strong>Critical bugfix.<\/strong> If you previously saw &quot;Pro or Agency licence required&quot; when generating with a valid Pro key, upgrade to 1.5.2 and re-verify your key in the plugin settings.<\/p>","1.5.1":"<p>UX cleanup: AI Visibility Score is now the first card on the plugin page (was hidden below settings). Stale &quot;Last error&quot; banner from old installs is removed.<\/p>","1.5.0":"<p>Major feature release: AI Visibility Score detail page with drill-down for every sub-score, 30-day score history (Pro), JSON\/CSV-ZIP export, and Re-Crawl button (Pro). No breaking changes.<\/p>","1.3.0":"<p>Three Pro tiers (Solo \u20ac4.90, Business \u20ac9.90, Agency \u20ac19.90\/mo) with tier-aware admin UI. Existing Pro\/Agency keys continue to work \u2014 no action required for current users.<\/p>","1.1.0":"<p>Fixes Pro mode generation error. Update recommended for all Pro users.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3507865,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3507865,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3507865,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.6","1.2.7","1.3.0","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.5.6","1.5.7","1.5.8","1.5.9","1.6.0","1.6.1","1.6.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3543243,"resolution":"1","location":"assets","locale":"","width":1200,"height":704},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3543201,"resolution":"2","location":"assets","locale":"","width":1200,"height":1944},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3543201,"resolution":"3","location":"assets","locale":"","width":1200,"height":568},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3533276,"resolution":"4","location":"assets","locale":"","width":1200,"height":480},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3533276,"resolution":"5","location":"assets","locale":"","width":1200,"height":620},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3533276,"resolution":"6","location":"assets","locale":"","width":1200,"height":530}},"screenshots":{"1":"Plugin-Dashboard \u2014 der llms.txt-Generator als zentrale Hero-Karte ganz oben (Dateistatus, Jetzt-generieren, Vorschau), darunter der KI-Sichtbarkeitsscore als erg\u00e4nzende \u00dcbersicht; rechts die Tier-Erkennung (Pro Business) mit aktiven Features \/ Plugin dashboard \u2014 the llms.txt generator as the hero card at the top (file status, generate now, preview), with the AI Visibility Score as a complementary overview below; tier detection (Pro Business) with active features on the right","2":"Einstellungen \u2014 einzubeziehende Inhalte (Seiten, Posts, WooCommerce-Produkte), benutzerdefinierte Markdown-Sektionen, Auto-Regenerate, Webhook-Secret und URL-Exclusions mit Wildcard-Support \/ Settings \u2014 included content (pages, posts, WooCommerce products), custom Markdown sections, auto-regenerate, webhook secret, and URL exclusions with wildcard support","3":"AI Visibility Score \u00dcbersichtskarte \u2014 Lighthouse-artiger Halbkreis-Dial 0\u2013100 mit f\u00fcnf klickbaren Sub-Score-Bars (Schema.org Coverage, llms.txt Health, AI Crawler Access, Content Quality Pro, noindex Compliance) und den Top-3-Empfehlungen \/ AI Visibility Score overview card \u2014 Lighthouse-style half-circle dial 0\u2013100 with five clickable sub-score bars (Schema.org Coverage, llms.txt Health, AI Crawler Access, Content Quality Pro, noindex Compliance) and the top three recommendations","4":"AI Visibility Score Detail-Seite (NEU in 1.5.0) \u2014 Header mit gr\u00f6\u00dferem Dial, Tier-Label und Action-Buttons (Export JSON, Export CSV als ZIP, Re-Crawl Pro), darunter alle f\u00fcnf Drilldown-Sektionen mit Tabellen, Check-Grids und Snippet-Box \/ AI Visibility Score detail page (NEW in 1.5.0) \u2014 header with larger dial, tier label and action buttons (Export JSON, Export CSV ZIP, Re-Crawl Pro), followed by all five drilldown sections with tables, check grids and snippet box","5":"Content-Qualit\u00e4t-Drilldown (Pro) \u2014 pro Stichproben-Seite werden Titel-L\u00e4nge, Meta-Description, H1, Alt-Tag-Quote und Open-Graph-Tags einzeln bewertet (10\/25\/50 Seiten je nach Tier) \/ Content quality drilldown (Pro) \u2014 per sampled page, title length, meta description, H1, alt-tag ratio and Open Graph tags are scored individually (10\/25\/50 pages by tier)","6":"Score-History-Sparkline (Pro) \u2014 SVG-Diagramm der letzten 30 Tage mit t\u00e4glichen Snapshots, tier-farbcodierten Datenpunkten und Delta zur Vorwoche \/ Score history sparkline (Pro) \u2014 SVG chart of the last 30 days with daily snapshots, tier-coloured data points and delta vs. previous week"}},"plugin_section":[],"plugin_tags":[2353,216196,244604,1117,286],"plugin_category":[45,55],"plugin_contributors":[260348],"plugin_business_model":[],"class_list":["post-289879","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chatgpt","plugin_tags-llms-txt","plugin_tags-schema","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-seo-and-marketing","plugin_contributors-aireadytools","plugin_committers-aireadytools"],"banners":{"banner":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/banner-772x250.png?rev=3507865","banner_2x":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/banner-1544x500.png?rev=3507865","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/icon-256x256.png?rev=3507865","icon_2x":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/icon-256x256.png?rev=3507865","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/screenshot-1.png?rev=3543243","caption":"Plugin-Dashboard \u2014 der llms.txt-Generator als zentrale Hero-Karte ganz oben (Dateistatus, Jetzt-generieren, Vorschau), darunter der KI-Sichtbarkeitsscore als erg\u00e4nzende \u00dcbersicht; rechts die Tier-Erkennung (Pro Business) mit aktiven Features \/ Plugin dashboard \u2014 the llms.txt generator as the hero card at the top (file status, generate now, preview), with the AI Visibility Score as a complementary overview below; tier detection (Pro Business) with active features on the right"},{"src":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/screenshot-2.png?rev=3543201","caption":"Einstellungen \u2014 einzubeziehende Inhalte (Seiten, Posts, WooCommerce-Produkte), benutzerdefinierte Markdown-Sektionen, Auto-Regenerate, Webhook-Secret und URL-Exclusions mit Wildcard-Support \/ Settings \u2014 included content (pages, posts, WooCommerce products), custom Markdown sections, auto-regenerate, webhook secret, and URL exclusions with wildcard support"},{"src":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/screenshot-3.png?rev=3543201","caption":"AI Visibility Score \u00dcbersichtskarte \u2014 Lighthouse-artiger Halbkreis-Dial 0\u2013100 mit f\u00fcnf klickbaren Sub-Score-Bars (Schema.org Coverage, llms.txt Health, AI Crawler Access, Content Quality Pro, noindex Compliance) und den Top-3-Empfehlungen \/ AI Visibility Score overview card \u2014 Lighthouse-style half-circle dial 0\u2013100 with five clickable sub-score bars (Schema.org Coverage, llms.txt Health, AI Crawler Access, Content Quality Pro, noindex Compliance) and the top three recommendations"},{"src":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/screenshot-4.png?rev=3533276","caption":"AI Visibility Score Detail-Seite (NEU in 1.5.0) \u2014 Header mit gr\u00f6\u00dferem Dial, Tier-Label und Action-Buttons (Export JSON, Export CSV als ZIP, Re-Crawl Pro), darunter alle f\u00fcnf Drilldown-Sektionen mit Tabellen, Check-Grids und Snippet-Box \/ AI Visibility Score detail page (NEW in 1.5.0) \u2014 header with larger dial, tier label and action buttons (Export JSON, Export CSV ZIP, Re-Crawl Pro), followed by all five drilldown sections with tables, check grids and snippet box"},{"src":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/screenshot-5.png?rev=3533276","caption":"Content-Qualit\u00e4t-Drilldown (Pro) \u2014 pro Stichproben-Seite werden Titel-L\u00e4nge, Meta-Description, H1, Alt-Tag-Quote und Open-Graph-Tags einzeln bewertet (10\/25\/50 Seiten je nach Tier) \/ Content quality drilldown (Pro) \u2014 per sampled page, title length, meta description, H1, alt-tag ratio and Open Graph tags are scored individually (10\/25\/50 pages by tier)"},{"src":"https:\/\/ps.w.org\/aiready-llms-txt-generator\/assets\/screenshot-6.png?rev=3533276","caption":"Score-History-Sparkline (Pro) \u2014 SVG-Diagramm der letzten 30 Tage mit t\u00e4glichen Snapshots, tier-farbcodierten Datenpunkten und Delta zur Vorwoche \/ Score history sparkline (Pro) \u2014 SVG chart of the last 30 days with daily snapshots, tier-coloured data points and delta vs. previous week"}],"raw_content":"<!--section=description-->\n<p><strong>llms.txt<\/strong> is the emerging standard for helping AI assistants understand your website \u2014 like robots.txt for search engines, but for ChatGPT, Claude, and Perplexity.<\/p>\n\n<p>Most llms.txt plugins generate a static list of links. This plugin goes further: it builds structured, AI-optimised content from your WordPress data \u2014 with real product prices, stock status, categories, and short descriptions included out of the box. The Pro API adds capabilities no other plugin offers: per-product drill-down with SKU and specifications, intent routing for 26 customer question types, and auto-generated comparison tables.<\/p>\n\n<h4>What makes this plugin different?<\/h4>\n\n<ul>\n<li><strong>WooCommerce-aware from the start:<\/strong> Free mode already includes product names, prices, categories, and stock status \u2014 not just page links<\/li>\n<li><strong>Dynamic serving via rewrite rules:<\/strong> No physical file to manage. <code>\/llms.txt<\/code> and <code>\/llms-full.txt<\/code> are served directly through WordPress and cached for one hour<\/li>\n<li><strong>Auto-regeneration:<\/strong> Content updates trigger asynchronous regeneration via WP-Cron \u2014 zero manual maintenance<\/li>\n<li><strong>REST API webhook:<\/strong> External systems (CI\/CD, cron, headless setups) can trigger regeneration via <code>POST \/wp-json\/llmstxt\/v1\/regenerate<\/code><\/li>\n<li><strong>Three Pro tiers:<\/strong> Pick the size that matches your site \u2014 Solo for small sites, Business for shops, Agency for large operations<\/li>\n<li><strong>Fully translatable:<\/strong> Complete German (de_DE) and English support, all strings served via <code>wp_localize_script<\/code><\/li>\n<\/ul>\n\n<h4>Free features<\/h4>\n\n<ul>\n<li>Generates llms.txt from WordPress pages, posts, and WooCommerce products with prices and stock status<\/li>\n<li>Serves <code>\/llms.txt<\/code> and <code>\/llms-full.txt<\/code> via WordPress rewrite rules \u2014 no physical file needed<\/li>\n<li>Auto-regenerates when posts or products are saved<\/li>\n<li>Custom Markdown sections appended to output<\/li>\n<li>Works with any WordPress theme<\/li>\n<li>SEO plugin noindex detection (Yoast, Rank Math, SEOPress, AIOSEO) \u2014 noindexed pages excluded automatically<\/li>\n<li>URL exclusion list with wildcard support<\/li>\n<li>Optional respect for robots.txt Disallow rules<\/li>\n<li>Full German (de_DE) and English translation support<\/li>\n<\/ul>\n\n<h4>Pro features (via llmstxtgenerator.de API)<\/h4>\n\n<p>The Pro mode offloads generation to a dedicated crawling API. This enables features that require full-page analysis beyond what WordPress data alone provides:<\/p>\n\n<ul>\n<li><strong>Product Drill-Down:<\/strong> Price, SKU, specifications, and variants extracted per product page \u2014 AI assistants can answer \"How much does X cost?\" with your real price<\/li>\n<li><strong>Intent Routing:<\/strong> 26 customer question types (price, comparison, availability, installation, warranty\u2026) mapped to the correct pages on your site<\/li>\n<li><strong>Competitor comparison tables:<\/strong> Auto-generated from your product catalog so AI assistants can recommend your products in comparison queries<\/li>\n<li><strong>5 file formats:<\/strong> llms.txt, llms-full.txt, robots.txt snippet, JSON-LD, CSV \u2014 covering every AI integration scenario<\/li>\n<li><strong>Priority email support<\/strong><\/li>\n<\/ul>\n\n<h4>Pro tiers \u2014 pick the right size<\/h4>\n\n<ul>\n<li><strong>Pro Solo \u2014 \u20ac4.90\/month<\/strong> \u00b7 up to 500 URLs per generation \u00b7 10 domains\/month \u00b7 ideal for small WordPress sites and single shops<\/li>\n<li><strong>Pro Business \u2014 \u20ac9.90\/month<\/strong> \u00b7 up to 2,000 URLs \u00b7 unlimited domains \u00b7 automatic cron updates \u00b7 ideal for established shops<\/li>\n<li><strong>Agency \u2014 \u20ac19.90\/month<\/strong> \u00b7 up to 10,000 URLs \u00b7 REST API access for automation \u00b7 ideal for agencies managing multiple client sites<\/li>\n<\/ul>\n\n<p>The plugin auto-detects which tier your licence key belongs to and displays the active tier and URL limit in the admin sidebar after key verification.<\/p>\n\n<p>Get your Pro key at <a href=\"https:\/\/llmstxtgenerator.de\/pro\/\">llmstxtgenerator.de\/pro\/<\/a><\/p>\n\n<h4>AI Visibility Score (overview card, since 1.4.0)<\/h4>\n\n<ul>\n<li><strong>Lighthouse-style 0-100 score<\/strong> with 5 weighted sub-scores<\/li>\n<li><strong>Schema.org Coverage<\/strong> (30%) \u2014 checks Product schema on WooCommerce products<\/li>\n<li><strong>llms.txt Health<\/strong> (25%) \u2014 file exists, has sections, fresh, has llms-full.txt<\/li>\n<li><strong>AI Crawler Access<\/strong> (15%) \u2014 robots.txt allows GPTBot, ClaudeBot, PerplexityBot etc.<\/li>\n<li><strong>Content Quality<\/strong> (15%, Pro) \u2014 title length, meta-description, H1, alt-tags, OG-tags<\/li>\n<li><strong>noindex Compliance<\/strong> (15%) \u2014 Yoast\/RankMath\/AIOSEO noindex pages excluded from llms.txt<\/li>\n<li><strong>Smart Recommendations<\/strong> \u2014 top 3 actionable fixes with one-click buttons<\/li>\n<\/ul>\n\n<h4>AI Visibility Score Detail Page (NEW in 1.5.0)<\/h4>\n\n<p>A dedicated drill-down page accessible via <strong>LLMs.txt \u2192 AI Visibility Score<\/strong>:<\/p>\n\n<ul>\n<li><strong>Schema.org drill-down<\/strong> \u2014 table of every sampled product with @type \/ price \/ offers status, plus direct edit links for products with missing markup<\/li>\n<li><strong>llms.txt diagnostic grid<\/strong> \u2014 every health check (exists, hasTitle, hasSections, hasEnoughPages, fresh, hasFullVersion) with raw values and tooltip explanations<\/li>\n<li><strong>Crawler matrix<\/strong> \u2014 six AI bots (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Bytespider, CCBot) with allow\/block status, plus an auto-generated robots.txt snippet for the blocked ones, with one-click copy<\/li>\n<li><strong>Content Quality breakdown (Pro)<\/strong> \u2014 10\/25\/50 sample pages (Solo \/ Business \/ Agency) \u00d7 5 checks each (title length, meta description, H1, alt-tag ratio, Open-Graph tags) \u2014 every cell shows the precise value, not just pass\/fail<\/li>\n<li><strong>noindex conflicts<\/strong> \u2014 every page flagged noindex by Yoast \/ Rank Math \/ AIOSEO \/ SEOPress \/ WooCommerce, with source badge and a flag whether the page still appears in your llms.txt<\/li>\n<li><strong>30-day score history (Pro)<\/strong> \u2014 SVG sparkline of your visibility score with daily snapshots, 7-day delta, and tier-coloured data points<\/li>\n<li><strong>Export<\/strong> \u2014 JSON dump of the full audit, or a ZIP archive containing five separate CSVs (one per sub-score) for sharing with clients, agencies, or your reporting pipeline<\/li>\n<li><strong>Re-Crawl now (Pro)<\/strong> \u2014 force a fresh Pro-API crawl with a 30-minute cooldown<\/li>\n<li><strong>Clickable sub-score bars<\/strong> on the main page jump directly to the matching drill-down section<\/li>\n<\/ul>\n\n<h4>What is llms.txt?<\/h4>\n\n<p>llms.txt is an open standard (llmstxt.org) \u2014 a structured Markdown file in your site root that tells AI systems who you are, what you offer, and where to find your key content. Early adopters gain a significant advantage as AI assistants increasingly cite structured sources over unstructured web pages.<\/p>\n\n<h4>WooCommerce support<\/h4>\n\n<p>When WooCommerce is active, the plugin automatically includes your product catalog with names, prices, categories, stock status, and short descriptions. WooCommerce system pages (cart, checkout, my account) are automatically excluded.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>In free mode, no data leaves your server. In Pro mode, only your public website URL is transmitted to the llmstxtgenerator.de API to perform crawling. No personal data is processed or stored. The plugin is GDPR-compliant.<\/p>\n\n<h3>External services<\/h3>\n\n<p>In <strong>free mode<\/strong>, this plugin operates entirely on your own server. No data is sent to any external service.<\/p>\n\n<p>In <strong>Pro mode<\/strong>, this plugin connects to the llmstxtgenerator.de API to generate an AI-optimised llms.txt file for your site, and (since 1.5.0) to fetch detailed Content Quality data for the AI Visibility Score detail page.<\/p>\n\n<ul>\n<li><strong>What the service does:<\/strong> Crawls your public website and generates a structured llms.txt output with product drill-down, intent routing, and comparison tables. For the score detail page, it crawls 10\u201350 sample pages (depending on your tier) to score titles, meta-descriptions, H1, alt-tags and OG-tags per page.<\/li>\n<li><strong>What data is sent:<\/strong> Your public website URL and your Pro licence key. No personal data of your visitors is transmitted.<\/li>\n<li><strong>When data is sent:<\/strong> Only when you click \"Generate Now\" or \"Re-Crawl now\" in Pro mode, or when auto-regeneration is triggered by a content update (if enabled).<\/li>\n<li><strong>Service provider:<\/strong> llmstxtgenerator.de, operated by Andr\u00e9 H\u00fclsmann, Steinstr. 13, D-37242 Bad Sooden-Allendorf, Germany.<\/li>\n<li><strong>Terms of service:<\/strong> https:\/\/llmstxtgenerator.de\/agb\/<\/li>\n<li><strong>Privacy policy:<\/strong> https:\/\/llmstxtgenerator.de\/datenschutz\/<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>aiready-llms-txt-generator<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through <strong>Plugins &gt; Installed Plugins<\/strong> in WordPress<\/li>\n<li>Click <strong>LLMs.txt<\/strong> in the admin sidebar<\/li>\n<li>Click <strong>\u26a1 Generate Now<\/strong> \u2014 your <code>\/llms.txt<\/code> is live immediately<\/li>\n<li>Optional: switch to <strong>Pro<\/strong> mode and enter your licence key (Solo, Business or Agency) for enhanced output<\/li>\n<\/ol>\n\n<h4>Minimum requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>PHP 8.0 or higher<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20slow%20down%20my%20website%3F\"><h3>Does this slow down my website?<\/h3><\/dt>\n<dd><p>No. The llms.txt file is served via a lightweight rewrite rule and cached for one hour. Regeneration runs asynchronously via WP-Cron after content changes, not during the page load.<\/p><\/dd>\n<dt id=\"does%20it%20work%20without%20woocommerce%3F\"><h3>Does it work without WooCommerce?<\/h3><\/dt>\n<dd><p>Yes \u2014 it works with any WordPress site and includes pages and blog posts. WooCommerce product data is automatically included when WooCommerce is detected.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20llms.txt%20and%20llms-full.txt%3F\"><h3>What is the difference between llms.txt and llms-full.txt?<\/h3><\/dt>\n<dd><p>llms.txt is a concise summary optimised for most AI assistants. <code>llms-full.txt<\/code> contains extended descriptions and is intended for AI crawlers that fetch additional context. Both files are generated and served automatically.<\/p><\/dd>\n<dt id=\"how%20does%20the%20ai%20visibility%20score%20detail%20page%20work%3F\"><h3>How does the AI Visibility Score detail page work?<\/h3><\/dt>\n<dd><p>The detail page (added in 1.5.0) is a separate sub-menu under LLMs.txt. The main settings page keeps the score as a compact card; the detail page lets you drill down into each sub-score individually \u2014 every product, every check, every blocked crawler is visible with the underlying value, not just a percentage. Re-Crawl on demand (Pro), export the audit as JSON or as a ZIP of five CSVs, and watch the 30-day history sparkline build up automatically (snapshots are recorded with every score computation, every 6 hours).<\/p><\/dd>\n<dt id=\"which%20pro%20tier%20do%20i%20need%3F\"><h3>Which Pro tier do I need?<\/h3><\/dt>\n<dd><p>It depends on your site size:<\/p>\n\n<ul>\n<li><strong>Pro Solo (\u20ac4.90\/month)<\/strong> \u2014 small WordPress sites and single shops up to 500 URLs. Includes drill-down, intent routing and 10 domains\/month.<\/li>\n<li><strong>Pro Business (\u20ac9.90\/month)<\/strong> \u2014 established shops with up to 2,000 URLs. Adds unlimited domains and automatic cron updates.<\/li>\n<li><strong>Agency (\u20ac19.90\/month)<\/strong> \u2014 large operations or agencies managing multiple client sites. Up to 10,000 URLs and REST API access.<\/li>\n<\/ul>\n\n<p>The plugin accepts all three key types and automatically detects which tier you bought.<\/p><\/dd>\n<dt id=\"how%20do%20i%20see%20which%20tier%20my%20key%20belongs%20to%3F\"><h3>How do I see which tier my key belongs to?<\/h3><\/dt>\n<dd><p>After clicking \"Verify\" with your Pro key, the admin sidebar shows your active tier (Pro Solo \/ Pro Business \/ Agency) and the URL limit per generation. The information comes directly from the licensing API.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20gdpr-compliant%3F\"><h3>Is the plugin GDPR-compliant?<\/h3><\/dt>\n<dd><p>Yes. In free mode, no data leaves your server. In Pro mode, only your public website URL is sent to the llmstxtgenerator.de API. The plugin stores no personal data.<\/p><\/dd>\n<dt id=\"how%20do%20i%20trigger%20regeneration%20from%20an%20external%20system%3F\"><h3>How do I trigger regeneration from an external system?<\/h3><\/dt>\n<dd><p>Enable a webhook secret in Settings &gt; Advanced. Then POST to <code>\/wp-json\/llmstxt\/v1\/regenerate<\/code> with the header <code>X-LLMSTXT-Key: your-secret<\/code>.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20deactivate%20or%20delete%20the%20plugin%3F\"><h3>What happens when I deactivate or delete the plugin?<\/h3><\/dt>\n<dd><p>Deactivating removes the rewrite rules and stops scheduled regeneration. Deleting the plugin additionally removes all stored options and generated files from your server.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.6.2<\/h4>\n\n<ul>\n<li><strong>i18n fix \u2014 mixed-language main page corrected.<\/strong> 27 strings on the plugin's main page had no German translation and therefore showed up in English on German installs, producing a mixed German\/English UI. Now translated: the Pro sidebar tier labels (\"Pro Business aktiv\", \"Unbegrenzte Domains\", \"URL-Limit: %s pro Generierung\", \"REST-API-Zugang\"), the entire URL-exclusions section, the SEO-plugin noindex-detection notice, the score-card strings (\"Wichtigste Empfehlung\", \"alle anzeigen\", \"Score aktualisieren\", \"Pr\u00fcfen Sie Ihren Score erneut\u2026\"), the tier-overview rows, and the llms.txt URL descriptions. de_DE.po grew from 222 to 249 entries, de_DE.mo recompiled.<\/li>\n<li>No functional code changes \u2014 translation-only release. Safe upgrade.<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<p>i18n fix: 27 missing German translations on the main plugin page added (Pro sidebar, URL exclusions, noindex notice, score-card buttons, URL descriptions). German installs no longer show a mixed German\/English UI. No functional changes.<\/p>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li><strong>WordPress.org discovery optimisation.<\/strong> Reworked the plugin tags to the five terms that actually drive llms.txt-related searches (<code>llms.txt, chatgpt, ai, schema, woocommerce<\/code>) and rewrote the short description to lead with the two strongest hooks \u2014 the AI Visibility Score and \"free for any WP site\" \u2014 within the 150-character limit. No code or behaviour change; this only affects how the plugin is found and presented in the directory.<\/li>\n<li><strong>Refreshed screenshots \u2014 generator first.<\/strong> Screenshot 1 now leads with the llms.txt generator (File Status + Generate Now as a hero card at the top) instead of the AI Visibility Score; the score follows below as a complementary overview, matching the actual v1.5.3+ admin layout. The settings screenshot now shows a masked licence key, and the captions were corrected (the former \"Schema drilldown\" caption now correctly describes the Content Quality drilldown).<\/li>\n<li>No functional code changes. Safe upgrade.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<p>WordPress.org discovery tune-up (tags + short description) and refreshed screenshots that lead with the llms.txt generator instead of the AI Visibility Score. No functional changes \u2014 safe upgrade.<\/p>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li><strong>Minor version bump \u2013 WordPress 7.0 compatibility verified.<\/strong> WordPress 7.0 has been released today (May 20, 2026, introducing the AI foundation across the platform). The plugin was live-tested on a real WP 7.0 install at authortools.de: Plugin Main Page, Score Detail Page (incl. cache-miss loading screen), AJAX endpoints, REST API and frontend <code>\/llms.txt<\/code> and <code>\/llms-full.txt<\/code> outputs all work without regressions. <code>Tested up to<\/code> is now honestly bumped from 6.9 to 7.0 in both the plugin header and readme.txt.<\/li>\n<li><strong>i18n: JavaScript step messages now translatable.<\/strong> The 6 loading-screen step messages cycled through by score-detail.js (\"Checking Schema.org markup on sample products\u2026\", \"Reading llms.txt and llms-full.txt\u2026\", \"Probing AI crawler access (GPTBot, Claude, Perplexity)\u2026\", \"Auditing content quality (Pro)\u2026\", \"Compiling noindex compliance report\u2026\", \"Almost done\u2026\") used to be hardcoded English strings in the JS file. v1.6.0 routes them through <code>wp_localize_script<\/code>: 6 new <code>__()<\/code> calls in <code>llmstxtAdmin.strings.loadingSteps<\/code>, the JS falls back gracefully to English if the localized array is missing. German translations added in de_DE.po (222 entries, was 216), de_DE.mo recompiled.<\/li>\n<li><strong>Combined effect:<\/strong> German WordPress users now see the entire loading screen \u2013 titles, body text, AND the cycling step messages \u2013 in German. Other locale translators can pick up de_DE.po as a template to translate the 6 new strings into their language.<\/li>\n<li>No other functional changes. Safe upgrade.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<p>WordPress 7.0 compatibility verified live, \"Tested up to\" honestly bumped to 7.0. JS-i18n: the 6 loading-screen step messages are now translatable via wp_localize_script, German translations included. No functional changes. Recommended upgrade for everyone on WP 7.0.<\/p>\n\n<h4>1.5.9<\/h4>\n\n<ul>\n<li><strong>i18n: German translation for the loading screen.<\/strong> The v1.5.5 Loading-Screen on the \"AI Visibility Score\" detail page was rendered in English even on German WordPress installs because the new strings (\"Computing AI Visibility Score\u2026\", \"Analyzing your Schema.org markup\u2026\", \"Starting\u2026\", \"The page will reload automatically\u2026\" etc.) had never been added to the de_DE.po file. v1.5.9 closes that gap \u2014 5 new strings translated, de_DE.mo recompiled (216 entries). German users now see the loading screen fully localized.<\/li>\n<li>The 6 step messages cycled through by JavaScript (\"Checking Schema.org markup on sample products\u2026\", \"Reading llms.txt\u2026\", \"Probing AI crawler access (GPTBot, Claude, Perplexity)\u2026\" etc.) are still English \u2014 they are JS-hardcoded and need a wp_localize_script refactor planned for v1.6.0.<\/li>\n<li>No functional code changes.<\/li>\n<\/ul>\n\n<h4>1.5.9<\/h4>\n\n<p>i18n fix: 5 missing German translations for the loading screen on the AI Visibility Score detail page added. Affects only German WP installs. No functional changes.<\/p>\n\n<h4>1.5.8<\/h4>\n\n<ul>\n<li><strong>Plugin Check residual cleanup:<\/strong> Fixes the final 7 errors that remained after v1.5.7 \u2014 6\u00d7 MissingTranslatorsComment (the translators-comments now sit INSIDE printf() directly before the translation function, not on the line before printf), 1\u00d7 mismatched_tested_up_to_header (the plugin-file header still said 7.0 while readme.txt already said 6.9), and CRLF\/LF line-ending normalization in two admin files.<\/li>\n<li><strong>Plugin Check verdict:<\/strong> 19 \u2192 0 ERRORS, 177 \u2192 ~5 WARNINGS (remaining warnings are False-Positives or accepted by design).<\/li>\n<li>No functional code changes.<\/li>\n<\/ul>\n\n<h4>1.5.8<\/h4>\n\n<p>Final Plugin Check cleanup. All 19 errors that the official WP Plugin Check tool reported are now fixed (zero errors remaining). No functional changes.<\/p>\n\n<h4>1.5.7<\/h4>\n\n<ul>\n<li><strong>Compatibility correction:<\/strong> Reverted \"Tested up to\" from 7.0 back to 6.9. The 7.0 bump in v1.5.4 was a premature version assumption \u2013 WordPress 7.0 has not been released yet (current stable is 6.9.4). The plugin works correctly against 6.9.x; the false 7.0 declaration is corrected to comply with the WordPress.org plugin directory rules.<\/li>\n<li>No functional code changes from v1.5.6.<\/li>\n<\/ul>\n\n<h4>1.5.7<\/h4>\n\n<p>Compatibility correction: \"Tested up to\" reverted from 7.0 to 6.9, since WP 7.0 has not yet been released. No functional changes. Recommended upgrade for everyone on v1.5.4\u2013v1.5.6.<\/p>\n\n<h4>1.5.6<\/h4>\n\n<ul>\n<li><strong>Code Quality:<\/strong> Cleaned up all 19 errors reported by the official WordPress.org Plugin Check tool. The plugin now passes the WP.org review without ERRORS in Allgemein, Plugin-Repository, Security, Performance and Accessibility categories.<\/li>\n<li><strong>i18n:<\/strong> Added \"translators:\" comments above all 8 <code>__()<\/code>\/<code>esc_html__()<\/code>\/<code>_n()<\/code> calls that contain <code>%d<\/code>\/<code>%s<\/code>\/<code>%1\\$d<\/code> placeholders, so translators understand what each placeholder means.<\/li>\n<li><strong>Security:<\/strong> All 7 output-escape gaps in the score detail templates fixed. Numeric <code>%d<\/code>-printf arguments are now properly <code>(int)<\/code> cast and the sub-score-link <code>href<\/code> attribute is wrapped in <code>esc_url()<\/code>.<\/li>\n<li><strong>Filesystem:<\/strong> <code>@unlink()<\/code> replaced with WordPress' <code>wp_delete_file()<\/code> for the score-export ZIP. The unavoidable <code>readfile()<\/code> and <code>fopen('php:\/\/temp')<\/code> calls (no WP_Filesystem equivalent for streaming downloads or in-memory PHP streams) are now annotated with phpcs:ignore + justification.<\/li>\n<li>No user-visible behaviour change. Safe upgrade from v1.5.5.<\/li>\n<\/ul>\n\n<h4>1.5.6<\/h4>\n\n<p>Code quality release. All 19 errors reported by the official WordPress.org Plugin Check tool fixed (i18n translators-comments, output escaping, filesystem operations). No user-visible behaviour change. Safe upgrade.<\/p>\n\n<h4>1.5.5<\/h4>\n\n<ul>\n<li><strong>UX fix:<\/strong> Clicking \"AI Visibility Score\" in the sub-menu no longer shows a blank page for many seconds. When the details cache is empty (first visit or after 15-min TTL expiry), the page now renders a clear loading screen with a circular spinner, animated progress bar and rotating status messages (\"Checking Schema.org markup on sample products\u2026\", \"Reading llms.txt\u2026\", etc.). The detail data is fetched asynchronously and the page reloads automatically when ready. Previously the page render blocked synchronously for up to 60 seconds during the first compute (10 local HTTP probes for Schema sampling + 1 Pro API crawl) with no visual feedback, making the plugin look broken.<\/li>\n<li>No backend or API changes \u2014 pure UX improvement around the existing detail-page render flow.<\/li>\n<\/ul>\n\n<h4>1.5.4<\/h4>\n\n<ul>\n<li><strong>Compatibility:<\/strong> Tested with WordPress 7.0 (released May 20, 2026) including the new \"Modern\" admin theme. No code changes required \u2012 all custom admin UI (AI Visibility Score card, Score Detail page, settings panels) continues to work correctly in the new theme.<\/li>\n<li>No functional changes from 1.5.3.<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li><strong>UX:<\/strong> Score-refresh button in the AI Visibility Score card header is now a clearly labelled secondary button (\"Refresh\") instead of a tiny icon \u2014 the loading state (spinner + \"Refreshing\u2026\" label) is much easier to see.<\/li>\n<li><strong>UX:<\/strong> Added a second score-refresh control at the bottom of the main column, so users can re-check the score after editing settings without scrolling back up.<\/li>\n<li><strong>UX:<\/strong> The \"Your llms.txt URLs\" sidebar card now labels each file clearly (\ud83d\udcc4 llms.txt \u2014 compact overview \u00b7 \ud83d\udcd1 llms-full.txt \u2014 full page listing) with one-line descriptions, and the full URL path is no longer truncated by an ellipsis cut.<\/li>\n<li><strong>UX:<\/strong> Generator card (File Status + Generate Now button) moved to the TOP of the main column as a prominent hero card \u2014 the plugin's primary purpose is llms.txt generation, so it now leads the UI. The AI Visibility Score card moves below it, complementary rather than dominant. Score-card recommendation list reduced from 3 to 1 with a \"see all\" link to the detail page, keeping the card itself compact.<\/li>\n<li>No backend or API changes \u2014 purely UI\/UX refinements based on user feedback.<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li><strong>Critical bugfix:<\/strong> Generate failed with \"Pro or Agency licence required\" even after a valid Pro key was successfully verified. Root cause: <code>sanitize_settings()<\/code> was wiping the verified-tier metadata (<code>pro_tier<\/code>, <code>pro_max_urls<\/code>, <code>pro_verified_at<\/code>, <code>pro_email_mask<\/code>) on every <code>update_option()<\/code> call from <code>ajax_save_key<\/code> because it read these fields from the OLD database state (pre-update). The plugin then submitted the stale, empty key on Generate. Fix: accept <code>pro_*<\/code> values from <code>\\<\/code> first (the freshly-set ajax values), fall back to <code>\\<\/code> only when <code>\\<\/code> is missing them (normal Settings-form save without hidden pro_* fields).<\/li>\n<li>Tier-whitelist in <code>ajax_save_key<\/code> now includes <code>business<\/code> \u2014 the license API returns <code>business<\/code> for Pro Business plans, which was previously silently downgraded to <code>pro<\/code> causing UI label mismatches.<\/li>\n<li><code>in_array(..., 'mode')<\/code> check now uses strict comparison (third argument <code>true<\/code>) to defend against PHP 7 loose-comparison quirks where <code>0 == 'free'<\/code> could evaluate truthy.<\/li>\n<li>API client surfaces the actual server-provided error message on HTTP 401 (e.g., \"Key not found\", \"Missing X-LLMSTXT-Key header\") instead of a generic \"Invalid key\" message, making misconfigurations much faster to diagnose.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li><strong>UX-Fix \u2014 AI Visibility Score now top of main column<\/strong>: Score card moved from bottom of main column (below Settings form) to the very top, directly under the plugin header. The feature was hard to find \u2014 users had to scroll past File Status, Settings, Content selection, Custom Sections, Advanced, URL Exclusions and Save Settings before the score appeared. It is now the first thing visible.<\/li>\n<li><strong>Fix \u2014 stale \"Last error\" banner removed<\/strong>: A red \"Last error: ...\" notice could persist at the top of the page from stale <code>llmstxt_last_error<\/code> option values left behind by earlier versions, even when the licence was valid and no error had occurred. The option is now cleaned up on every page render and no longer displayed.<\/li>\n<li>Internal: <code>\\$last_err<\/code> variable kept in template scope for backward compatibility but is now always empty (the plugin never sets the underlying option).<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li><strong>NEW: AI Visibility Score detail page<\/strong> \u2014 dedicated sub-menu under LLMs.txt \u2192 AI Visibility Score with full drill-down for every sub-score<\/li>\n<li><strong>NEW: Schema.org product table<\/strong> \u2014 every sampled product listed with @type \/ price \/ offers status and direct WordPress edit links for products with missing markup<\/li>\n<li><strong>NEW: llms.txt diagnostic grid<\/strong> \u2014 six health checks visualised individually (exists, hasTitle, hasSections, hasEnoughPages, fresh, hasFullVersion) with tooltip explanations<\/li>\n<li><strong>NEW: Crawler matrix with snippet generator<\/strong> \u2014 six AI bots listed with allow\/block status; for blocked bots, a copy-paste-ready robots.txt snippet is generated automatically<\/li>\n<li><strong>NEW: Content Quality breakdown (Pro)<\/strong> \u2014 10\/25\/50 sample pages by tier (Solo\/Business\/Agency) \u00d7 5 per-page checks (title length, meta description, H1, alt-tag ratio, Open-Graph tags); each cell shows the actual value, not just pass\/fail<\/li>\n<li><strong>NEW: noindex conflicts table<\/strong> \u2014 every noindex-flagged page (Yoast, Rank Math, AIOSEO, SEOPress, WooCommerce) listed with source badge and a flag whether it currently appears in llms.txt<\/li>\n<li><strong>NEW: 30-day score history sparkline (Pro)<\/strong> \u2014 SVG chart with daily snapshots, tier-coloured data points, and delta vs. 7 days ago<\/li>\n<li><strong>NEW: Export JSON \/ Export CSV (ZIP)<\/strong> \u2014 full audit downloadable as a single JSON file or as a ZIP archive containing five separate CSVs, one per sub-score<\/li>\n<li><strong>NEW: Re-Crawl now button (Pro)<\/strong> \u2014 force a fresh Pro-API crawl with a 30-minute cooldown to prevent abuse<\/li>\n<li><strong>NEW: Clickable sub-score bars on the main card<\/strong> \u2014 jump from the overview directly to the matching drilldown section via auto-scroll and focus highlight<\/li>\n<li>Improved: Score history is now recorded automatically for all users (Free and Pro). Free users do not see the chart but their data is preserved if they upgrade later.<\/li>\n<li>Improved: Detail-page cache TTL is shorter than the main card (15 min vs. 6 h) so debugging remains responsive.<\/li>\n<li>Internal: New backend API endpoint <code>visibility-score-details.php<\/code> for Pro Content Quality crawls.<\/li>\n<li>Internal: 25+ new translation strings added to <code>de_DE.po<\/code> (full DE coverage of detail page).<\/li>\n<\/ul>\n\n<h4>1.4.8<\/h4>\n\n<ul>\n<li>Updated screenshots to reflect v1.4.7+ UI: Pro Business active dashboard, settings panel with custom sections and URL exclusions, and the new AI Visibility Score introduced in 1.4.0.<\/li>\n<li>Removed outdated WooCommerce-section and tier-comparison screenshots \u2014 both are now covered by the main dashboard view.<\/li>\n<li>Removed orphaned screenshot-5 reference that had no corresponding image file.<\/li>\n<\/ul>\n\n<h4>1.4.7<\/h4>\n\n<ul>\n<li>Layout fix: AI Visibility Score card moved to END of main column (after generator settings) \u2014 llms.txt generator is the primary feature, score is supplementary.<\/li>\n<\/ul>\n\n<h4>1.4.6<\/h4>\n\n<ul>\n<li><strong>Spec-conform main card restored<\/strong>: AI Visibility Score is back as the main card above the file status section, exactly as designed in the v1.4.0 spec \u2014 SVG half-circle dial on the left, five sub-score bars on the right (Schema.org Coverage 30%, llms.txt Health 25%, AI Crawler Access 15%, Content Quality 15% Pro, noindex Compliance 15%), and the top three recommendations below as boxes with action buttons (Read guide \/ Re-generate now \/ Show snippet).<\/li>\n<li>Card sized to ~380\u2013420px so file status, generator form and the llms.txt \/ llms-full.txt URL list stay visible in the same 1200\u00d7800 viewport without scrolling.<\/li>\n<li>The minimal sidebar widget from 1.4.5 is removed \u2014 the sidebar contains only the Pro card, \"Your llms.txt URLs\", and Documentation again.<\/li>\n<\/ul>\n\n<h4>1.4.5<\/h4>\n\n<ul>\n<li><strong>Plugin focus restored<\/strong>: AI Visibility Score is no longer the dominant element on the plugin page. The Visibility Score card has been moved out of the main content area into the right sidebar (where the Pro card, \"Your llms.txt URLs\", and Documentation cards live), as a small widget showing the score, tier, top recommendation, and a \"Learn more\" link.<\/li>\n<li>The plugin page now opens with the file status (llms.txt is live \/ size \/ modified \/ pages count), generator form, and llms.txt \/ llms-full.txt URL list immediately visible \u2014 exactly as in versions before 1.4.0.<\/li>\n<li>Sub-score bars and detail breakdown were removed from the sidebar widget \u2014 they belong on a dedicated detail page (planned for 1.5.x).<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li><strong>Spec-conform layout<\/strong>: Visibility Score card now matches the original spec \u2014 half-circle dial on the left, five sub-score bars on the right, and the top three recommendations as one-line items below. Card height kept compact (around 320px) so the file status, generator form, llms.txt and llms-full.txt sections stay visible above the fold without scrolling.<\/li>\n<li>Removed the v1.4.3 \"Show details\" toggle \u2014 full content is shown immediately, in a smaller and tighter format. Sub-score bars are 6px high, recommendation rows are single-line with truncation.<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li><strong>UX rebuild<\/strong>: AI Visibility Score card now opens in a compact single-row view (score, tier, recommendation count, refresh, \"Show details\"). The full sub-scores and recommendations only appear after the user clicks \"Show details\". This puts the file status, generator form, llms.txt and llms-full.txt sections back at the top of the screen where users expect them.<\/li>\n<li>Score card detail view restyled: thinner sub-score bars, smaller recommendation rows, footer condensed to a single line.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li><strong>Layout fix<\/strong>: AI Visibility Score card was rendered inside the page header flex container, which pushed file status, generator form and llms.txt sections below the visible area. The card is now a standalone section between header and main layout \u2014 all existing plugin features (llms.txt status, generator, Pro key, WooCommerce integration) are visible again.<\/li>\n<li><strong>AJAX fix<\/strong>: Re-generate \/ Generate-now buttons in the Visibility Score recommendations returned \"Network error\". The button JS sent the security nonce under the wrong parameter name (_nonce instead of nonce), causing WordPress to reject the request with 403. Aligned the Visibility Score JS and the refresh-score handler with the plugin nonce convention.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li><strong>Hotfix<\/strong>: Fixed PHP fatal error on the AI Visibility Score card. The template called a helper function before its conditional declaration, causing a critical-error notice on first render. The helper now uses the existing static class method.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li><strong>NEW<\/strong>: AI Visibility Score \u2014 Lighthouse-style 0-100 score with 5 sub-scores (Schema.org Coverage, llms.txt Health, AI Crawler Access, Content Quality, noindex Compliance)<\/li>\n<li><strong>NEW<\/strong>: Smart Recommendations \u2014 top 3 actionable fixes with one-click action buttons (re-generate, copy robots.txt snippet, etc.)<\/li>\n<li><strong>NEW<\/strong>: Multi-SEO-plugin noindex detection \u2014 recognises Yoast, RankMath, AIOSEO and excludes flagged pages from llms.txt<\/li>\n<li><strong>NEW<\/strong>: WooCommerce Schema.org sampling \u2014 checks up to 10 products for valid Product schema with price<\/li>\n<li><strong>NEW<\/strong>: Pro mode calls llmstxtgenerator.de API for full Content Quality crawl (10 sample pages: titles, meta, H1, alt-tags, OG-tags)<\/li>\n<li>Improved: Score is cached for 6 hours; manual refresh button bypasses cache<\/li>\n<li>Improved: Free mode delivers a real local score (no paywall) \u2014 re-distributes Pro-only weight across other sub-scores<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added: Three Pro tiers (Solo \u20ac4.90, Business \u20ac9.90, Agency \u20ac19.90 per month) \u2014 plugin auto-detects which tier your licence belongs to<\/li>\n<li>Added: Tier-aware admin sidebar \u2014 shows active tier name (Pro Solo \/ Pro Business \/ Agency) and URL limit per generation after key verification<\/li>\n<li>Added: New options stored after Pro key verification (<code>pro_plan<\/code>, <code>pro_tier<\/code>, <code>pro_max_urls<\/code>, <code>pro_email_mask<\/code>, <code>pro_verified_at<\/code>) so the dashboard can render tier-specific UI without re-querying the API<\/li>\n<li>Added: Tier overview card in upsell sidebar \u2014 visualises Solo\/Business\/Agency at a glance with prices and URL limits<\/li>\n<li>Changed: Upgrade-CTA price updated from \"from \u20ac7.90\/mo\" to \"from \u20ac4.90\/mo\" (Solo entry tier)<\/li>\n<li>Changed: Pro mode label clarifies that Solo, Business or Agency keys are all accepted<\/li>\n<li>Improved: Existing customers with previous Pro\/Agency keys (\u20ac7.90 \/ \u20ac29) continue to work unchanged \u2014 backward compatibility preserved at the licensing API<\/li>\n<li>Internal: New localized strings (<code>tierSolo<\/code>, <code>tierBusiness<\/code>, <code>tierAgency<\/code>, <code>urlLimit<\/code>, <code>saving<\/code>) added to <code>wp_localize_script<\/code> for translators<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Added: noindex detection \u2014 pages\/posts marked noindex in Yoast SEO, Rank Math, SEOPress, or All in One SEO are automatically excluded from llms.txt<\/li>\n<li>Added: URL exclusion list \u2014 manually exclude specific URLs or path patterns (supports wildcards, e.g. \/shop\/*)<\/li>\n<li>Added: robots.txt Disallow respect \u2014 optionally exclude all paths blocked by robots.txt Disallow rules for User-agent: *<\/li>\n<li>Fixed: Pro licence key is now automatically saved and settings reloaded after successful key verification \u2014 no separate \"Save Settings\" click required<\/li>\n<li>Fixed: Plugin URLs corrected to non-www canonical (llmstxtgenerator.de\/agb\/ and llmstxtgenerator.de\/datenschutz\/)<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Fixed: German umlauts and all non-ASCII characters now display correctly \u2014 Apache serves text\/plain as ISO-8859-1 by default; plugin now inserts a FilesMatch rule into .htaccess on activation and on every generate to declare UTF-8 charset for llms.txt and llms-full.txt<\/li>\n<li>Fixed: .htaccess rule is removed cleanly on plugin deactivation and uninstall<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Fixed: Plugin now always writes physical llms.txt and llms-full.txt to the WordPress site root so AI crawlers and external checkers (e.g. llmstxtgenerator.de) can access them directly \u2014 independent of rewrite rules or caching plugins<\/li>\n<li>Fixed: Uninstall now also removes root copies of llms.txt and llms-full.txt<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Fixed: Middle dot (\u00b7) used by SEO plugins as tagline separator no longer appears in output<\/li>\n<li>Fixed: Robust fallback in title cleaning: uses both regex and explicit str_replace to handle all separator variants (\u2013, \u2014, |, -)<\/li>\n<li>Fixed: Page and post titles stripped of SEO-plugin-appended site-name suffix<\/li>\n<li>Fixed: HTML entities in WooCommerce prices and descriptions decoded correctly<\/li>\n<li>Fixed: \/llms-full.txt now cached in free mode<\/li>\n<li>Fixed: Free mode reports error when uploads directory not writable<\/li>\n<li>Fixed: Pro mode API URL corrected (www \u2192 non-www) to prevent POST redirect stripping auth headers<\/li>\n<li>Fixed: Key verification correctly rejects invalid keys<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added: External services documentation in readme (llmstxtgenerator.de API)<\/li>\n<li>Removed: \"Write physical file to site root\" option \u2014 llms.txt is served dynamically via rewrite rules; no ABSPATH writes required<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed: Pro mode \"Generate Now\" now uses correct API endpoint and response format<\/li>\n<li>Added: Full German (de_DE) translation for all UI strings, including JavaScript labels<\/li>\n<li>Added: <code>uninstall.php<\/code> for clean removal of all plugin data<\/li>\n<li>Changed: File I\/O now uses WP_Filesystem API instead of direct PHP functions<\/li>\n<li>Changed: Replaced deprecated <code>get_page_by_title()<\/code> with <code>get_posts()<\/code> equivalent<\/li>\n<li>Changed: Minimum PHP version raised to 8.0 to reflect actual code requirements<\/li>\n<li>Improved: All JavaScript labels are now served via <code>wp_localize_script<\/code> \u2014 fully translatable<\/li>\n<li>Improved: Plugin header updated with all recommended fields<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Free standalone mode for WordPress + WooCommerce<\/li>\n<li>Pro API mode with product drill-down<\/li>\n<li>Auto-regeneration on content changes<\/li>\n<li>Custom Markdown sections support<\/li>\n<li>REST API webhook endpoint for external triggers<\/li>\n<\/ul>","raw_excerpt":"Auto-generate llms.txt + AI Visibility Score for ChatGPT, Claude &amp; Perplexity. Free for any WP site. Pro adds WooCommerce drill-down.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/289879","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=289879"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aireadytools"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=289879"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=289879"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=289879"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=289879"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=289879"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=289879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}