=== AI Blackout - Block AI Crawlers & Stop AI Training === Contributors: lazycodelab, adictonat0r Donate link: https://paypal.me/lazycodelab Tags: ai, ai crawlers, robots.txt, content protection, copyright Requires at least: 6.8 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 1.0.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Block AI crawlers from taking your content, reserve your rights against AI training, and switch off the AI built into WordPress. == Description == You wrote the thing. You researched it, rewrote the opening four times, published it at some ridiculous hour. Then a crawler you have never heard of fed it into a training set, and now a chatbot answers people's questions using your words, and nobody ever lands on your site. **I get it. That is exactly why this plugin exists.** AI Blackout says no on both fronts: it keeps AI out of *your content*, and it keeps AI out of *your WordPress*. = Keep AI out of your content = Block the crawlers that collect content for AI training, and publish a formal reservation of your rights, so that using your work is not something anyone can claim they did by accident. = Keep AI out of your WordPress = WordPress 7.0 shipped with AI built into core, and your plugins keep adding more of it. Switch it off, close the interface that lets AI agents act on your site, and find out which of your plugins have quietly been sending your content to AI companies. = One question. That is the whole setup. = No wizard with nine steps. You answer one question and everything is configured. Every single part of it stays visible and changeable afterwards. * **Stop AI training on my work** — refuses every crawler that collects training data, builds datasets, or scrapes sites wholesale. Leaves search completely alone. *This is the one most people want.* * **Keep AI away from my site entirely** — refuses every AI crawler the plugin knows about, including the ones that fetch a page because a person asked a question. Ordinary search engines are still allowed. * **Do not block anything, just state my terms** — turns nobody away. Publishes your reservation of rights and asks, in robots.txt, that your work is not used for AI training. = Your search traffic is never touched. Ever. = Getting your site dropped from Google is the worst thing a plugin like this could possibly do to you. So it is prevented *structurally*, not by being careful. Googlebot and its seven siblings, Bingbot, Yahoo, DuckDuckGo, Baidu, Yandex, Applebot and the Facebook, X/Twitter and LinkedIn preview bots sit on a protected list, 18 identifiers in total. Every rule the plugin generates is tested against that list before a single byte is written, and a rule that would collide with one is dropped. The plugin will not even load a crawler list that is missing its protected section. A handful of AI crawlers *do* decide whether you show up in AI assistants' answers. Those are labelled as such, and blocking one takes a separate, explicit confirmation. = What it actually does = **Blocks crawlers, three ways.** A request in robots.txt. A refusal from WordPress itself. And on Apache or LiteSpeed, a refusal from your web server, before WordPress or your caching plugin is ever involved. The plugin tells you which of these are genuinely working on *your* server, instead of assuming all three are. **Publishes your rights.** A reservation under Article 4(3) of the EU copyright directive, served at the standard address AI companies check. Content Signals in robots.txt, which separate "you may index this" from "you may train on this". Meta tags for the crawlers that read those instead. And a matching clause for your terms page, written for you. It also keeps a **dated record** of every wording you have ever published. That record is the part that actually matters if you ever need to point at it. **Switches off AI inside WordPress.** Turns off WordPress core's own AI, closes the Abilities interface, hides the screen where AI provider keys get entered, and strips the AI features out of Elementor and Yoast SEO using the off-switches those plugins provide themselves. **Watches what your site sends out.** Every request your site makes to an AI company gets logged: which plugin made it, where it was going, how many times. It *watches* by default and blocks only when you say so, because a plugin you pay for should not silently start failing the moment you activate this one. = 26 crawlers, 9 companies, no phoning home = The crawler list ships **inside** the plugin and updates when the plugin updates. This plugin makes **no external requests of any kind.** Nothing is sent anywhere, nothing is fetched. No account, no licence key, no analytics, no remote ruleset, no "anonymous usage data". The only request it ever makes is to *your own site*, when you press **Test my protection**, so it can report what a crawler actually receives rather than what your settings claim. = Honestly, here is what it cannot do = This section matters more to me than the feature list, so please read it. * **It cannot stop a crawler that disguises itself as an ordinary browser.** Nothing running on your own server can. Blocking works because honest crawlers say who they are. * **robots.txt is a request, not a barrier.** A crawler that ignores it is unaffected. This plugin never counts robots.txt as protection, and never shows it to you as though it were. * **On nginx it cannot write server rules.** That is nginx's architecture, not a limitation I chose: its configuration lives outside your site's folder, needs root access and needs a reload. *No* WordPress plugin can do it. So the plugin writes the rule out for you, along with the message to send your host. Any plugin claiming to block crawlers at the server level on nginx is not telling you the truth. * **A declaration is a legal position, not a lock.** It does not physically stop anyone. What it does is remove their excuse. = Your files are yours = Nothing is ever written to a file unless you ask for it. You are shown the **exact** change first: the block itself, and the whole file as it will look afterwards. Then you confirm it. Removing it puts the file back **byte for byte**, and the plugin tells you plainly whether it managed that or whether something else edited the file in the meantime. If your site had no `.htaccess` before and the plugin created one, removing the rules deletes that file too, rather than leaving an empty one behind. **Deactivating the plugin removes the rules it wrote.** A blocking rule sitting in `.htaccess` with no plugin managing it is not protection, it is a booby trap. It would also make "let me deactivate this and see if it was the cause" give you the wrong answer. So deactivation puts your files back. Your settings, your crawler choices and your dated declaration record all stay exactly where they were, and when you switch the plugin back on it offers to re-apply everything with one click. Or you skip it and do it yourself. Your call. = Free, for people = AI Blackout is free for individuals and stays that way. If it saved you some grief and you feel like buying me a coffee, the donate link is up there. ☕ Entirely optional, and nothing in the plugin will ever nag you about it. = Not affiliated with anyone named here = AI Blackout is an independent plugin by LazyCodeLab. It is not affiliated with, endorsed by, sponsored by or connected to any of the companies, products or services it names. Names such as OpenAI, Anthropic, Google, Elementor and Yoast SEO appear only to identify whose crawler is being blocked or whose AI feature is being switched off, and remain the property of their respective owners. == Installation == 1. Install and activate the plugin. 2. Answer the one question on the setup screen. 3. That is genuinely it. You are protected. Open **AI Blackout → Status** whenever you want to see exactly what is working, tested against your live site rather than assumed. == Frequently Asked Questions == = Will this hurt my Google ranking? = No. Search engines sit on a protected list of 18 identifiers, and every rule is tested against that list before it is written. A rule that would catch one of them is dropped rather than written. If you choose to block an AI crawler that affects whether you appear in AI assistants' answers, the plugin says so plainly and asks you to confirm that one separately. = Does it slow my site down? = No. There is nothing loaded on the front end: no scripts, no stylesheets, no per-page database queries. Blocked crawlers are turned away by a user-agent check and nothing else. = I am on nginx. Is it still worth installing? = Yes. robots.txt and the WordPress-level refusal both work on nginx with zero setup. The only thing you cannot have without your host's help is the server-level rule. The plugin writes that rule out for you, plus the message to send them. = Does it work with a caching plugin? = The robots.txt and server-level layers do, because they run before your cache. The WordPress-level refusal does not, because a page served from cache never reaches WordPress at all. The Status screen detects your cache and tells you exactly which layers that affects, rather than leaving you to work it out. = Will it break Elementor or Yoast? = No. Their AI features are switched off using the off-switches those plugins ship themselves, and nothing is written into their settings. Turn it off here and everything is precisely as it was. = Can I still let AI assistants link to my site? = Yes, and that is the default. Crawlers that collect training data get refused; the ones that fetch a page because a real person asked a question are allowed through. Every crawler is listed separately with what it actually does, so you can go through them one at a time if you want to. = Does it delete AI API keys I have already saved? = No. Existing keys are left completely alone. They simply cannot be used while AI is switched off. Keys set in `wp-config.php` or your server environment cannot be touched by any plugin at all; this one names them so you at least know they are there. = What happens to my files if I deactivate or delete the plugin? = They go back to how they were. Deactivating removes the rules from `.htaccess` and `robots.txt`, byte for byte, and reactivating offers to put them back in one click. Your settings and your dated declaration record are kept in the meantime, untouched. Deleting the plugin removes the lot by default: any rules still in your files, the settings, the activity log table, the scheduled cleanup job. **No leftovers, no orphaned database rows, no mystery lines in your `.htaccess` six months later.** If you would rather not start from scratch should you ever reinstall, there is a checkbox at the bottom of the **Declarations** screen that keeps your settings and your dated declaration record through a delete. Worth ticking if you have been publishing a reservation of rights for a while. That record is dated evidence and it cannot be recreated after the fact. It keeps *information*, though, not protection: once the plugin is deleted nothing is blocking anyone either way. = Why is it called AI Blackout? = Because that is literally what it does. The site goes dark to AI: it cannot get *in* through your crawlers, and it cannot run *inside* your WordPress. Both halves are the same idea. == Screenshots == 1. Protection status — what is actually working on your server, tested rather than assumed. 2. Setup — one question configures everything. 3. Crawler Control — every AI crawler, what it does, and your decision. 4. Declarations — your reservation of rights, and the signals published in your robots.txt. 5. AI inside WordPress — switch off the AI built into core, and the AI your other plugins added. == Changelog == = 1.0.0 = * Initial release. == Upgrade Notice == = 1.0.0 = First release, so nothing to upgrade from yet. If you are installing it fresh: please read the "here is what it cannot do" section before you trust it with anything. That part is the honest bit.