В WordPress robots.txt часто правят «на глаз»: закрывают всё подряд, а потом удивляются, почему в индексе остаются служебные URL или, наоборот, поисковик перестаёт нормально обходить сайт. На практике задача обычно не в том, чтобы сделать файл «красивым», а в том, чтобы убрать из обхода технические страницы: админку, служебные каталоги, результаты внутреннего поиска, параметры сортировки и другие URL, которые не должны тратить краулинговый бюджет.
Ниже — рабочий сценарий: что именно закрывать, как это сделать без лишнего риска и как проверить, что настройка не навредила индексации важных страниц.
Какие страницы WordPress обычно стоит закрыть
robots.txt не удаляет страницу из индекса сам по себе. Он управляет обходом. Поэтому закрывать нужно только то, что поисковику не нужно сканировать, но что при этом не является важной посадочной страницей. Для типового WordPress это:
/wp-admin/— административная часть;/wp-includes/— служебные файлы ядра;- URL внутреннего поиска, если они создают мусорные страницы;
- параметры сортировки, фильтров и пагинации, если они плодят дубли;
- служебные каталоги плагинов и тем, если они доступны по прямым URL и не нужны в выдаче.
При этом не стоит закрывать CSS, JS и изображения только потому, что они лежат в служебных папках. Современные поисковые системы используют эти ресурсы для рендеринга страниц. Если запретить им доступ, можно получить проблемы с оценкой мобильной версии, верстки и скорости.
Диагностика: что именно мешает индексации
Перед правкой файла полезно понять, откуда берётся проблема. Если в индексе есть мусорные страницы, это не всегда вина robots.txt. Иногда причина в том, что WordPress сам генерирует лишние URL, а поисковик находит их через внутренние ссылки, карту сайта или внешние переходы.
Что проверить в первую очередь
- Есть ли у проблемного URL статус
200 OKи доступен ли он без авторизации. - Не попадает ли он в XML Sitemap.
- Есть ли на него внутренние ссылки из меню, хлебных крошек, виджетов или архивов.
- Не закрыт ли он уже через
noindexв мета-теге или заголовкеX-Robots-Tag. - Не дублируется ли страница с параметрами, например
?orderby=,?s=,?replytocom=.
Если страница уже в индексе, а вы просто добавите её в robots.txt, она может остаться там надолго. Для удаления из выдачи обычно нужен noindex или корректная настройка канонического URL, а robots.txt используют как дополнительный слой для обхода.
Базовый robots.txt для WordPress: безопасный старт
Если файла нет, WordPress и так отдаёт виртуальный robots.txt. Но для контроля лучше создать свой вариант. Самый безопасный подход — не пытаться закрыть всё подряд, а ограничиться действительно служебными разделами.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /search/
Disallow: /*?replytocom=
Sitemap: https://example.com/sitemap_index.xmlЗдесь есть несколько важных моментов. Allow: /wp-admin/admin-ajax.php нужен, потому что многие темы и плагины используют AJAX-запросы на фронтенде. Строка Sitemap помогает поисковику быстрее найти карту сайта. А правила для поиска и replytocom уменьшают количество мусорных URL, если они реально генерируются на сайте.
Когда этого недостаточно
Если у вас много дублей из-за фильтров, сортировки или параметров в URL, одного robots.txt мало. Например, запретить ?orderby= можно только если вы уверены, что такие страницы не должны индексироваться вообще. Но если это важные страницы каталога или архивы с полезной навигацией, лучше решать вопрос через noindex, canonical или настройку плагина SEO.
Как добавить robots.txt через код в WordPress
Если не хочется редактировать файл вручную, можно изменить виртуальный robots.txt через фильтр robots_txt. Это удобно, когда сайт в разработке или когда нужно централизованно управлять правилами из темы или мини-плагина.
<?php
add_filter( 'robots_txt', function( $output, $public ) {
$lines = array(
'User-agent: *',
'Disallow: /wp-admin/',
'Allow: /wp-admin/admin-ajax.php',
'Disallow: /wp-includes/',
'Disallow: /search/',
'Disallow: /*?replytocom=',
'Sitemap: https://example.com/sitemap_index.xml',
);
return implode( "\n", $lines ) . "\n";
}, 10, 2 );Такой вариант подходит, если вы контролируете код сайта и хотите избежать ручных правок через FTP или панель хостинга. Но есть нюанс: если SEO-плагин тоже генерирует robots.txt, проверьте, не конфликтует ли он с вашим фильтром. В некоторых конфигурациях лучше править правила в одном месте, а не размазывать их по теме и плагинам.
Плагин, код или ручной файл: что выбрать
| Подход | Когда уместен | Минус |
|---|---|---|
Ручной robots.txt | Небольшой сайт, понятные правила, доступ к корню сайта есть | Можно случайно перезаписать файл при деплое |
Фильтр robots_txt | Нужно управлять правилами из кода | Сложнее отлаживать, если несколько плагинов вмешиваются |
| SEO-плагин | Нужны дополнительные настройки индексации и sitemap в одном интерфейсе | Легко получить дубли правил и лишнюю абстракцию |
Если у вас уже стоит SEO-плагин, не спешите дублировать его логику кодом. Сначала проверьте, умеет ли он управлять robots.txt и картой сайта. Если нужен более широкий набор технических настроек, в экосистеме WPShop есть Clearfy Pro, который закрывает часть задач по чистке сайта и управлению дублями. Но даже в этом случае важно понимать, какие правила вы добавляете и зачем.
Пошаговая настройка без лишнего риска
- Составьте список URL, которые реально не должны обходиться поисковиком.
- Проверьте, не используются ли они в sitemap или внутренних ссылках.
- Добавьте минимальный набор правил в robots.txt.
- Не закрывайте CSS, JS и изображения без явной причины.
- Сохраните копию текущего файла перед изменениями.
- После правки проверьте доступность
/robots.txtв браузере и ответ сервера.
Если сайт на продакшене, лучше вносить изменения в часы низкой нагрузки и сразу проверять, не сломались ли служебные запросы. Особенно это касается сайтов с кастомной темой, AJAX-фильтрами и нестандартными плагинами.
Как проверить, что robots.txt сработал
Проверка должна быть не формальной, а по факту. Откройте https://ваш-домен/robots.txt и убедитесь, что файл отдается без редиректов и содержит нужные директивы. Затем проверьте несколько URL, которые вы хотели закрыть: они должны попадать под правило Disallow.
Дальше откройте Google Search Console или Яндекс.Вебмастер и посмотрите, не появились ли ошибки обхода. Если вы закрывали только технические страницы, важные URL должны продолжать обходиться и индексироваться как раньше. Для дополнительной проверки можно использовать команду:
curl -I https://example.com/robots.txtВ ответе должен быть статус 200. Если вместо этого вы видите редирект, 403 или HTML-страницу темы, значит robots.txt настроен неправильно на уровне сервера или CMS.
Частые ошибки и как их исправить
Закрыли слишком много
Самая частая ошибка — запретить весь сайт или важные разделы вроде /wp-content/. В результате поисковик не может нормально рендерить страницы. Исправление простое: уберите лишние Disallow и оставьте только те каталоги, которые действительно служебные.
Пытаются удалить страницу из индекса только через robots.txt
Если URL уже в выдаче, одного запрета на обход обычно недостаточно. Нужен noindex, корректный canonical или удаление страницы с последующим возвратом 404/410, если она больше не нужна.
Дублируют правила в нескольких местах
Когда robots.txt правит и SEO-плагин, и тема, и ручной файл на сервере, легко получить конфликт. В итоге в выдаче остаются старые правила, а вы не понимаете, какие из них реально работают. Решение — оставить один источник правды.
Закрывают параметры, не разобравшись в их роли
Параметры могут быть как мусорными, так и полезными. Например, фильтры сортировки в каталоге иногда нужны пользователям и поисковику. Перед блокировкой проверьте, не создаёт ли параметр отдельную ценную страницу.
Что делать, если нужен не только robots.txt
Если проблема глубже — дубли, мусорные архивы, лишние мета-теги, служебные страницы темы — robots.txt решает только часть задачи. Тогда обычно подключают SEO-настройки, чистят sitemap, убирают лишние архивы и проверяют canonical. Для этого удобнее работать не точечным файлом, а всей технической конфигурацией сайта.
Практический ориентир простой: robots.txt закрывает обход, noindex управляет индексированием, canonical помогает выбрать основную версию страницы. Если смешать эти инструменты без понимания, можно получить обратный эффект.