DEV Community

Daniil Lutsiuk
Daniil Lutsiuk

Posted on

How to add llms.txt to WordPress in 2026: spec v2, the Lighthouse audit and five plugins compared

Jeremy Howard published version 2 of the llms.txt proposal on August 10, 2026, two years after the original. One line is required. WordPress.org now serves such a file at its own root, Chrome's Lighthouse checks for it since version 13.3, and three of the four biggest WordPress SEO plugins generate it in their free builds.

For a site owner the decision has three parts. Whether to publish the file at all. Whether to write it by hand or let a plugin build it, and, if a plugin, which one, since the default outputs of the five compared below differ in length by a factor of 200.

The v2 spec keeps one required line and adds two link relations

The format did not change. According to the proposal at llmstxt.org, a valid file contains "An H1 with the name of the project or site. This is the only required section," followed by a blockquote summary, then free paragraphs, then H2 sections holding markdown link lists in the form - [name](url): notes. A file with the single line # Example Shop is valid.

What v2 adds is discoverability. "v1 permitted llms.txt files in subpaths without saying what that meant," the changes page states. "v2 defines it: a file covers the pages under its path, and the most specific file applies." A page can now announce its file with <link rel="describedby" href="/llms.txt"> in the head, or with an HTTP Link: header set at the CDN, and the markdown twin of a page may live at either page.html.md or page.md, where v1 allowed only the longer form.

The ## Optional section survived with less meaning. Tools no longer treat it as a mechanical signal; the convention stays for links an agent can skip. Howard also writes that "thousands of sites now publish an llms.txt file," and the AI labs are among them. On September 24, 2026, developers.openai.com/llms.txt and docs.claude.com/llms.txt both answered 200, and so did wordpress.org/llms.txt, a 75-line file that opens by stating WordPress "powers more than 43% of all websites on the internet."

Lighthouse 13.3 audits the file but gives no score for it

Chrome's Lighthouse gained an Agentic Browsing category in version 13.3, which DebugBear covered on May 10, 2026. Four audits sit in it, and one is named "llms.txt does not follow recommendations." That audit fails a file with no H1 header, a file that is too short, or a file without links. Everything else passes.

A site without the file is not penalised. When the server answers 404, the Chrome documentation (last updated May 5, 2026) says "the audit is marked as Not Applicable (N/A)," and the whole category carries no 0 to 100 score, "because the standards for the agentic web are still emerging." Lighthouse gathers data here. Ranking is not part of it.

The audit also has a bug open against it. Issue 17082 in the Lighthouse repository, opened June 18, 2026, describes a spec-compliant file that returns 200 and still produces "Fetch of llms.txt failed" in PageSpeed Insights, which was running an older Chrome build than the documentation calls for. A green result there is not yet a reliable signal either way.

Google Search says the file goes unread, and server logs agree

John Mueller, Search Advocate at Google, wrote on Bluesky on June 17, 2025: "FWIW no AI system currently uses llms.txt." His evidence is in every access log: "It's super-obvious if you look at your server logs. The consumer LLMs / chatbots (the ones that SEOs want traffic from) will fetch your pages - for training and grounding, but none of them fetch the llms.txt file."

Fifteen months later the two halves of Google disagree. Search Engine Journal put it in a headline, "Google's llms.txt guidance depends on which product you ask": Search says the file is unused, while Chrome ships an audit for it.

On narrower ground, the llmstxt.org text sides with Chrome, because the file is used "most heavily for software documentation, where coding agents follow them to find API references and tutorials." A WooCommerce store is not documentation. No vendor has published a statement that its shopping or search crawler reads the file.

Publishing one costs a few kilobytes and, with a plugin, no time. Trusting it costs more, because the crawlers measurably do fetch the HTML pages, and access to those pages is decided by robots.txt, a file that llms.txt never replaces.

What five WordPress plugins write into the file

A search for "llms.txt" in the WordPress.org plugin directory returned 521 plugins on September 24, 2026. Website LLMs.txt, the largest single-purpose one, lists 40,000 active installs. The findings below come from reading the free builds of the four major SEO suites and of Prime SEO, the plugin developed by the author, on the same date.

Yoast SEO 28.5 ships the feature off by default (enable_llms_txt in the wpseo option) and writes a physical file to the site root once a week through WP-Cron, with a first run five minutes after the toggle. Each post type gets five links. Cornerstone content comes first, then the most recently modified, and posts older than twelve months are dropped. Every string goes through html_entity_decode and a backslash escape of markdown characters, and the plugin refuses to overwrite a file whose MD5 hash it did not record itself, so a hand-written file stays.

Rank Math 1.0.279 keeps llms.txt as a module outside the default set, so it also starts off. Once enabled, it serves the file on every request through a rewrite rule, with nothing on disk, a default of 50 links per post type and the header X-Robots-Tag: noindex, nofollow. Line one is a credit sentence, removable with the filter rank_math/llms_txt/remove_credit, and the title is the Knowledge Graph name rather than the blog name.

All in One SEO 5.0.2 also starts off and also writes a physical file, but through Action Scheduler, daily, plus a single run ten seconds after any post or term is saved. Its default is 1,000 links per post type, pillar content first. Version 5.0.2 is the release that switched the title from HTML escaping to entity decoding, with a docblock reading "this is a plain-text file."

SEOPress 10.2 is the odd one. Its directory readme lists "llms.txt & Agent Readiness" among the free features, while the free build on WordPress.org holds a toggle default and a documentation link, and no code that writes or serves the file. The generator sits in the paid version, which the author has not examined.

Prime SEO 1.2.1, whose llms.txt generator for WordPress is documented on the plugin site, serves the file on activation without a toggle, dynamically, the way Rank Math does. Its list holds 20 pages, 20 posts, 20 WooCommerce products and 10 categories, newest first; noindex posts and the front page are left out. Each link is described by the SEO description or the excerpt, cut to 20 words.

If a physical llms.txt exists at the root, the plugin steps aside and the server delivers that file. An optional llms-full.txt, off by default, appends the body text of up to 50 posts at 2,000 words each; no other free build here produces a full-text file, although the AIOSEO code carries the filename and a flag that the free build ignores.

One defect belongs in this list too. In 1.2.1 the site name comes straight from get_bloginfo('name'), which WordPress stores already HTML-escaped, so a site called "Smith & Sons" appears as # Smith &amp; Sons. The fix, wp_specialchars_decode, is committed for 1.2.2, and it is the same bug AIOSEO closed a day earlier. Nothing in any of the five builds emits the v2 rel="describedby" link or the Link: header, and none publishes .md twins of pages, so the discoverability half of version 2 has no implementation among them.

Two minutes by hand, or no minutes with a plugin

The manual route needs a text file at the web root, uploaded over SFTP or through the host's file manager: the site name after #, one blockquote sentence, a short H2 list of the pages an agent should read first. Yoast, Prime SEO and the Lighthouse audit all accept that file as it is. The trade is upkeep. A hand-written list is frozen on the day it is written, while the generated ones follow new posts weekly, daily, or on the next request.

A plugin is the better choice when the site publishes often and nobody will remember the file. The hand-written file wins when the site has a dozen pages that matter and a thousand that do not, because every generator above selects by date, cornerstone flag or sitemap priority, and none of them knows which page a support agent should read before quoting a return policy.

If an agent ever asks for the file while the catalogue changes every week, the generated version is the one that answers correctly; if the file has to say which twelve pages define the business, a person has to write it, and every plugin here steps aside for that file. Prime SEO is free on WordPress.org.

Top comments (0)