
If your site is multilingual, AI assistants are probably only reading one of your languages.
Assistants such as ChatGPT, Claude, Perplexity and Gemini look for a plain text file called llms.txt at the root of a site to learn what it is about and which pages matter. On a WPML, Polylang or TranslatePress site, the file that gets produced describes your default language only. Every page you paid a translator for stays out of it.
This plugin is built around that one problem. It produces a separate file for each published language, cross links them, and points each entry at the correct translated URL.
What makes this different
The author surveyed the plugins in this directory that generate llms.txt files. They generate a single file from the default language. None of them read WPML, Polylang or TranslatePress and none of them produce a per language file. This plugin exists to close that specific gap, and everything in it is shaped by that goal rather than by generating one more copy of the same file.
One file per language
- Detects WPML, Polylang or TranslatePress on activation. Nothing to configure.
- Serves
/llms.txtfor the default language and/de/llms.txt,/bn/llms.txtand so on for the rest. - Every file carries an “Other languages” section, so a crawler that finds one file finds them all.
- Each entry points at that language’s own URL, taken from the translation plugin rather than guessed.
- On WPML and Polylang each language’s own posts are queried. On TranslatePress, which keeps one set of posts, the saved translations are read for titles and descriptions and URLs are converted through TranslatePress itself.
- Write a different title and description per language from the settings screen.
- A single language site is supported too; it simply produces one file.
Nothing is written to your server
Files are generated when they are requested. The plugin never writes to your web root, never needs write permission there, and never asks you to re-save your permalinks. Activate it and the file answers immediately, on plain permalinks as well as pretty ones, in a subdirectory install, and on multisite.
Markdown copies of your pages
Add .md to any page URL to get a clean Markdown version of it. Page builder wrappers, inline styles and scripts are removed, so a model reads your writing rather than your CSS. Optionally serve llms-full.txt, which embeds the page text, with page and word budgets so it stays sensible on shared hosting.
A curated list, not a URL dump
- Choose the post types and taxonomies that belong in the files.
- Cart, checkout, my account, privacy policy, password protected, empty and noindex pages are left out automatically.
- Force any single post in or out from a box in the editor sidebar.
- Give a post a title and a one sentence summary written for AI, without touching your SEO title or meta description.
- Group entries under your own headings and control their order.
- Descriptions fall back through Yoast SEO, Rank Math, SEOPress and All in One SEO, then the excerpt, then the opening words of the page.
See which AI crawlers actually arrive
An optional log records visits from GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended and a dozen more, and shows which language each one asked for. Visitor IP addresses are hashed before they are stored and old rows are removed on a schedule you choose.
Control AI crawlers from robots.txt
Allow or block each AI crawler from one table, and list every language’s file at the end of robots.txt. The lines survive even when another SEO plugin rebuilds robots.txt.
Privacy
The plugin makes no external requests, sends no data anywhere, contains no tracking and loads no third party scripts. Everything it stores stays in your own database.
Screenshots

Every language's file listed on the settings screen, with the translation plugin that was detected.

A separate title and description per language.

Content selection and the automatic exclusions.

AI crawler rules for robots.txt.

Which AI crawlers have actually visited, and in which language.

The per post box in the editor sidebar.