Title: TextTwin: AI-Readable Pages, Markdown and llms.txt
Author: Usman S.
Published: <strong>October 28, 2026</strong>
Last modified: October 30, 2026

---

Search plugins

![](https://ps.w.org/texttwin/assets/banner-772x250.png?rev=3771804)

![](https://ps.w.org/texttwin/assets/icon-256x256.png?rev=3771804)

# TextTwin: AI-Readable Pages, Markdown and llms.txt

 By [Usman S.](https://profiles.wordpress.org/fixitusman/)

[Download](https://downloads.wordpress.org/plugin/texttwin.1.1.0.zip)

 * [Details](https://wordpress.org/plugins/texttwin/#description)
 * [Reviews](https://wordpress.org/plugins/texttwin/#reviews)
 *  [Installation](https://wordpress.org/plugins/texttwin/#installation)
 * [Development](https://wordpress.org/plugins/texttwin/#developers)

 [Support](https://wordpress.org/support/plugin/texttwin/)

## Description

When an AI tool like ChatGPT or Claude reads a WordPress page, it has to dig through
menus, pop-ups, scripts and page builder code to find your actual words. It often
misses steps or mixes in menu text.

TextTwin gives every page you choose a clean text copy, its “text twin”: just your
headings, text, lists, tables, links and videos. AI tools read the twin quickly 
and correctly. Your visitors see nothing different.

Your SEO plugin can already make an llms.txt list of your pages. TextTwin does the
part it doesn’t: it makes every page itself readable by AI.

#### How AI tools get the clean copy

 * **A note in each page**: every included page carries a short “LLM/AI Agent Notice”,
   alternate links and a Link header, all pointing AI tools to its clean copy.
 * **Fixed addresses**: each copy is also at /llms-guides/page-slug.txt and at the
   page’s own address with .md added, as the llms.txt standard suggests.
 * **A list of every page**: an llms.txt index, grouped into sections with a one-
   line summary for each item, plus llms-full.txt with everything in one file.

#### Works alongside your SEO plugin

If Yoast SEO, All in One SEO, Rank Math, SEOPress PRO or another plugin already 
makes your llms.txt, TextTwin leaves it alone. It keeps making the page copies and
puts its own list at /llms-guides.txt. There is nothing to switch off and nothing
to choose.

#### Built for help centers and knowledge bases

TextTwin recognizes popular help center plugins on its own, including Heroic Knowledge
Base and BetterDocs, as well as Echo Knowledge Base. It groups articles by category,
in the order your help center already uses, and links between articles point to 
their clean copies. It also works with posts, pages, products and any other public
content type.

#### Safe by design

 * **Nothing changes for visitors**: no scripts, styles, buttons or pop-ups are 
   added to your pages.
 * **Safe with page caches and CDNs**: every copy has its own address, so a cache
   can never mix it up with your real pages.
 * **Safe for Google**: the copies are marked noindex and point to the real page
   as the original, so they never compete with it.
 * **Private stays private**: drafts, private, password-protected and scheduled 
   content never appear, and copies are always built as a logged-out visitor. If
   a login wall or maintenance mode blocks your site, it blocks the copies too, 
   and pages locked by MemberPress, Paid Memberships Pro, Restrict Content Pro or
   WooCommerce Memberships are left out.
 * **Light on your site**: no files are written. Copies are built on request and
   kept in one small compressed cache, which never loads on normal page views.
 * **Clean removal**: deleting the plugin removes everything it stored, including
   its settings and cache.
 * **Nothing sent anywhere**: TextTwin never contacts an outside service.

#### Simple to set up

The settings page has just three options, and everything else is worked out for 
you. To leave out a single page, tick one box on its edit screen. Pages set to noindex
in Yoast SEO, Rank Math or SEOPress are left out on their own.

TextTwin reads content from both WordPress editors and from Elementor, including
synced patterns and shortcodes.

#### For developers

 * Change any built-in choice with the `texttwin_settings` filter, such as the section
   order, the folder name or the item limit.
 * Optional: set `answer_markdown` to 1 in that filter to answer requests that ask
   for Markdown (`Accept: text/markdown`) with the clean copy at the page’s normal
   address. It is off by default because some server and CDN caches ignore “do not
   store” headers. Only turn it on when your caching respects Cache-Control.
 * Leave out any post with the `texttwin_is_public` filter.
 * WP-CLI: `wp texttwin status`, `wp texttwin rebuild` and `wp texttwin print index
   |full|slug`.

## Screenshots

[⌊A modern page hides its guide inside 180,759 characters of code, and AI tools 
have to dig through all of it.⌉⌊A modern page hides its guide inside 180,759 characters
of code, and AI tools have to dig through all of it.⌉[

A modern page hides its guide inside 180,759 characters of code, and AI tools have
to dig through all of it.

[⌊Step 1: install and activate it like any other plugin.⌉⌊Step 1: install and activate
it like any other plugin.⌉[

Step 1: install and activate it like any other plugin.

[⌊Step 2: pick what to include, add one sentence about your site, then save.⌉⌊Step
2: pick what to include, add one sentence about your site, then save.⌉[

Step 2: pick what to include, add one sentence about your site, then save.

[⌊Step 3: your AI files are ready straight away, with nothing to upload.⌉⌊Step 3:
your AI files are ready straight away, with nothing to upload.⌉[

Step 3: your AI files are ready straight away, with nothing to upload.

[⌊Every page gets a text twin with the same words and none of the clutter.⌉⌊Every
page gets a text twin with the same words and none of the clutter.⌉[

Every page gets a text twin with the same words and none of the clutter.

[⌊A hidden note in each page's code tells AI tools where the clean copy lives.⌉⌊
A hidden note in each page's code tells AI tools where the clean copy lives.⌉[

A hidden note in each page’s code tells AI tools where the clean copy lives.

[⌊Already using Yoast SEO or Rank Math? TextTwin leaves their llms.txt alone and
adds the page copies.⌉⌊Already using Yoast SEO or Rank Math? TextTwin leaves their
llms.txt alone and adds the page copies.⌉[

Already using Yoast SEO or Rank Math? TextTwin leaves their llms.txt alone and adds
the page copies.

[⌊Keep any page out with one tick on its edit screen.⌉⌊Keep any page out with one
tick on its edit screen.⌉[

Keep any page out with one tick on its edit screen.

[⌊Safe by design: visitors see no change, and Google keeps ranking your real pages.⌉⌊
Safe by design: visitors see no change, and Google keeps ranking your real pages
.⌉[

Safe by design: visitors see no change, and Google keeps ranking your real pages.

## Installation

 1. Go to Plugins > Add New Plugin, search for TextTwin, then click Install Now and
    Activate.
 2. Go to Settings > TextTwin.
 3. Tick the content to include, write one sentence about your site, and click Save
    Changes.
 4. Open the links under Your Files to see the results.

## FAQ

### What does TextTwin actually make?

A clean text copy of every page you include, built from the page itself. For example,
yoursite.com/docs/getting-started/ gets a copy at yoursite.com/llms-guides/getting-
started.txt. Copies update on their own whenever you edit a page.

### How does an AI tool know the clean copy exists?

Every included page points to its copy in three places: a short note in the page’s
code, an alternate link and a Link header. AI tools can also find every copy through
the llms.txt list.

### Do I need to turn off the llms.txt feature in Yoast SEO or Rank Math?

No. TextTwin notices it and leaves your llms.txt to that plugin, while still making
the page copies.

### Will this change what my visitors see?

No. People always get your normal pages. TextTwin adds nothing visible to your site.

### Will the copies show up in Google search?

No. The copies are marked noindex and point to the real page as the original. Your
llms.txt list stays visible to search engines.

### Is my private content safe?

Yes. Copies are built only from published, public content, as a logged-out visitor
would see it. If a login wall, maintenance mode or membership plugin blocks a page,
its copy is blocked or left out too.

### Will it slow down my site or fill up my database?

No. Normal page views only read a small lookup list to add the note. The copies 
live in one compressed cache, about 33 KB for 64 help articles in our tests, and
only one rebuild ever runs at a time.

### Does llms.txt help with AI SEO or GEO?

It helps AI tools find and read your content when they visit your site. Google has
said its AI Overviews do not need llms.txt, so treat it as a way to make your content
easy for AI tools to use, not as a ranking factor.

### How many pages can it handle?

Up to 2,000 pages by default. If a site has more, the settings page says how many
were left out. Developers can raise the limit with the `texttwin_settings` filter.

### Does TextTwin send my content anywhere?

No. TextTwin only answers visitors to your own site. It never contacts an outside
service.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“TextTwin: AI-Readable Pages, Markdown and llms.txt” is open source software. The
following people have contributed to this plugin.

Contributors

 *   [ Usman S. ](https://profiles.wordpress.org/fixitusman/)

[Translate “TextTwin: AI-Readable Pages, Markdown and llms.txt” into your language.](https://translate.wordpress.org/projects/wp-plugins/texttwin)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/texttwin/), check out
the [SVN repository](https://plugins.svn.wordpress.org/texttwin/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/texttwin/) by [RSS](https://plugins.trac.wordpress.org/log/texttwin/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0

 * Works alongside Yoast SEO, All in One SEO, Rank Math, SEOPress PRO and other 
   llms.txt plugins: if one already makes your llms.txt, TextTwin leaves it alone
   and keeps its own list at /llms-guides.txt. No more alerts asking you to switch
   features off.
 * Sites behind a login wall, in maintenance mode or with membership plugins keep
   their content private: copies follow the same rules as the pages.
 * Every included page now has a Link header pointing to its clean copy.
 * Faster on big sites: page views read a small lookup list, and only one rebuild
   runs at a time while visitors get the previous copy.
 * Pages left out or set to noindex by code, bulk edits or imports drop out at once.
 * The settings page shows which plugin makes each file, and tells you if a large
   site goes over the page limit, which is now 2,000 pages.
 * For developers: optional Markdown answers at a page’s normal address (`answer_markdown`),
   off by default.

#### 1.0.0

 * First public release.

## Meta

 *  Version **1.1.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.2 or higher **
 * Tags
 * [ai agents](https://wordpress.org/plugins/tags/ai-agents/)[ai seo](https://wordpress.org/plugins/tags/ai-seo/)
   [geo](https://wordpress.org/plugins/tags/geo/)[llms.txt](https://wordpress.org/plugins/tags/llms-txt/)
   [markdown](https://wordpress.org/plugins/tags/markdown/)
 *  [Advanced View](https://wordpress.org/plugins/texttwin/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/texttwin/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/texttwin/reviews/)

## Contributors

 *   [ Usman S. ](https://profiles.wordpress.org/fixitusman/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/texttwin/)