Перейти до вмісту
SEO та краулери

robots.txt для WordPress у 2026 році (що туди справді треба класти)

Вашому robots.txt для WordPress вистачить п'яти рядків. Закрийте /wp-admin/, дозвольте admin-ajax.php, додайте мапу сайту й обійдіть стороною блоклисти, які ламають рендеринг.

Опубліковано

Хороший robots.txt для WordPress має приблизно п’ять рядків. Закрийте /wp-admin/, дозвольте admin-ajax.php, вкажіть краулерам мапу сайту — і на цьому все: розлогі 40-рядкові блоклисти з форумів здебільшого або ламають рендеринг, або не роблять нічого. Ось увесь файл:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/wp-sitemap.xml

Замініть домен, а якщо ви користуєтеся SEO-плагіном, який перебирає мапи сайту на себе, вкажіть у рядку Sitemap індекс цього плагіна. І це все. Якщо ваш файл довший, зайві рядки, найімовірніше, вам чогось коштують.

WordPress уже генерує його — доки ви не створите справжній файл

WordPress постачає віртуальний robots.txt. Коли надходить запит на /robots.txt, а реального файлу в корені сайту немає, WordPress перехоплює запит і друкує відповідь у пам’яті. На диск нічого не записується. Стандартний вивід — це блок для wp-admin вище плюс рядок Sitemap: для wp-sitemap.xml, який ядро віддає ще з WordPress 5.5.

Дві речі змінюють цей вивід. Якщо позначено Налаштування → Читання → Попросити пошукові системи не індексувати цей сайт, WordPress замінює весь вміст на Disallow: /, що блокує геть усе. Саме цей прапорець — найпоширеніша причина зникнення сайту з пошуку після запуску. По-друге, плагіни й теми можуть змінювати віртуальний вивід через фільтр robots_txt — так SEO-плагіни підставляють власні рядки з мапами сайту й свої правила.

А тепер частина, яка з’їдає людям половину дня. Фізичний файл robots.txt у корені сайту мовчки перекриває все це. Вебсервер знаходить реальний файл на диску, віддає його, і WordPress навіть не завантажується. Віртуальний генератор не запускається. Фільтр robots_txt не спрацьовує. Редактор robots.txt у вашому SEO-плагіні може й далі показувати гарний інтерфейс із правильними правилами, і жодне з них не доходить до краулера.

Де живуть правилаРедагується в адмінці WordPressПеремагає на живому запиті
Віртуальний (файлу на диску немає)Так, через фільтр robots_txt або плагінЛише коли фізичного файлу немає
Фізичний файл у корені сайтуЛише якщо плагін пише на дискЗавжди

Тож перш ніж щось налагоджувати: відкрийте https://yoursite.com/robots.txt у браузері, а потім підключіться через SFTP або файловий менеджер хостингу й перевірте, чи не лежить справжній robots.txt поруч із wp-config.php та .htaccess. Якщо лежить — саме він і є вашим robots.txt. Редагуйте його там або видаліть і дозвольте WordPress перебрати роль на себе, але оберіть щось одне. Одночасна робота обох — це шлях до застарілої адреси мапи сайту, якої ніхто не може знайти.

Чому /wp-admin/ заблоковано, а admin-ajax.php дозволено

У /wp-admin/ лежить панель керування. Ці адреси в пошуковій видачі не потрібні нікому, а їх сканування витрачає краул-бюджет на сторінки, що перенаправляють на форму входу. Блокування каталогу сумнівів не викликає.

admin-ajax.php лежить усередині того ж каталогу, але адмінсторінкою не є. Це кінцева точка, якою плагіни й теми обробляють AJAX-запити з фронтенду — кнопки «показати ще», відфільтровані сітки товарів, калькулятори, форми. Якщо краулер не може її завантажити, він не бачить контенту, який ці функції підвантажують, і Google рендерить вашу сторінку такою, якою її побачив би відвідувач зі зламаною функцією.

Чи справді Google потрібно завантажувати admin-ajax.php саме на вашому сайті — залежить від того, чи використовує його ваш фронтенд. Чесна відповідь: на багатьох сучасних сайтах це не має жодного значення, бо тема працює через REST API за адресою /wp-json/. Рядок Allow — це дешева страховка від реального сценарію поломки, а не фактор ранжування. Лишіть його, бо він нічого не коштує.

Не блокуйте /wp-content/ і /wp-includes/

Це найгірша порада щодо robots.txt із тих, що досі ходять інтернетом, і походить вона з часів, коли Google ще не рендерив сторінки.

У /wp-content/ лежать ваші теми, плагіни, завантаження — стилі, скрипти та зображення, які роблять ваші сторінки сторінками. У /wp-includes/ лежить JavaScript ядра, від якого залежать плагіни. Google рендерить ваші сторінки в безголовому браузері, перш ніж їх оцінити. Заблокуйте ці каталоги — і рендерер отримає сторінку без CSS і без зображень. Google оцінюватиме нестилізовану стіну тексту зі зламаним макетом, а це впливає і на розуміння вашого контенту, і на оцінку зручності для мобільних.

Якщо вам дістався файл із такими рядками, видаліть їх:

Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/

Переконатися у шкоді можна самостійно в інструменті перевірки URL у Google Search Console. Запустіть живий тест будь-якої сторінки, подивіться на знімок відрендереного вигляду й перегляньте список ресурсів сторінки на предмет заблокованих. Якщо ваш CSS позначено як заблокований — ось і причина.

Директива Sitemap

Один рядок, абсолютна адреса, і стояти він може будь-де у файлі — до групи User-agent він не прив’язаний.

Sitemap: https://example.com/wp-sitemap.xml

