Как отключить AI-функции в WordPress (ядро против плагинов, без иллюзий)
Находим плагин, хостинг или mu-plugin, который добавляет AI-панель, безопасно его выключаем и блокируем AI-краулеров в robots.txt, не теряя поисковый трафик.
Опубликовано
Почти всё, что люди хотят выключить в WordPress под словом «AI», приходит из плагина, от хостера или с WordPress.com — а не из ядра self-hosted-установки. Прежде чем вставлять сниппет с remove_action в functions.php, откройте список плагинов и найдите то, что на самом деле рисует эту AI-панель: удалять функцию, которой в ядре нет, — это трата времени на сайте, который и так ведёт себя не так, как надо.
Различие важно, потому что и лечение будет разным. У функции плагина есть переключатель в настройках. Функция от хостера живёт в панели управления хостингом, а не в админке WordPress. А отдельный вопрос, который люди обычно и имеют в виду под «отключить AI», — как запретить AI-компаниям обучаться на ваших статьях — вообще не настройка WordPress. Это задача про robots и конфигурацию сервера.
Что в ядре, а чего там нет
Ядро self-hosted WordPress не поставляет ни AI-помощника для текстов, ни AI-чат-бота, ни генератор изображений, которые работали бы из коробки. Если в блочном редакторе появилась иконка со «звёздочкой» AI — её кто-то туда поставил.
Откуда AI-функции берутся на самом деле:
| Источник | Типичная функция | Где выключается |
|---|---|---|
| Jetpack | Блок AI Assistant и панель в редакторе | Настройки Jetpack, переключатель модуля |
| Отдельные AI-плагины | Генераторы текста, чат-боты, автор alt-текстов | Экран настроек самого плагина |
| SEO-плагины | AI-подсказки заголовков и описаний | Настройки плагина, обычно для каждой функции отдельно |
| Конструкторы страниц | Генерация текста и картинок в интерфейсе конструктора | Настройки конструктора или панель аккаунта |
| Управляемый хостинг | AI-ассистенты, внедрённые через mu-plugin или дашборд | Панель управления хостингом |
| WordPress.com | Облачные AI-инструменты для текстов | Настройки аккаунта WordPress.com, а не вашего сайта |
В проекте WordPress действительно ведётся разработка вокруг AI — экспериментальные feature-плагины, которые когда-нибудь могут попасть в ядро. Если у вас свежий релиз и вы видите что-то с привкусом AI, что не получается связать с плагином, сначала проверьте список установленных плагинов, а потом список изменений вашей версии — вместо того чтобы предполагать какое-то умолчание ядра, которое надо отфильтровать. Эта осторожность намеренная: утверждения, привязанные к конкретным версиям, здесь устаревают очень быстро, и одно неверное отправит вас править файлы совершенно зря.
Найдите, что именно это добавляет
Отключайте плагины пачками, пока AI-панель не исчезнет. Грубо, но даёт точный ответ вместо догадки.
Если у вас есть WP-CLI, сначала выведите список активных:
wp plugin list --status=active --field=name
Затем проверьте код, внедрённый хостером, — в обычном списке плагинов он не показывается:
ls -la wp-content/mu-plugins/
Must-use-плагины подключаются автоматически, и деактивировать их из админки нельзя. Если хостер положил туда AI-ассистента, единственный чистый способ убрать его — через панель управления хостингом: удалённый файл часто возвращается на месте при следующем обновлении платформы.
Как выключить правильно
Используйте штатную настройку плагина. Скучный ответ, и он же правильный. Jetpack, в частности, построен на независимо переключаемых модулях, так что вы можете выключить AI Assistant, сохранив статистику, бэкапы или что вы там используете. Большинство отдельных AI-плагинов дают чекбокс включения/выключения для каждой функции.
Если плагин больше ни для чего не нужен, деактивируйте его целиком. AI-плагин, оставленный установленным, но «выключенным», всё равно грузит свой код на каждом запросе. Деактивация быстрее, безопаснее и заметно легче любого фильтра.
Отцепление хука через remove_action — крайняя мера. Это действительно работает, но только когда вы точно знаете имя хука, коллбэк и приоритет, с которыми плагин зарегистрировался, и только до тех пор, пока плагин что-нибудь из этого не переименует:
// Only if you have verified the exact hook, callback and priority.
// Runs late so the plugin has already registered its own hooks.
add_action( 'init', function () {
remove_action( 'enqueue_block_editor_assets', array( 'Some_Plugin_Class', 'enqueue_ai_panel' ), 10 );
}, 99 );
Честная цена: такое ломается молча. Обновление плагина меняет имя класса, ваше удаление перестаёт совпадать, AI-панель возвращается, и никакой ошибки об этом не сообщит. Если пользуетесь этим приёмом — запишите, что именно вы убрали, и перепроверяйте после каждого обновления этого плагина.
Та же осторожность относится к снятию регистрации панелей редактора из JavaScript. Возможность настоящая, но вы лезете в чужую регистрацию по строковому идентификатору, а этот идентификатор не является публичным контрактом.
Не пытайтесь отключать AI-функции константами в wp-config.php, найденными в посте на форуме. Ни одна константа ядра не выключает AI стороннего плагина. Если сниппет утверждает обратное, а найти эту константу в документации самого плагина вы не можете, — он не делает ничего.
Другой вопрос: как запретить обучение AI на вашем контенте
Это отдельная тема, и именно здесь сидит вся настоящая тревога. Отключение панели в редакторе ничего не меняет в том, кто сканирует ваши статьи. Управление этим происходит в robots.txt, а если нужно принуждение — на уровне сервера.
WordPress отдаёт виртуальный robots.txt, пока в корне сайта нет реального файла. Если физический файл есть, WordPress полностью отходит в сторону, и краулеры получают именно этот файл. Чтобы поправить виртуальный, используйте фильтр:
add_filter( 'robots_txt', function ( $output ) {
$output .= "\nUser-agent: GPTBot\nDisallow: /\n";
return $output;
}, 10 );
Собирать правила руками — как раз то место, где ошибаются: один неправильный токен не блокирует ничего, а случайный Disallow: / не для того агента может выкинуть вас из обычного поиска. Генератор robots.txt собирает блоки для AI-краулеров вместе с обычными поисковыми директивами, чтобы вы увидели весь файл целиком до публикации.
Токены, которые крупные компании публикуют и обещают соблюдать:
| Токен | Компания | Что охватывает |
|---|---|---|
| GPTBot | OpenAI | Сканирование для обучения моделей |
| ChatGPT-User | OpenAI | Запросы, инициированные пользователем |
| ClaudeBot | Anthropic | Сканирование |
| Google-Extended | Использование вашего контента для обучения Gemini, а не само сканирование | |
| Applebot-Extended | Apple | Использование для обучения генеративных моделей Apple |
| PerplexityBot | Perplexity | Сканирование |
| CCBot | Common Crawl | Массовый архив, на котором обучаются многие модели |
Две честные оговорки. Первая: robots.txt соблюдается добровольно. Приличные компании его выполняют, а тот, кто хочет проигнорировать, — проигнорирует. Вторая: блокировка не бесплатна. Часть этих токенов определяет, попадёте ли вы в AI-ответы, которые цитируют вас и ставят ссылку. Заблокируете всё — потеряете вместе с обучением и этот источник переходов. Решите, что вам действительно важно.
Если нужна не вежливая просьба, а принуждение — блокируйте на сервере. В .htaccess на Apache:
<IfModule mod_setenvif.c>
SetEnvIfNoCase User-Agent "GPTBot|CCBot|ClaudeBot|PerplexityBot" ai_bot
<RequireAll>
Require all granted
Require not env ai_bot
</RequireAll>
</IfModule>
Строку user-agent подделать элементарно, так что это останавливает честный, но нежелательный трафик, а не упорного скрапера. Блокировка по проверенным диапазонам IP на CDN или файрволе надёжнее, и у большинства CDN уже есть правило против AI-ботов «в один клик», которое поддерживать проще, чем список, написанный вручную.
Что не работает
llms.txt — это предложение, а не стандарт. Это предлагаемый markdown-файл, описывающий ваш сайт для языковых моделей. Ни одна крупная компания не обязалась воспринимать его как контроль доступа. Добавить его ничего не стоит и, возможно, поможет тому, как модели вас читают, но блокирует он ровно ничего.
Мета-теги noai и noimageai не соблюдает почти никто. Они появились из политики одной платформы, а не из отраслевого соглашения. Добавить их не вредно; вредно ожидать, что они сработают.
Плагин, обещающий «заблокировать AI», обычно просто пишет правила robots. Это нормально, и это ровно то, что вы можете сделать сами в десять строк. Ни юридического, ни технического барьера тут нет, и ни один плагин его не создаст.
Блокировка AI-краулеров не удаляет контент, уже попавший в обученную модель. Ничто из добавленного сегодня задним числом не вытащит ваши статьи из модели, выпущенной в прошлом году. Правила robots работают только вперёд.
Панель AI всё ещё на месте
Если все плагины выключены, а панель осталась, проверьте ещё раз wp-content/mu-plugins/, затем панель управления хостингом, а потом — не сидите ли вы на WordPress.com вместо self-hosted: там переключатели живут в настройках аккаунта, а не в админке сайта. А если функция вернулась после обновления плагина — это почерк сниппета с отцеплением хука, который перестал совпадать, а вовсе не умолчания ядра.
FAQ
Вопросы
Есть ли в ядре WordPress AI-функции, которые нужно отключать?
В ядре self-hosted WordPress нет встроенного AI-помощника для текстов, чат-бота или генератора картинок, которые работали бы по умолчанию. AI-панели в редакторе почти всегда приходят из установленного плагина, плагина от хостера или интеграции в панели управления хостингом. Сначала откройте список плагинов, а уже потом пишите код ради удаления того, чего в ядре может и не быть.
Как выключить Jetpack AI Assistant?
Отключите модуль AI Assistant в настройках Jetpack, а не правьте код. Jetpack построен на независимо переключаемых модулях, поэтому отключение одного убирает его панель в редакторе и не трогает остальное. Если другими возможностями Jetpack вы не пользуетесь, проще и легче деактивировать плагин целиком.
Можно ли отключить AI-функцию плагина через remove_action?
Иногда да, но решение хрупкое. Оно работает, только если вы точно знаете хук, коллбэк и приоритет, с которыми плагин зарегистрировал функцию, а обновление плагина может переименовать любое из этого и молча вернуть функцию обратно. Пользуйтесь штатной настройкой плагина, если она есть, а отцепление хука держите как крайнюю меру и перепроверяйте после каждого обновления.
Блокировка AI-краулеров в robots.txt реально работает?
Только для тех краулеров, которые добровольно её соблюдают. Крупные компании, включая OpenAI, Anthropic, Google и Apple, публикуют токены user-agent, которые обещают уважать, и блокировать их имеет смысл. Правила robots — это не принуждение, поэтому недобросовестные боты и запросы, инициированные пользователем, могут их игнорировать. Принудительный уровень — блокировка на стороне сервера.
Чем блокировка AI-краулера отличается от блокировки AI-поиска?
У некоторых компаний разные токены для обучения моделей и для ответов на живые вопросы. Блокировка обучающего токена не пускает ваш контент в обучение, но вы остаётесь видимыми в AI-ответах, а блокировка поискового токена может убрать вас из AI-выдачи, которая иначе цитировала бы вас и ставила ссылку. Решите, какой компромисс вам нужен, прежде чем блокировать оба.
llms.txt — это стандарт, который стоит внедрять?
Нет, llms.txt — это предложение сообщества, а не утверждённый стандарт, и ни одна крупная AI-компания не обязалась воспринимать его как механизм контроля доступа. Добавить файл безвредно и дёшево, но не считайте его заменой директивам robots.txt или блокировке на уровне сервера. Работа над стандартами в этой области ещё идёт.