Як вимкнути AI-функції у WordPress (ядро проти плагінів, чесно)
Знайдіть, який плагін, хостинг чи mu-plugin додає ту AI-панель, безпечно вимкніть її та заблокуйте AI-краулери в robots.txt, не втративши пошуковий трафік.
Опубліковано
Майже кожна AI-функція, якої люди хочуть позбутися у WordPress, походить від плагіна, хостингу або WordPress.com — а не від ядра самостійно розміщеного сайту. Перш ніж вставляти сніпет із remove_action у functions.php, відкрийте список плагінів і знайдіть те, що насправді малює ту AI-панель: прибирати функцію, якої ядро не постачає, — марна праця на сайті, який і без того поводиться дивно.
Ця різниця важлива, бо виправлення геть різні. У функції плагіна є перемикач у налаштуваннях. Функція, додана хостингом, живе в панелі керування хостингу, а не в адмінці WordPress. А окреме питання, яке зазвичай мають на увазі, кажучи «вимкнути AI», — як не дати AI-компаніям тренуватися на ваших дописах — це взагалі не налаштування WordPress. Це питання robots і конфігурації сервера.
Що є ядром, а що ні
Ядро самостійно розміщеного WordPress не постачає ані асистента для написання текстів, ані AI-чат-бота, ані генератора зображень, які працювали б одразу після встановлення. Якщо ви бачите іконку-зірочку AI в блоковому редакторі, її щось туди поставило.
Звідки AI-функції беруться насправді:
| Джерело | Типова функція | Де вимикається |
|---|---|---|
| Jetpack | Блок AI Assistant і панель у редакторі | Налаштування Jetpack, перемикач модуля |
| Окремі AI-плагіни | Генератори тексту, чат-боти, автори alt-текстів | Власний екран налаштувань плагіна |
| SEO-плагіни | AI-підказки заголовків і описів | Налаштування плагіна, зазвичай для кожної функції окремо |
| Конструктори сторінок | Генерація текстів і зображень в інтерфейсі конструктора | Налаштування конструктора або панель облікового запису |
| Керовані хостинги | AI-асистенти, вбудовані через mu-plugin або панель | Панель керування хостингу |
| WordPress.com | Хмарні інструменти для написання текстів | Налаштування облікового запису 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 замість самостійно розміщеного сайту: там перемикачі живуть у налаштуваннях облікового запису, а не в адмінці. А якщо функція повертається після оновлення плагіна — це підпис сніпета з від’єднанням хука, який перестав збігатися, а зовсім не налаштування ядра, яке раптом себе проявило.
FAQ
Питання
Чи має ядро WordPress AI-функції, які треба вимикати?
Ядро самостійно розміщеного WordPress не постачає ані асистента для написання текстів, ані чат-бота, ані генератора зображень, які працювали б за замовчуванням. AI-панелі в редакторі майже завжди походять від встановленого плагіна, плагіна, доданого хостингом, або інтеграції з панеллю керування хостингу. Перевірте список плагінів, перш ніж писати код, що прибирає те, чого в ядрі може й не бути.
Як вимкнути Jetpack AI Assistant?
Вимкніть модуль AI Assistant на екрані налаштувань Jetpack, а не редагуванням коду. Jetpack побудований навколо модулів, які вмикаються незалежно один від одного, тож вимкнення саме цього прибере його панель у редакторі, а решта Jetpack продовжить працювати. Якщо жодна інша функція Jetpack вам не потрібна, простіше й легше вимкнути плагін цілком.
Чи може remove_action вимкнути AI-функцію плагіна?
Інколи так, але це крихке рішення. Воно спрацює, лише якщо ви знаєте точний хук, колбек і пріоритет, які зареєстрував плагін, а оновлення плагіна може перейменувати будь-що з цього й мовчки повернути функцію назад. Користуйтеся власним налаштуванням плагіна, коли воно є, а від'єднання хуків лишайте як крайній засіб, який доводиться перевіряти після кожного оновлення.
Чи справді блокування AI-краулерів у robots.txt працює?
Лише для тих краулерів, які добровільно його дотримуються. Великі оператори, зокрема OpenAI, Anthropic, Google та Apple, публікують токени user-agent, які, за їхніми словами, вони шанують, і блокувати їх варто. Правила robots — це не примус, тож недобросовісні гравці й запити, ініційовані користувачем, можуть їх ігнорувати. Рівень, який справді можна нав'язати, — це блокування на сервері.
Яка різниця між блокуванням AI-краулера і блокуванням AI-пошуку?
Деякі оператори використовують окремі токени для навчання моделей і для відповідей на живі запити. Блокування навчального токена не пускає ваш контент у тренування моделі, але лишає вас видимими в AI-відповідях, тоді як блокування пошукового токена чи токена user-agent може прибрати вас із AI-результатів, які інакше цитували б вас із посиланням. Визначтеся, який компроміс вам потрібен, перш ніж блокувати обидва.
Чи є llms.txt стандартом, який варто впроваджувати?
Ні, llms.txt — це пропозиція спільноти, а не затверджений стандарт, і жоден великий AI-оператор не зобов'язався сприймати його як механізм контролю доступу. Додати файл нешкідливо й дешево, але не вважайте його заміною директивам robots.txt чи блокуванню на рівні сервера. Робота над стандартами в цій сфері ще триває.