Вказуйте ту адресу, яка справді відкривається. Ядро WordPress віддає wp-sitemap.xml. Більшість SEO-плагінів вимикають мапи ядра й віддають власний індекс за іншим шляхом, зазвичай sitemap_index.xml. Відкрийте свою адресу в браузері, перш ніж її фіксувати: рядок Sitemap, що вказує на 404, гірший за його відсутність, бо в аудиті виглядає правильним.

Перелічити кілька мап сайту — нормально, по одній на рядок. Подавати мапи в Search Console окремо все одно варто; директива в robots.txt потрібна для тих краулерів, які до вашого облікового запису Search Console ніколи не дістануться.

robots.txt — це не noindex і не безпека

Саме ці два непорозуміння завдають більшості шкоди через robots.txt.

Блокування адреси не прибирає її з Google. Robots.txt керує скануванням. Якщо на заблоковану адресу посилається інший сайт, Google може проіндексувати саму адресу — і ви отримаєте результат із голим посиланням і приміткою, що інформації немає. Є й підступніша пастка: якщо на сторінці вже стоїть мета-тег noindex, а ви потім блокуєте її в robots.txt, Google не може її просканувати, не бачить noindex — і сторінка може лишатися в індексі невизначено довго. Щоб прибрати сторінку, дозвольте сканування і віддайте мета-тег robots із noindex у head сторінки або HTTP-заголовок X-Robots-Tag. Директиви noindex всередині robots.txt Google перестав підтримувати ще у 2019 році.

Блокування шляху не захищає його. Ваш robots.txt публічний за визначенням. Рядок /private-client-files/ показує кожному відвідувачу й кожному сканеру, куди саме дивитися, а виконання правил добровільне: Google їх шанує, ворожі боти — ні. Усе, що потребує захисту, потребує автентифікації, обмеження за IP або правил рівня сервера в .htaccess, а не рядка в текстовому файлі, який рекламує ціль.

Правила, які варто додати, і правила, які варто пропустити

Два доповнення справді корисні на багатьох сайтах. Блокування шляху результатів пошуку не дає краулерам плодити нескінченні малоцінні адреси з вашого внутрішнього пошуку. Блокування кошика чи оформлення замовлення в WooCommerce тримає адреси з параметрами сесії поза скануванням.

Disallow: /?s=
Disallow: /search/

А ось це пропустіть:

  • Crawl-delay — Google повністю його ігнорує. Якщо у вас реальна проблема з навантаженням на сервер, користуйтеся налаштуваннями частоти сканування в Search Console.
  • Блокування /feed/ чи /trackback/ — це нешкідливі адреси, а стрічки ще й корисні.
  • Довгі списки назв окремих ботів — більшість ботів, яких намагаються блокувати, усе одно представляються нечесно.
  • Блокування /wp-json/ — цілком можливо, саме через нього ваша тема відображає контент.

Складіть файл у генераторі robots.txt для WordPress: він видає мінімальну коректну версію й дозволяє додати правила для пошуку та комерції без ручного редагування синтаксису.

Після того, як ви його змінили

Відкрийте https://yoursite.com/robots.txt напряму й переконайтеся, що віддані байти саме такі, як ви очікуєте, а не такі, як показує редактор плагіна. Потім запустіть живу перевірку URL у Search Console на звичайній сторінці й переконайтеся, що жоден ресурс CSS чи JavaScript не повертається заблокованим. Google кешує robots.txt приблизно добу, тож виправлення набуде чинності не миттєво — і помилка теж. Саме через цю затримку варто ретельно перевіряти, а не тестувати на живому сайті й чекати.

FAQ

Питання

Що має містити файл robots.txt для WordPress?

Чотири речі й нічого понад те: рядок user-agent із зірочкою, Disallow для /wp-admin/, Allow для /wp-admin/admin-ajax.php і директива Sitemap із повною адресою вашої мапи сайту. Усе інше необов'язкове, а більшість довгих блоклистів, що ходять інтернетом, створюють більше проблем, ніж вирішують.

Чи створює WordPress файл robots.txt автоматично?

Так, але лише віртуальний. WordPress формує відповідь у пам'яті, коли надходить запит на /robots.txt, а реального файлу на диску немає. Туди входять правила для wp-admin і, починаючи з версії 5.5, рядок Sitemap для wp-sitemap.xml. На сервер при цьому нічого не записується.

Чому мій robots.txt не збігається з тим, що мав би віддавати WordPress?

Майже завжди тому, що в корені сайту лежить фізичний файл robots.txt. Вебсервер віддає його напряму, WordPress навіть не запускається, тож і віртуальний вивід, і фільтр robots_txt мовчки обходяться стороною. Перевірте наявність реального файлу в корені, перш ніж шукати причину деінде.

Чи варто закривати wp-content або wp-includes у robots.txt?

Ні. У цих каталогах лежать CSS, JavaScript і зображення, потрібні вашим сторінкам для відображення. Заблокувавши їх, ви не даєте Google завантажити ці ресурси, тож він оцінює зламану версію вашого макета. Колись така порада була поширеною, а сьогодні вона відверто шкідлива.

Чи може robots.txt тримати сторінку поза індексом Google?

Ні. Robots.txt керує скануванням, а не індексуванням. Заблокована адреса все одно може потрапити в індекс, якщо на неї посилаються інші сторінки, і з'явитися в результатах без опису. Щоб сторінки не було в індексі, дозвольте сканування і віддавайте мета-тег robots із noindex або заголовок X-Robots-Tag.

Чи є robots.txt засобом безпеки?

Ні, радше навпаки. Файл публічний за адресою yoursite.com/robots.txt, і прочитати його може будь-хто, тож перелік приватного каталогу лише рекламує його розташування. Порядні краулери дотримуються його добровільно, а зловмисні сканери ігнорують повністю. Захищайте чутливі шляхи автентифікацією або правилами сервера.