{"id":215992,"date":"2025-01-04T16:22:27","date_gmt":"2025-01-04T16:22:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/website-llms-txt\/"},"modified":"2026-08-18T13:48:54","modified_gmt":"2026-08-18T13:48:54","slug":"website-llms-txt","status":"publish","type":"plugin","link":"https:\/\/pcm.wordpress.org\/plugins\/website-llms-txt\/","author":23194161,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"8.6.0","stable_tag":"8.6.0","tested":"6.9.7","requires":"5.8","requires_php":"7.2","requires_plugins":null,"header_name":"Website LLMs.txt","header_author":"Ryan Howard","header_description":"Manages and automatically generates LLMS.txt files for LLM\/AI consumption and integrates with SEO plugins (Yoast SEO, RankMath)","assets_banners_color":"666666","last_updated":"2026-08-18 13:48:54","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/completeseo.com\/author\/ryan-howard\/","rating":4.6,"author_block_rating":0,"active_installs":40000,"downloads":620550,"num_ratings":12,"support_threads":7,"support_threads_resolved":5,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.0":{"tag":"2.0.0","author":"ryhowa","date":"2025-01-04 16:32:20"},"3.0.0":{"tag":"3.0.0","author":"samsonovteamwork","date":"2025-02-19 16:06:11"},"4.0.0":{"tag":"4.0.0","author":"samsonovteamwork","date":"2025-02-20 15:26:55"},"4.0.1":{"tag":"4.0.1","author":"samsonovteamwork","date":"2025-02-21 19:46:18"},"4.0.2":{"tag":"4.0.2","author":"samsonovteamwork","date":"2025-02-22 14:24:50"},"4.0.3":{"tag":"4.0.3","author":"samsonovteamwork","date":"2025-02-22 18:44:02"},"4.0.4":{"tag":"4.0.4","author":"samsonovteamwork","date":"2025-02-22 19:02:44"},"4.0.5":{"tag":"4.0.5","author":"samsonovteamwork","date":"2025-02-23 17:39:02"},"4.0.6":{"tag":"4.0.6","author":"samsonovteamwork","date":"2025-02-27 20:26:06"},"4.0.7":{"tag":"4.0.7","author":"samsonovteamwork","date":"2025-03-15 12:45:08"},"4.0.8":{"tag":"4.0.8","author":"samsonovteamwork","date":"2025-03-15 13:16:00"},"4.0.9":{"tag":"4.0.9","author":"samsonovteamwork","date":"2025-03-20 09:25:26"},"5.0.0":{"tag":"5.0.0","author":"samsonovteamwork","date":"2025-03-20 09:25:26"},"5.0.1":{"tag":"5.0.1","author":"samsonovteamwork","date":"2025-03-26 10:01:36"},"5.0.2":{"tag":"5.0.2","author":"samsonovteamwork","date":"2025-03-27 19:18:52"},"5.0.3":{"tag":"5.0.3","author":"samsonovteamwork","date":"2025-04-03 10:35:02"},"5.0.4":{"tag":"5.0.4","author":"samsonovteamwork","date":"2025-04-03 12:40:52"},"5.0.5":{"tag":"5.0.5","author":"samsonovteamwork","date":"2025-04-08 08:33:58"},"5.0.6":{"tag":"5.0.6","author":"samsonovteamwork","date":"2025-04-12 10:08:06"},"5.0.7":{"tag":"5.0.7","author":"samsonovteamwork","date":"2025-04-12 16:05:54"},"5.0.8":{"tag":"5.0.8","author":"samsonovteamwork","date":"2025-04-14 18:28:33"},"6.0.0":{"tag":"6.0.0","author":"samsonovteamwork","date":"2025-04-28 19:38:31"},"6.0.1":{"tag":"6.0.1","author":"samsonovteamwork","date":"2025-04-28 19:38:31"},"6.0.2":{"tag":"6.0.2","author":"samsonovteamwork","date":"2025-04-29 18:12:42"},"6.0.3":{"tag":"6.0.3","author":"samsonovteamwork","date":"2025-04-29 19:18:03"},"6.0.4":{"tag":"6.0.4","author":"samsonovteamwork","date":"2025-04-29 19:56:39"},"6.0.5":{"tag":"6.0.5","author":"samsonovteamwork","date":"2025-04-30 09:47:10"},"6.0.6":{"tag":"6.0.6","author":"samsonovteamwork","date":"2025-05-04 18:55:37"},"6.0.7":{"tag":"6.0.7","author":"samsonovteamwork","date":"2025-05-18 08:56:52"},"6.0.8":{"tag":"6.0.8","author":"samsonovteamwork","date":"2025-05-20 15:08:21"},"6.0.9":{"tag":"6.0.9","author":"samsonovteamwork","date":"2025-05-22 20:47:45"},"6.1.0":{"tag":"6.1.0","author":"samsonovteamwork","date":"2025-05-23 15:17:34"},"6.1.1":{"tag":"6.1.1","author":"samsonovteamwork","date":"2025-05-30 11:46:50"},"6.1.2":{"tag":"6.1.2","author":"samsonovteamwork","date":"2025-06-08 10:35:28"},"7.0.0":{"tag":"7.0.0","author":"samsonovteamwork","date":"2025-06-10 13:28:58"},"7.0.1":{"tag":"7.0.1","author":"samsonovteamwork","date":"2025-06-11 15:18:09"},"7.0.2":{"tag":"7.0.2","author":"samsonovteamwork","date":"2025-06-18 20:22:22"},"7.0.3":{"tag":"7.0.3","author":"samsonovteamwork","date":"2025-06-26 10:45:01"},"7.0.4":{"tag":"7.0.4","author":"samsonovteamwork","date":"2025-06-27 19:54:20"},"7.0.5":{"tag":"7.0.5","author":"samsonovteamwork","date":"2025-07-02 15:36:50"},"7.0.6":{"tag":"7.0.6","author":"samsonovteamwork","date":"2025-07-02 15:59:17"},"7.0.7":{"tag":"7.0.7","author":"samsonovteamwork","date":"2025-07-02 16:08:00"},"7.0.8":{"tag":"7.0.8","author":"samsonovteamwork","date":"2025-07-02 16:18:49"},"7.0.9":{"tag":"7.0.9","author":"samsonovteamwork","date":"2025-07-04 09:18:40"},"7.1.0":{"tag":"7.1.0","author":"samsonovteamwork","date":"2025-07-04 16:39:52"},"7.1.1":{"tag":"7.1.1","author":"samsonovteamwork","date":"2025-07-04 16:49:58"},"7.1.2":{"tag":"7.1.2","author":"samsonovteamwork","date":"2025-07-04 17:05:43"},"7.1.4":{"tag":"7.1.4","author":"samsonovteamwork","date":"2025-07-07 19:09:17"},"7.1.5":{"tag":"7.1.5","author":"samsonovteamwork","date":"2025-07-08 11:44:17"},"7.1.6":{"tag":"7.1.6","author":"samsonovteamwork","date":"2025-07-08 16:19:13"},"8.0.0":{"tag":"8.0.0","author":"samsonovteamwork","date":"2025-07-14 15:57:12"},"8.0.1":{"tag":"8.0.1","author":"samsonovteamwork","date":"2025-07-14 18:39:40"},"8.0.2":{"tag":"8.0.2","author":"samsonovteamwork","date":"2025-07-15 09:57:05"},"8.0.3":{"tag":"8.0.3","author":"samsonovteamwork","date":"2025-07-15 11:55:02"},"8.0.4":{"tag":"8.0.4","author":"samsonovteamwork","date":"2025-07-15 15:41:18"},"8.0.5":{"tag":"8.0.5","author":"samsonovteamwork","date":"2025-07-22 10:17:39"},"8.0.6":{"tag":"8.0.6","author":"samsonovteamwork","date":"2025-07-23 17:43:49"},"8.0.7":{"tag":"8.0.7","author":"samsonovteamwork","date":"2025-07-24 16:42:32"},"8.0.8":{"tag":"8.0.8","author":"samsonovteamwork","date":"2025-07-27 10:19:27"},"8.0.9":{"tag":"8.0.9","author":"samsonovteamwork","date":"2025-07-31 18:32:04"},"8.1.0":{"tag":"8.1.0","author":"samsonovteamwork","date":"2025-08-03 19:22:33"},"8.1.1":{"tag":"8.1.1","author":"samsonovteamwork","date":"2025-08-04 08:53:44"},"8.1.2":{"tag":"8.1.2","author":"samsonovteamwork","date":"2025-08-07 20:36:51"},"8.1.3":{"tag":"8.1.3","author":"samsonovteamwork","date":"2025-08-09 12:28:10"},"8.1.4":{"tag":"8.1.4","author":"samsonovteamwork","date":"2025-08-17 14:54:12"},"8.1.5":{"tag":"8.1.5","author":"samsonovteamwork","date":"2025-08-19 13:01:36"},"8.1.6":{"tag":"8.1.6","author":"samsonovteamwork","date":"2025-08-21 16:07:15"},"8.1.7":{"tag":"8.1.7","author":"samsonovteamwork","date":"2025-08-29 14:01:09"},"8.1.8":{"tag":"8.1.8","author":"samsonovteamwork","date":"2025-09-05 10:49:59"},"8.1.9":{"tag":"8.1.9","author":"samsonovteamwork","date":"2025-10-03 14:24:45"},"8.2.0":{"tag":"8.2.0","author":"samsonovteamwork","date":"2025-10-14 11:05:00"},"8.2.1":{"tag":"8.2.1","author":"samsonovteamwork","date":"2025-10-20 15:20:16"},"8.2.2":{"tag":"8.2.2","author":"samsonovteamwork","date":"2025-10-23 10:12:02"},"8.2.3":{"tag":"8.2.3","author":"samsonovteamwork","date":"2025-10-24 10:12:33"},"8.2.4":{"tag":"8.2.4","author":"samsonovteamwork","date":"2026-01-14 16:57:39"},"8.2.5":{"tag":"8.2.5","author":"samsonovteamwork","date":"2026-01-17 13:37:34"},"8.2.6":{"tag":"8.2.6","author":"ryhowa","date":"2026-02-11 11:25:05"},"8.2.7":{"tag":"8.2.7","author":"ryhowa","date":"2026-03-13 18:44:39"},"8.3.3":{"tag":"8.3.3","author":"ryhowa","date":"2026-04-24 17:50:10"},"8.3.4":{"tag":"8.3.4","author":"ryhowa","date":"2026-05-05 15:57:32"},"8.4.0":{"tag":"8.4.0","author":"ryhowa","date":"2026-05-09 13:28:15"},"8.4.1":{"tag":"8.4.1","author":"ryhowa","date":"2026-06-06 11:17:29"},"8.4.2":{"tag":"8.4.2","author":"ryhowa","date":"2026-06-08 12:05:13"},"8.4.3":{"tag":"8.4.3","author":"ryhowa","date":"2026-06-08 12:56:29"},"8.4.4":{"tag":"8.4.4","author":"ryhowa","date":"2026-06-10 10:57:06"},"8.5.0":{"tag":"8.5.0","author":"ryhowa","date":"2026-06-15 02:17:59"},"8.5.1":{"tag":"8.5.1","author":"ryhowa","date":"2026-07-03 14:18:26"},"8.5.2":{"tag":"8.5.2","author":"ryhowa","date":"2026-07-15 15:29:52"},"8.5.3":{"tag":"8.5.3","author":"ryhowa","date":"2026-07-17 12:26:54"},"8.5.4":{"tag":"8.5.4","author":"ryhowa","date":"2026-07-31 12:48:58"},"8.5.5":{"tag":"8.5.5","author":"ryhowa","date":"2026-07-31 16:21:36"},"8.5.6":{"tag":"8.5.6","author":"ryhowa","date":"2026-08-01 00:41:24"},"8.5.7":{"tag":"8.5.7","author":"ryhowa","date":"2026-08-11 12:51:02"},"8.6.0":{"tag":"8.6.0","author":"ryhowa","date":"2026-08-18 13:48:54"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":2,"4":1,"5":9},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3322182,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3322182,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3322182,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3322182,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.0","3.0.0","4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6","4.0.7","4.0.8","4.0.9","5.0.0","5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.0.6","5.0.7","5.0.8","6.0.0","6.0.1","6.0.2","6.0.3","6.0.4","6.0.5","6.0.6","6.0.7","6.0.8","6.0.9","6.1.0","6.1.1","6.1.2","7.0.0","7.0.1","7.0.2","7.0.3","7.0.4","7.0.5","7.0.6","7.0.7","7.0.8","7.0.9","7.1.0","7.1.1","7.1.2","7.1.4","7.1.5","7.1.6","8.0.0","8.0.1","8.0.2","8.0.3","8.0.4","8.0.5","8.0.6","8.0.7","8.0.8","8.0.9","8.1.0","8.1.1","8.1.2","8.1.3","8.1.4","8.1.5","8.1.6","8.1.7","8.1.8","8.1.9","8.2.0","8.2.1","8.2.2","8.2.3","8.2.4","8.2.5","8.2.6","8.2.7","8.3.3","8.3.4","8.4.0","8.4.1","8.4.2","8.4.3","8.4.4","8.5.0","8.5.1","8.5.2","8.5.3","8.5.4","8.5.5","8.5.6","8.5.7","8.6.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,226124,174174,186,2227],"plugin_category":[55],"plugin_contributors":[236404,240081],"plugin_business_model":[],"class_list":["post-215992","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-llm","plugin_tags-rankmath","plugin_tags-seo","plugin_tags-yoast","plugin_category-seo-and-marketing","plugin_contributors-ryhowa","plugin_contributors-samsonovteamwork","plugin_committers-ryhowa","plugin_committers-samsonovteamwork","plugin_support_reps-samsonovteamwork"],"banners":{"banner":"https:\/\/ps.w.org\/website-llms-txt\/assets\/banner-772x250.png?rev=3322182","banner_2x":"https:\/\/ps.w.org\/website-llms-txt\/assets\/banner-1544x500.png?rev=3322182","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/website-llms-txt\/assets\/icon-128x128.png?rev=3322182","icon_2x":"https:\/\/ps.w.org\/website-llms-txt\/assets\/icon-256x256.png?rev=3322182","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Website LLMs.txt<\/strong> generates and manages an <code>llms.txt<\/code> file, a structured, AI-ready index that helps large language models like ChatGPT, Claude, and Perplexity understand your site\u2019s most important content.<\/p>\n\n<h3>How llms.txt works<\/h3>\n\n<p>Traditional sitemaps and robots files guide search engines. But as AI-driven systems such as ChatGPT, Claude, and Perplexity increasingly ingest web content, they benefit from a clear, structured list of a site\u2019s most important URLs.\n    llms.txt offers that: a plain-text or Markdown list of essential public URLs, optionally annotated with titles, descriptions, and grouping, designed for AI consumption rather than general web crawling.<\/p>\n\n<h3>Key benefits<\/h3>\n\n<p>\u2705 <strong>AI discovery readiness<\/strong>: future-proof your site for AI indexing and content retrieval.\n\u2705 <strong>Fully automatic<\/strong>: the plugin builds and updates your <code>llms.txt<\/code> file on its own schedule.\n\u2705 <strong>SEO plugin integration<\/strong>: works seamlessly with Yoast SEO, Rank Math, SEOPress, and AIOSEO, automatically excluding content marked as <em>noindex<\/em> or <em>nofollow<\/em>.\n\u2705 <strong>Advanced controls<\/strong>: choose post types, customize file titles or descriptions, attach optional Markdown files, and trigger manual regeneration.\n\u2705 <strong>Developer-friendly<\/strong>: includes filters such as <code>llms_generator_get_post_meta_description<\/code> for description logic, performance tuning, and custom indexing behavior.\n\u2705 <strong>WooCommerce &amp; multisite ready<\/strong>: respects product visibility rules and scales easily across large or networked sites.<\/p>\n\n<h3>Activation &amp; setup<\/h3>\n\n<ol>\n<li>Activate the plugin.<\/li>\n<li>Visit <em>Settings \u2192 LLMs.txt<\/em> to configure post types and update frequency (immediate, daily, or weekly).<\/li>\n<li>The plugin generates <code>llms.txt<\/code> and serves it from your site root.<\/li>\n<li>Content updates trigger automatic regeneration. All noindex\/nofollow rules from your SEO plugin are respected.<\/li>\n<\/ol>\n\n<h3>Use cases for llms.txt<\/h3>\n\n<ul>\n<li>Publishers, SaaS companies, developers, and documentation sites that want to make their content easier for AI systems to interpret.<\/li>\n<li>SEO-driven websites testing AI engine optimization tactics.<\/li>\n<li>Agencies and site owners preparing for the next phase of AI search and retrieval.<\/li>\n<\/ul>\n\n<h3>The llms.txt experiment &amp; further reading<\/h3>\n\n<ul>\n<li><a href=\"https:\/\/completeseo.com\/are-ai-bots-actually-reading-llms-txt-files\/\">Are AI bots actually reading llms.txt files?<\/a><\/li>\n<li><a href=\"https:\/\/completeseo.com\/everything-we-know-about-llms-txt\/\">Everything we know about llms.txt<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/website-llms-txt<\/code><\/li>\n<li>Activate the plugin through the <em>Plugins<\/em> screen in WordPress<\/li>\n<li>Go to <em>Settings \u2192 LLMs.txt<\/em> to configure options and generate your file<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20is%20my%20llms.txt%20smaller%20after%20updating%20to%208.5.4%3F\"><h3>Why is my llms.txt smaller after updating to 8.5.4?<\/h3><\/dt>\n<dd><p>The plugin now leaves out anything an anonymous visitor cannot read on your site. If you use a membership or access control plugin, your posts and pages are left out by default, because there is no reliable way to tell from the database which of them a visitor can read. The \"Excluded content\" summary on the settings screen shows what was left out, and you can include individual posts and pages from the editor.<\/p>\n\n<p>If your file was generated before this update it may have listed content that is not publicly visible, including titles and links. The file is rebuilt when you update. If you have shared or submitted a copy of it anywhere, it is worth replacing that copy.<\/p><\/dd>\n<dt id=\"what%20is%20llms.txt%3F\"><h3>What is llms.txt?<\/h3><\/dt>\n<dd><p>llms.txt is a plain-text or Markdown file placed at the root of your domain (for example <code>https:\/\/example.com\/llms.txt<\/code>) that lists your site\u2019s most important public URLs. It helps large language models (LLMs) like ChatGPT, Claude, and Perplexity better understand your site\u2019s structure and priority content.<\/p><\/dd>\n<dt id=\"how%20does%20the%20website%20llms.txt%20plugin%20work%3F\"><h3>How does the Website LLMs.txt plugin work?<\/h3><\/dt>\n<dd><p>The plugin automatically generates and maintains your <code>llms.txt<\/code> file based on published content. It pulls titles and descriptions from your site, respects SEO plugin settings (Yoast SEO, Rank Math, SEOPress, and AIOSEO), and excludes anything marked as <em>noindex<\/em> or <em>nofollow<\/em>. The file is then served from your site root, ready for AI crawlers to read.<\/p><\/dd>\n<dt id=\"how%20often%20is%20llms.txt%20updated%3F\"><h3>How often is llms.txt updated?<\/h3><\/dt>\n<dd><p>You can set the update frequency in the plugin settings: immediate, daily, or weekly. You can also click \u201cGenerate Now\u201d in the admin panel to rebuild the file at any time.<\/p><\/dd>\n<dt id=\"does%20this%20guarantee%20visibility%20in%20chatgpt%2C%20claude%2C%20or%20perplexity%3F\"><h3>Does this guarantee visibility in ChatGPT, Claude, or Perplexity?<\/h3><\/dt>\n<dd><p>No. There\u2019s no guarantee that any AI model will immediately use <code>llms.txt<\/code>, but it\u2019s clear that several systems, including GPTBot, ClaudeBot, and PerplexityBot, are already crawling these files. Using <code>llms.txt<\/code> positions your site ahead of the curve as AI indexing becomes more structured.<\/p><\/dd>\n<dt id=\"what%20if%20my%20host%20doesn%E2%80%99t%20allow%20writing%20to%20the%20root%20directory%3F\"><h3>What if my host doesn\u2019t allow writing to the root directory?<\/h3><\/dt>\n<dd><p>The plugin also writes a copy of the file into your uploads folder, and on hosting where the root directory cannot be written, such as WordPress VIP, that copy is the only one. WordPress serves it at <code>https:\/\/example.com\/llms.txt<\/code> through a rewrite rule the plugin registers. Rewrite rules are stored and are not rebuilt on their own, so if <code>\/llms.txt<\/code> returns a 404 on a site that has already generated the file, use \u201cClear caches\u201d on the plugin settings screen, or re-save your permalinks under <em>Settings \u2192 Permalinks<\/em>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20seo%20plugins%20like%20yoast%20or%20rank%20math%3F\"><h3>Does it work with SEO plugins like Yoast or Rank Math?<\/h3><\/dt>\n<dd><p>Yes. It automatically integrates with Yoast SEO, Rank Math, SEOPress, and AIOSEO. Pages marked as <em>noindex<\/em> or <em>nofollow<\/em> in any of those plugins will be excluded from your <code>llms.txt<\/code> file automatically.<\/p><\/dd>\n<dt id=\"will%20it%20conflict%20with%20sitemap.xml%20or%20robots.txt%3F\"><h3>Will it conflict with sitemap.xml or robots.txt?<\/h3><\/dt>\n<dd><p>No. <code>llms.txt<\/code> complements your sitemap and robots file. Sitemaps tell search engines what to crawl; <code>llms.txt<\/code> helps AI systems understand what\u2019s most valuable. They work together without overlap or conflict.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20what%20appears%20in%20llms.txt%3F\"><h3>Can I customize what appears in llms.txt?<\/h3><\/dt>\n<dd><p>Yes. You can include or exclude specific post types, add a custom title or description, and even attach Markdown (<code>.md<\/code>) files to individual posts or pages. The plugin provides a straightforward settings panel and per-page controls for fine-tuning output.<\/p><\/dd>\n<dt id=\"i%E2%80%99m%20a%20developer.%20are%20there%20filters%20or%20hooks%20available%3F\"><h3>I\u2019m a developer. Are there filters or hooks available?<\/h3><\/dt>\n<dd><p>Yes. Filters such as <code>llms_generator_get_post_meta_description<\/code> and others allow you to modify how descriptions are generated or extend what metadata appears in the file. Developers can also adjust caching behavior, database queries, and output formatting.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20set%20any%20cookies%2C%20and%20is%20the%20visibility%20kit%20connection%20optional%3F\"><h3>Does the plugin set any cookies, and is the Visibility Kit connection optional?<\/h3><\/dt>\n<dd><p>Out of the box, the plugin sets no cookies and loads no third-party scripts. The optional Visibility Kit integration is strictly opt-in: nothing is added to your site until an administrator enters an email address and clicks <strong>Connect to Visibility Kit<\/strong> in the plugin settings. Only after you connect does the plugin load the Visibility Kit script (<code>vk.js<\/code>), which sets first-party analytics cookies (<code>_vk_vid<\/code>, <code>_vk_session_id<\/code>, <code>_vk_attr_first<\/code>, <code>_vk_landing<\/code>, <code>_vk_referrer<\/code>) used to attribute AI-referred visits. You can remove the script and stop the cookies at any time with <strong>Disconnect from Visibility Kit<\/strong> in the settings. If you use a Consent Management Platform (Cookiebot, Complianz, etc.), connect only after wiring the script into your consent flow so the cookies fire after consent, and declare the <code>_vk_*<\/code> cookies in your cookie policy.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20wordpress%20multisite%3F\"><h3>Does it work on WordPress Multisite?<\/h3><\/dt>\n<dd><p>Yes. On a network-activated install, each subsite gets its own rewrite rules, and sites created later have rules registered automatically. The plugin also detects Multisite when deciding whether to write <code>llms.txt<\/code> to the site root, so each subsite serves its own file at its own URL.<\/p>\n\n<p>On a very large network, activate from the command line. Network activation clears each site\u2019s stored rewrite rules so every site rebuilds its own, which costs a few milliseconds per site. On networks of several thousand sites that can run past PHP\u2019s time limit in wp-admin, and <code>wp plugin activate website-llms-txt --network<\/code> has no such limit.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20lifterlms%3F\"><h3>Does it work with LifterLMS?<\/h3><\/dt>\n<dd><p>No. The two plugins cannot be active on the same site. Both define a PHP class named <code>LLMS_Generator<\/code>, so WordPress stops with a fatal error when the second one loads. This is long-standing and applies to earlier versions too, in both directions. Renaming our class is planned for a future release.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>8.6.0<\/h4>\n\n<p>\ud83d\udd12 Security<\/p>\n\n<p>\u2022 Content that your membership or access control plugin hides inside an otherwise public page is no longer written into llms.txt. Until now the page was read with the permissions of whoever triggered the generation, which on most sites is an administrator, so material only members can see could end up in a file anyone can fetch. The page is now read as a logged out visitor.\n\u2022 This applies to the page body, the excerpt, the description, the custom note field and content added by an integration. Restricted blocks are removed, and restricted shortcodes belonging to the common membership plugins are removed by name, which also covers one whose plugin has since been deactivated. A gate of your own can be added to that list with the llms_gating_shortcodes filter.\n\u2022 Entries cached before this update keep the text they already hold. Each one is rewritten the next time that page is saved, or all of them at once if you use \"Delete and recreate\" under LLMs.txt Reset on the settings page.<\/p>\n\n<p>\ud83d\udee0 Fixes<\/p>\n\n<p>\u2022 On a site with more than 500 entries of a single post type, an automatic rebuild filled only about half of what was missing in one pass, so llms.txt could list about half your content until later rebuilds caught up. One pass now fills the whole backlog.\n\u2022 When WordPress serves llms.txt itself, which is what happens on hosts where the file cannot be written to the site root, the text arrived HTML escaped: an apostrophe as &#039; and an &amp; inside a link as &amp;, which breaks the link. It is now served exactly as written.<\/p>\n\n<p>\ud83e\uddf9 Maintenance<\/p>\n\n<p>\u2022 Housekeeping with no change to how the plugin works. About 4,200 lines of developer commentary were removed from the plugin source.<\/p>\n\n<h4>8.5.7<\/h4>\n\n<p>\ud83d\udee0 Fixes<\/p>\n\n<p>\u2022 Posts published automatically on a schedule could be listed in llms.txt with a published and modified date of -0001-11-30 in place of the real date. The plugin no longer stores a date it cannot read, and no longer prints one.\n\u2022 Entries already carrying a broken date stop showing it as soon as you update. The real date comes back the next time that post is saved, or right away if you use \"Delete and recreate\".<\/p>\n\n<h4>8.5.6<\/h4>\n\n<p>\ud83d\udee0 Fixes<\/p>\n\n<p>\u2022 On sites serving more than one visitor at a time, the plugin could delete its own llms.txt and rebuild it every 30 to 90 seconds, leaving the file missing most of the time. It now confirms a file is not its own before removing it.\n\u2022 The back off added in 8.5.5 never engaged, so affected sites kept retrying every 30 seconds.\n\u2022 When the plugin repeatedly finds an llms.txt it did not write, it now stops rebuilding and names the file on the settings screen.<\/p>\n\n<p>\ud83d\udd12 Security<\/p>\n\n<p>\u2022 \"Delete and recreate\" left the llms.txt in your site root in place, so a site updating from 8.5.3 could still serve the old file. It is now removed too.<\/p>\n\n<p>Updating is recommended for all sites, and is important if you are on 8.5.4 or 8.5.5.<\/p>\n\n<h4>8.5.5<\/h4>\n\n<p>\ud83d\udd12 Security<\/p>\n\n<p>\u2022 Follow-up to 8.5.4. On some sites the old llms.txt could not be deleted during the update, and the plugin treated it as removed. Those sites went on serving the old file, which may have contained content that is not publicly visible. The plugin now checks that the file was really removed, keeps trying, and tells you on the settings screen if something is in the way.<\/p>\n\n<p>\ud83d\udee0 Fixes<\/p>\n\n<p>\u2022 A site whose file could not be generated no longer retries every 30 seconds without end. Repeated failures now back off, as the plugin already intended.\n\u2022 A successful rebuild no longer leaves an extra scheduled regeneration behind.\n\u2022 Deactivating the plugin no longer leaves its rewrite rule behind in your site's stored permalink rules.<\/p>\n\n<p>Updating is recommended for all sites, and especially for anyone who updated to 8.5.4.<\/p>\n\n<h4>8.5.4<\/h4>\n\n<p>\ud83d\udd12 Security<\/p>\n\n<p>\u2022 Content that is not publicly visible on your site is no longer included in the generated file. This covers password protected content, content that is not published, and content restricted by membership and access control plugins.\n\u2022 If you use a membership or access control plugin, your posts and pages are now left out by default, because there is no reliable way to tell from the database which of them a visitor can read. The new \"Excluded content\" summary on the settings screen shows what was left out, and you can include individual posts and pages from the editor.\n\u2022 Your existing llms.txt is rebuilt when you update, so anything that should not have been in it is removed.\n\u2022 Regeneration is faster, and the file is now written in a single step so an interrupted update cannot leave a partial file in place.<\/p>\n\n<p>Updating is recommended for all sites.<\/p>\n\n<h4>8.5.3<\/h4>\n\n<p>\ud83d\udee0 Improvements<\/p>\n\n<p>\u2022 \"Clear caches\" now rebuilds the llms.txt file immediately, in the same request, instead of scheduling a background WP-Cron job. On hosts where WP-Cron never fires, that scheduled rebuild silently never ran and the file stayed stale even though the button reported success. You will now see the file update right away.\n\u2022 \"Clear caches\" also no longer wipes the plugin's cached post data, so it stays fast even on large sites. If you need a full rebuild from scratch, that is what \"Delete and recreate\" is for; since 8.5.2 both produce correct URLs on WPML sites.\n\u2022 The File Status card now shows when llms.txt was last generated, so you can confirm updates at a glance without checking file timestamps.\n\u2022 The settings page now warns you when WP-Cron appears not to be running, since automatic updates (after saving a post, and the daily\/weekly schedule) depend on it. The buttons on the settings page work either way.<\/p>\n\n<h4>8.5.2<\/h4>\n\n<p>\ud83d\udc1b Fixes<\/p>\n\n<p>\u2022 Fixed wrong URLs in llms.txt on WPML sites. Translated pages could be listed with the right language prefix but the default language's slug, for example \/en\/kontakt\/ instead of \/en\/contact\/, even though the front end linked to the page correctly. The language was only being set during scheduled generation, so saving a page or using \"Delete and recreate\" rewrote that page's URL incorrectly. All three paths now build URLs in the post's own language.\n\u2022 Fixed the \"Settings\" link on the Plugins screen, which pointed at the wrong admin page and returned \"Sorry, you are not allowed to access this page.\" It now opens Tools \u2192 Llms.txt.\n\u2022 Fixed \"Clear caches\" sending you to that same permission error afterwards. It now returns you to the settings page and shows the confirmation message.<\/p>\n\n<h4>8.5.1<\/h4>\n\n<p>\ud83d\udc1b Fixes and a new developer hook<\/p>\n\n<p>\u2022 Fixed a dismissible admin notice that reappeared after being closed. The roadmap notice has been removed, so it no longer comes back on every page load.\n\u2022 Added a new <code>llms_generator_post_content<\/code> filter so integrations and site owners can append content that lives outside the main editor, such as Advanced Custom Fields (ACF) values, to a post's detailed content in llms.txt.<\/p>\n\n<h4>8.5.0<\/h4>\n\n<p>\ud83e\uddf9 Removed AI bot crawl tracking<\/p>\n\n<p>\u2022 Removed the server-side AI bot\/crawler detection and logging. The plugin no longer inspects request User-Agents, keeps a local bot log, or sends any crawler telemetry. <code>llms.txt<\/code> generation is unchanged.\n\u2022 The optional Visibility Kit integration now focuses solely on AI referral traffic: the real visitors that AI search (ChatGPT, Claude, Gemini, Perplexity) sends to your site. Connecting and the <code>vk.js<\/code> referral script work exactly as before.\n\u2022 Removed the \"AI bot crawl detection\" setting. No action needed; your llms.txt and any Visibility Kit connection are unaffected.<\/p>\n\n<h4>8.4.4<\/h4>\n\n<p>\ud83d\udc1b Fix: WPML hidden languages<\/p>\n\n<p>\u2022 Posts belonging to a WPML language marked as hidden (WPML \u2192 Languages \u2192 Hide languages) are no longer included in the generated llms.txt. This prevents unfinished or intentionally hidden translations from being exposed to AI crawlers. After updating, use the LLMs.txt Reset option (Settings \u2192 LLMs.txt) to rebuild the cache so previously included hidden-language URLs are removed. Thanks to the reporter on the wp.org support forum.<\/p>\n\n<h4>8.4.3<\/h4>\n\n<p>\u2728 New: All in One SEO meta descriptions<\/p>\n\n<p>\u2022 The plugin now pulls meta descriptions from All in One SEO (AIOSEO) when \"Include post excerpts \/ meta descriptions\" is enabled, in addition to the existing Yoast SEO, Rank Math, and Slim SEO support. AIOSEO smart tags (for example #post_title) are rendered to their final text. Previously only AIOSEO's index\/noindex rules were honored and its descriptions were skipped. After updating, regenerate the file (Settings \u2192 LLMs.txt \u2192 Generate Now). Thanks to the reporter on the wp.org support forum.<\/p>\n\n<h4>8.4.2<\/h4>\n\n<p>\ud83d\udc1b Encoding fix<\/p>\n\n<p>\u2022 Fixed garbled non-ASCII text (mojibake) in <code>llms.txt<\/code> that could appear after updating to 8.4.1, for example Cyrillic, Greek, or CJK content rendering as <code>\u00d0...<\/code> sequences. The 8.4.1 release removed the UTF-8 byte-order mark, which on many servers was the only signal telling browsers the statically served file is UTF-8; without it the file could be mis-read as Latin-1. The BOM has been restored (it does not affect the \"missing H1\" validators, which were tripped by the <code>---<\/code> separators removed in 8.4.1), and the virtual file route now also sends an explicit <code>text\/plain; charset=utf-8<\/code> header. Update and regenerate (Settings \u2192 LLMs.txt \u2192 Generate Now) to refresh the file. Thanks to the reporter on the wp.org support forum.<\/p>\n\n<h4>8.4.1<\/h4>\n\n<p>\ud83d\udc1b Fixes &amp; compliance<\/p>\n\n<p>\u2022 Removed the <code>---<\/code> horizontal-rule separators from the generated <code>llms.txt<\/code>. Some validators (Google Lighthouse \"Agent Accessibility\", Semrush Site Audit) read an early <code>---<\/code> as a YAML front-matter delimiter and discarded the <code># Title<\/code>, reporting a false \"missing H1\". The file now uses <code>##<\/code> section headings only, matching the llmstxt.org format. Thanks to the reporter on the wp.org support forum.\n\u2022 Removed the UTF-8 byte-order mark (BOM) from the start of the file. The first byte is now the <code>#<\/code> H1 marker, which further improves compatibility with strict Markdown and llms.txt validators.\n\u2022 Documentation: added FAQ entries clarifying that the plugin sets no cookies until you opt in to Visibility Kit, listing the <code>_vk_*<\/code> cookies for cookie-policy\/CMP declaration, and confirming WordPress Multisite support.\n\u2022 Condensed older changelog entries (7.1.6 and earlier) to stay within wp.org's readme length limit.<\/p>\n\n<h4>8.4.0<\/h4>\n\n<p>\ud83e\udd16 Server-side bot classification<\/p>\n\n<p>\u2022 Bot taxonomy is now sourced from the Visibility Kit API (cached for 24h via a transient) rather than baked into the plugin. New bots and reclassifications take effect without a plugin update.\n\u2022 Telemetry payloads now include the raw User-Agent string. The server is the source of truth for bot\/botType.\n\u2022 Bundled fallback list still ships with the plugin so detection keeps working when the API is unreachable.\n\u2022 Internal: per-page-load detection now iterates the API list in (priority DESC, length DESC) order so longer\/more-specific UA matches win.<\/p>\n\n<h4>8.3.4<\/h4>\n\n<p>\ud83d\udc1b Fix<\/p>\n\n<p>\u2022 Resolves a fatal error (\"Call to a member function setup() on null\") that could occur when Rank Math is active but its setup wizard has not been completed. The Rank Math integration now also checks that <code>rank_math()-&gt;variables<\/code> is initialized before calling it. Thanks to the reporter on the wp.org support forum.<\/p>\n\n<h4>8.3.3<\/h4>\n\n<p>\ud83d\ude80 New: Visibility Kit AI referral tracking<\/p>\n\n<p>\u2022 Connect the plugin with an email to track AI referral sessions and AI search bot indexing for your site.\n\u2022 New in-plugin \"AI Search Traffic\" widget showing referral session counts for ChatGPT, Claude, Gemini, and Perplexity.\n\u2022 Announcement banner renders across wp-admin inviting connection, with a persistent per-user dismiss.\n\u2022 If a domain was previously connected under a different email, the plugin now offers an inline \"Take it over with this email\" flow. No support ticket required.<\/p>\n\n<p>\ud83e\udd16 Expanded AI bot detection<\/p>\n\n<p>\u2022 Reclassified bots into user-action, search-indexing, and training categories.\n\u2022 Added ChatGPT-User, Claude-User, Perplexity-User, OAI-SearchBot, Claude-SearchBot, Applebot, TikTokSpider, Meta-ExternalFetcher, Meta-ExternalAgent, and more.\n\u2022 Detection now runs on every page load (not only \/llms.txt), with per-bot-per-page-per-hour throttling on remote telemetry.\n\u2022 Local bot log format migrated to a keyed-by-bot structure with counts; existing data migrates automatically on first read.<\/p>\n\n<p>\ud83d\udee1\ufe0f Security and code quality<\/p>\n\n<p>\u2022 All POST\/SERVER superglobal reads now use wp_unslash() with appropriate sanitizers (sanitize_text_field, sanitize_email, esc_url_raw).\n\u2022 Admin page outputs escaped with esc_attr(), esc_textarea(), and esc_html() in place of raw echo and &lt;?= short-echo tags.\n\u2022 Translator comments added for printf'd strings containing HTML tags.\n\u2022 parse_url() \u2192 wp_parse_url(), unlink() \u2192 wp_delete_file(), strip_tags() \u2192 wp_strip_all_tags(), date() \u2192 gmdate() for UTC outputs.<\/p>\n\n<p>\ud83e\uddf9 Housekeeping<\/p>\n\n<p>\u2022 Added VK option cleanup (embed token, connected email, summary cache) to uninstall.\n\u2022 Domain Path header now resolves to an included languages\/ directory.\n\u2022 Tested up to WordPress 6.9; reduced to 5 tags for wp.org compliance.<\/p>\n\n<h4>8.2.8<\/h4>\n\n<p>\ud83d\udd27 Fixes and integrations previously staged in source control<\/p>\n\n<p>\u2022 Flywheel-aware cleanup: root llms.txt is now deleted correctly from Flywheel's split www\/ directory layout on plugin deactivation and uninstall, alongside the uploads-dir copies.\n\u2022 Slim SEO integration: respects Slim SEO's per-post noindex flag when generating llms.txt, and pulls Slim SEO meta descriptions when available.\n\u2022 Multisite activation: network-wide activate handles each subsite's rewrite rules, and new subsites created afterward get rules installed automatically via wp_initialize_site.<\/p>\n\n<h4>8.2.7<\/h4>\n\n<p>\ud83d\udd12 Security: Hardened admin interface against potential XSS vectors<\/p>\n\n<p>\u2022 Improved sanitization and escaping for dynamic post type labels used in admin form fields.\n\u2022 Replaced label-based array keys with post type slugs to prevent attribute injection risks.\n\u2022 Ensures all dynamic values used in HTML attributes are properly escaped with esc_attr().\n\u2022 Prevents potential stored XSS scenarios caused by maliciously registered custom post type labels.\n\u2022 Minor stability improvements to avoid PHP notices when settings values are missing.<\/p>\n\n<h4>8.2.6<\/h4>\n\n<p>\ud83d\udee0 Fix: Correct WPML slugs and duplicate URLs in llms.txt<\/p>\n\n<p>\u2022 Fixed an issue where original language slugs (e.g. .de) were duplicated and appeared for both original and translated pages.\n\u2022 The generator now resolves the real WPML permalink for each language, instead of reusing the source language slug.\n\u2022 Each language entry is now written with its own correct localized URL (no mixed or duplicated slugs).\n\u2022 Prevents cases where translated pages were listed with the original language URL.\n\u2022 Ensures llms.txt contains only valid, language-correct links for all WPML translations.<\/p>\n\n<h4>8.2.5<\/h4>\n\n<p>\ud83d\udee0 <strong>Fix: Multilingual llms.txt generation with WPML<\/strong><\/p>\n\n<p>\u2022 The generated <code>llms.txt<\/code> file now contains <strong>all WPML language versions at once<\/strong>.\n\u2022 Each language is rendered with its <strong>correct localized permalink<\/strong> (<code>\/en\/<\/code>, <code>\/ro\/<\/code>, etc.).\n\u2022 The output is <strong>no longer dependent on the currently viewed language<\/strong>.\n\u2022 This ensures that a single <code>llms.txt<\/code> file always exposes <strong>all valid multilingual URLs<\/strong>, regardless of which language version is accessed.<\/p>\n\n<p>Result:<\/p>\n\n<ul>\n<li>One unified <code>llms.txt<\/code><\/li>\n<li>All WPML languages included<\/li>\n<li>All links resolve correctly<\/li>\n<li>No missing or fallback-to-default-language URLs<\/li>\n<\/ul>\n\n<h4>8.2.4<\/h4>\n\n<p>\ud83d\udee0 Improvement: Gravity Forms exclusion control<\/p>\n\n<p>\u2022 Added an option to exclude Gravity Forms form fields from the generated llms.txt output.\n\u2022 When disabled, all Gravity Forms markup (<code>&lt;form id=\"gform_...\"&gt;<\/code>, wrappers, and fields) is completely removed before file generation.\n\u2022 Prevents unintended exposure of form structure and field labels in llms.txt.<\/p>\n\n<h4>8.2.3<\/h4>\n\n<p>\ud83d\udcdd Update: README.txt improvements\n\u2022 Updated the link for \u201cAll websites counter &amp; experiment details\u201d to the new, correct URL.\n\u2022 Minor text adjustments for clarity and consistency within the documentation.<\/p>\n\n<h4>8.2.2<\/h4>\n\n<p>\ud83d\udee0 Fix: PHP Fatal Error (ArgumentCountError)\n\u2022 Fixed the issue: Fatal error: Uncaught ArgumentCountError: 5 arguments are required, 3 given in admin-page.php:356<\/p>\n\n<h4>8.2.1<\/h4>\n\n<p>\ud83d\udee0 Fix: PHP Fatal Error (ArgumentCountError)\n\u2022 Fixed the issue: Fatal error: Uncaught ArgumentCountError: 5 arguments are required, 3 given in admin-page.php:356\n\u2022 The error occurred because printf() was used with a translatable string that expected more placeholders than arguments provided.\n\u2022 Replaced it with a safe sprintf() and wp_kses_post() implementation to properly escape HTML and ensure compatibility with PHP 8.x.<\/p>\n\n<h4>8.2.0<\/h4>\n\n<p>\ud83e\udde9 New: LLMs.txt Reset Block\n\u2022 Added a new \u201cLLMs.txt Reset\u201d section in the settings panel.\n\u2022 Allows safely deleting and recreating the llms.txt file.\n\u2022 Clears any related transient cache entries.\n\u2022 Automatically rebuilds a fresh version of llms.txt based on current settings and published content.<\/p>\n\n<p>\ud83d\udcdd Improved Field Descriptions for Custom LLMs.txt Content\n\u2022 Updated admin field labels and descriptions for better clarity:\n\u2022 Title: manually define the title for the generated file.\n\u2022 Description: add an introductory section before URLs.\n\u2022 After Description: insert optional text before the list of links.\n\u2022 End File Description: append footer text (e.g., disclaimer or contact info).<\/p>\n\n<p>\u2699\ufe0f Enhancement:\n\u2022 Improved layout consistency and help text readability across the settings panel.<\/p>\n\n<h4>8.1.9<\/h4>\n\n<p>\u2728 New: SEOPress Support\n\u2022 Added compatibility with SEOPress plugin for meta data handling.<\/p>\n\n<p>\u2728 Improvement: Title Generation\n\u2022 Refactored title generation. Titles are now fetched dynamically from the actual page to ensure accuracy.<\/p>\n\n<p>\u2728 Enhancement: Admin Panel UX\n\u2022 Added a progress bar for the \u201cGenerate Now\u201d process in the admin panel for better visibility of ongoing tasks.<\/p>\n\n<h4>8.1.8<\/h4>\n\n<p>\u2728 Improvement: Hidden Posts Exclusion\n\u2022 Posts and products marked with WooCommerce catalog visibility settings \u201cexclude-from-catalog\u201d or \u201cexclude-from-search\u201d are now excluded from being listed in llms.txt.\n\u2022 Ensures that items set to Hidden, Shop only, or Search results only do not appear in the generated llms.txt file.\n\u2022 Aligns llms.txt output with WooCommerce visibility rules for better consistency and control.<\/p>\n\n<h4>8.1.7<\/h4>\n\n<p>\ud83d\udc1e Fixed: XML Sitemap Stylesheet Issues\n\u2022 Fixed an issue where llms-sitemap.xml displayed a blank page in Chrome\/Edge or the error Parsing an XSLT stylesheet failed in Firefox.\n\u2022 Added a check to ensure the stylesheet file (main-sitemap.xsl) exists before including it. If missing, the XML now loads correctly without the XSL.\n\u2022 Improved cross-browser compatibility for displaying XML sitemaps.<\/p>\n\n<p>\u2728 New: Post Type Customization in llms.txt\n\u2022 Added support for customizing post type display names in the llms.txt file.\n\u2022 Developers can now provide more descriptive or human-friendly titles for each custom post type section, improving clarity for both search engines and users.<\/p>\n\n<h4>8.1.6<\/h4>\n\n<p>\ud83d\udee0 Improved: Extensibility &amp; Performance\n\u2022 Added filter llms_generator_get_post_meta_description to make it easier to extend or replace the logic for retrieving page\/post descriptions (e.g. integrating with Yoast, RankMath, or custom SEO functions).\n\u2022 Added new filter to control which database index\/field is used when building the llms.txt file, giving developers more flexibility for performance tuning and custom setups.<\/p>\n\n<h4>8.1.5<\/h4>\n\n<p>\ud83d\udcdd New: Custom Description Field per Page\/Post\n\u2022 Added a new \u201cDescription\u201d textarea field to the llms.txt metabox on individual pages\/posts.\n\u2022 This allows site admins to manually override the default description shown in the llms.txt output.\n\u2022 Useful for precise control over how content is described or interpreted by LLMs and search engines.<\/p>\n\n<p>\ud83d\udc1b Fix: Missing Description Field UI\n\u2022 Fixed an issue where the changelog referenced a description field, but it was not visible in the admin UI unless specific settings were enabled.\n\u2022 Now shown whenever page-level llms.txt settings are active.<\/p>\n\n<h4>8.1.4<\/h4>\n\n<p>\u2728 New: ACF Template-Based Post Indexing\n\u2022 Posts using ACF-based templates (with custom fields and layouts) are now fully supported in the llms.txt generation process.\n\u2022 Ensures that even dynamically rendered content is included in the index file.<\/p>\n\n<p>\ud83d\udd0d Improvement: Post Type Indexing Summary\n\u2022 The admin interface now displays the total number of posts per type alongside how many have been indexed (e.g. \u201cPosts (123 indexed of 1829)\u201d).\n\u2022 Makes it easier to monitor indexing coverage and debug missing entries.<\/p>\n\n<h4>8.1.3<\/h4>\n\n<p>\u2728 New: Manual Generation Trigger for llms.txt\n    \u2022 Added a \"Generate Now\" option in the admin to manually trigger llms.txt file generation without waiting for scheduled cron jobs.\n    \u2022 Allows immediate regeneration for testing or urgent updates.<\/p>\n\n<p>\ud83d\udc1b Fix: WP Engine Root File Creation Issue\n    \u2022 Resolved an issue where llms.txt was generated in the uploads directory but not copied to the WordPress root on WP Engine-hosted sites.\n    \u2022 Improved file system handling to ensure compatibility with WP Engine\u2019s direct FS method and restrictive environments.\n    \u2022 Includes fallback logic for reliable file movement and permission setting.<\/p>\n\n<h4>Older versions<\/h4>\n\n<p>Changelog entries for versions 8.1.2 and earlier have been condensed to keep this file within wp.org's length limit. The full version history is preserved in the plugin source. Contact the plugin authors if you need details on an older release.<\/p>","raw_excerpt":"Automatically generate and manage LLMS.txt files for LLM\/AI content understanding, with full Yoast SEO, Rank Math, SEOPress, and AIOSEO integration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/215992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=215992"}],"author":[{"embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ryhowa"}],"wp:attachment":[{"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=215992"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=215992"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=215992"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=215992"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=215992"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=215992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}