=== Website LLMs.txt === Contributors: ryhowa, samsonovteamwork Tags: llm, ai, seo, rankmath, yoast, seopress, aioseo Requires at least: 5.8 Tested up to: 6.8.3 Requires PHP: 7.2 Stable tag: 8.2.7 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Automatically generate and manage LLMS.txt files for LLM/AI content understanding, with full Yoast SEO, Rank Math, SEOPress, and AIOSEO integration. == Description == **Website LLMs.txt** generates and manages an `llms.txt` file, a structured, AI-ready index that helps large language models like ChatGPT, Claude, and Perplexity understand your site’s most important content. ### How llms.txt works 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’s most important URLs. `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. ### Key benefits ✅ **AI discovery readiness** — future-proof your site for AI indexing and content retrieval. ✅ **Fully automatic** — the plugin builds and updates your `llms.txt` file on its own schedule. ✅ **SEO plugin integration** — works seamlessly with Yoast SEO, Rank Math, SEOPress, and AIOSEO, automatically excluding content marked as *noindex* or *nofollow*. ✅ **Advanced controls** — choose post types, customize file titles or descriptions, attach optional Markdown files, and trigger manual regeneration. ✅ **Developer-friendly** — includes filters such as `llms_generator_get_post_meta_description` for description logic, performance tuning, and custom indexing behavior. ✅ **AI crawler detection** — opt in to track whether GPTBot, ClaudeBot, or PerplexityBot are actually reading your site’s `llms.txt`. ✅ **WooCommerce & multisite ready** — respects product visibility rules and scales easily across large or networked sites. ✅ **Privacy-first experiment** — anonymous, encrypted telemetry helps reveal which bots are accessing `llms.txt` files across the web. ### Activation & setup 1. Activate the plugin. 2. Visit *Settings → LLMs.txt* to configure post types, update frequency (immediate, daily, or weekly), and optional crawler logging. 3. The plugin generates `llms.txt` (and optionally `llms-full.txt`) and serves it from your site root. 4. Content updates trigger automatic regeneration. All noindex/nofollow rules from your SEO plugin are respected. 5. If you enable AI crawler logging, local and global logs record each visit from known AI bots — viewable right inside your WordPress dashboard. ### Use cases for llms.txt - Publishers, SaaS companies, developers, and documentation sites that want to make their content easier for AI systems to interpret. - SEO-driven websites teting AI engine optimization tactics. - Agencies and site owners preparing for the next phase of AI search and retrieval. ### The llms.txt experiment & further reading - [Are AI bots actually reading llms.txt files?](https://completeseo.com/are-ai-bots-actually-reading-llms-txt-files/) - [Everything we know about llms.txt](https://completeseo.com/everything-we-know-about-llms-txt/) == Installation == 1. Upload the plugin files to `/wp-content/plugins/website-llms-txt` 2. Activate the plugin through the *Plugins* screen in WordPress 3. Go to *Settings → LLMs.txt* to configure options and generate your file == Frequently Asked Questions == = What is llms.txt? = `llms.txt` is a plain-text or Markdown file placed at the root of your domain (for example `https://example.com/llms.txt`) that lists your site’s most important public URLs. It helps large language models (LLMs) like ChatGPT, Claude, and Perplexity better understand your site’s structure and priority content. = How does the Website LLMs.txt plugin work? = The plugin automatically generates and maintains your `llms.txt` 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 *noindex* or *nofollow*. The file is then served from your site root, ready for AI crawlers to read. = How often is llms.txt updated? = You can set the update frequency in the plugin settings — immediate, daily, or weekly. You can also click “Generate Now” in the admin panel to rebuild the file at any time. = Does this guarantee visibility in ChatGPT, Claude, or Perplexity? = No. There’s no guarantee that any AI model will immediately use `llms.txt`, but it’s clear that several systems — including GPTBot, ClaudeBot, and PerplexityBot — are already crawling these files. Using `llms.txt` positions your site ahead of the curve as AI indexing becomes more structured. = What’s the difference between llms.txt and llms-full.txt? = `llms.txt` is a concise, curated list of key URLs. `llms-full.txt` is an optional extended file generated by the plugin that includes a more comprehensive export of your site’s content. It’s useful for documentation sites, developer platforms, or large content hubs that want to expose additional structure to AI systems. = What if my host doesn’t allow writing to the root directory? = The plugin includes fallback logic for environments such as WordPress VIP or read-only hosting. In those cases, it serves `llms.txt` virtually through WordPress rewrite rules, so the file is still accessible at `https://example.com/llms.txt`. = Does it work with SEO plugins like Yoast or Rank Math? = Yes. It automatically integrates with Yoast SEO, Rank Math, SEOPress, and AIOSEO. Pages marked as *noindex* or *nofollow* in any of those plugins will be excluded from your `llms.txt` file automatically. = Can I track which AI bots visit my llms.txt file? = Yes. When crawler logging is enabled, visits from AI crawlers such as GPTBot, ClaudeBot, and PerplexityBot are recorded. You can view these visits in your WordPress dashboard. If you opt into the global experiment, your data is anonymized and encrypted before contributing to a shared dataset that tracks AI bot behavior across thousands of sites. = Will it conflict with sitemap.xml or robots.txt? = No. `llms.txt` complements your sitemap and robots file. Sitemaps tell search engines what to crawl; `llms.txt` helps AI systems understand what’s most valuable. They work together without overlap or conflict. = Can I customize what appears in llms.txt? = Yes. You can include or exclude specific post types, add a custom title or description, and even attach Markdown (`.md`) files to individual posts or pages. The plugin provides a straightforward settings panel and per-page controls for fine-tuning output. = I’m a developer. Are there filters or hooks available? = Yes. Filters such as `llms_generator_get_post_meta_description` 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. = Is any personal data shared when I enable crawler logging? = No. All telemetry is privacy-first. Local logs remain on your site. If you opt into the public experiment, only anonymized data (bot name, timestamp, and a hashed version of your domain) is shared. No content, user, or identifiable data is ever transmitted. == Changelog == = 8.2.7 = 🔒 Security: Hardened admin interface against potential XSS vectors • Improved sanitization and escaping for dynamic post type labels used in admin form fields. • Replaced label-based array keys with post type slugs to prevent attribute injection risks. • Ensures all dynamic values used in HTML attributes are properly escaped with esc_attr(). • Prevents potential stored XSS scenarios caused by maliciously registered custom post type labels. • Minor stability improvements to avoid PHP notices when settings values are missing. = 8.2.6 = 🛠 Fix: Correct WPML slugs and duplicate URLs in llms.txt • Fixed an issue where original language slugs (e.g. .de) were duplicated and appeared for both original and translated pages. • The generator now resolves the real WPML permalink for each language, instead of reusing the source language slug. • Each language entry is now written with its own correct localized URL (no mixed or duplicated slugs). • Prevents cases where translated pages were listed with the original language URL. • Ensures llms.txt contains only valid, language-correct links for all WPML translations. = 8.2.5 = 🛠 **Fix: Multilingual llms.txt generation with WPML** • The generated `llms.txt` file now contains **all WPML language versions at once**. • Each language is rendered with its **correct localized permalink** (`/en/`, `/ro/`, etc.). • The output is **no longer dependent on the currently viewed language**. • This ensures that a single `llms.txt` file always exposes **all valid multilingual URLs**, regardless of which language version is accessed. Result: * One unified `llms.txt` * All WPML languages included * All links resolve correctly * No missing or fallback-to-default-language URLs = 8.2.4 = 🛠 Improvement: Gravity Forms exclusion control • Added an option to exclude Gravity Forms form fields from the generated llms.txt output. • When disabled, all Gravity Forms markup (`