Underminer

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
plugin download
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.txt rules 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