A WordPress plugin for people who don't want their content used to train AI models.
| Author: | Tellyworth (profile at wordpress.org) |
| WordPress version required: | 6.4 |
| WordPress version tested: | 6.8.3 |
| Plugin version: | 1.0.3 |
| Added to WordPress repository: | 27-10-2025 |
| Last updated: | 18-11-2025 |
| Rating, %: | 0 |
| Rated by: | 0 |
| Plugin URI: | https://github.com/tellyworth/underminer |
| Total downloads: | 244 |
![]() Click to start download |
|
Underminer aims to discourage AI model crawler bots and other unwanted bots, while allowing search engine crawlers and RSS aggregators to work normally.
It works in two ways:
- Using
robots.txtrules to prohibit well-behaved AI training bots from crawling your site. - By selectively corrupting the meaning of text content, to sabotage badly-behaved bots that ignore those rules.
Well-behaved search engine bots are permitted to crawl the site as normal, without being restricted by robots.txt or being subjected to sabotage.
Well-behaved LLM training bots that obey robots.txt will not receive any corrupted content.
Features
- 100% free and open source. No upsells or nags or subscriptions or promotions or freemium versions or donations. Ever.
- Auto-detects crawler bots.
- Completely invisible to real users and well-behaved bots.
- Verifies IP ranges of well-known bots to detect fake Googlebot crawlers etc.
- (Almost) zero-configuration.
- Language-neutral; works with page and post content in most languages.
- Preview mode: you can see what a bad bot will see.
Instead of blocking bad bots, they will simply be served corrupt and useless content:
- Words and sentences are randomly rearranged.
- Lists and paragraphs are re-ordered.
- Numbers are randomized.
- Currency symbols and measurement units are randomly changed.
- Alt text and descriptions are randomly switched around.
- Links are switched around.
- Image URLs are intentionally broken.
Well-behaved bots
For the purposes of this plugin, a well-behaved bot is one that:
- Obeys
robots.txt. - Publishes an up-to-date list of IP ranges.
- Identifies search crawling separately from AI model training crawling.
Requirements
- PHP 8.0 or higher
- WordPress 6.4 or higher
FAQ
ChangeLog
