В WordPress robots.txt часто правят «на глаз»: добавляют пару строк из чужой статьи и получают обратный эффект — поисковик продолжает тратить краулинговый бюджет на мусорные URL, а нужные страницы иногда начинают выпадать из обхода из-за лишних запретов. Проблема обычно не в самом файле, а в том, что его настраивают без понимания, какие адреса реально генерирует сайт.
Ниже — рабочий сценарий: что закрывать в robots.txt, что лучше не трогать, как проверить, что правила не мешают индексации, и где robots.txt вообще не решает задачу.
Когда robots.txt действительно нужен
Файл robots.txt полезен не для «SEO вообще», а для конкретных служебных URL. В WordPress это обычно:
- служебные каталоги и системные файлы, которые не должны обходиться роботами;
- страницы поиска по сайту, если они создают много мусорных URL;
- внутренние параметры, которые плодят дубли;
- админские и технические разделы, которые не имеют смысла в поиске.
При этом robots.txt не убирает страницу из индекса, если на неё уже есть ссылки и она доступна без запрета. Для удаления из поиска нужен другой механизм: noindex, заголовок X-Robots-Tag или редирект. Это важное ограничение, из-за которого robots.txt часто используют не по назначению.
Диагностика: что именно закрывать на вашем сайте
Перед правкой откройте текущий robots.txt и посмотрите, не закрывает ли он лишнее. Если файл генерируется плагином или хостингом, не редактируйте его вслепую через FTP: сначала проверьте, какие правила уже отдаются в ответе сервера.
Что проверить вручную
- есть ли в robots.txt директива
Sitemapи корректный путь к карте сайта; - не запрещены ли каталоги темы, плагинов или медиафайлы без причины;
- не закрыт ли весь сайт через
Disallow: /после переноса или тестов; - не дублируются ли правила от плагина SEO и ручной записи в корне сайта;
- не закрыты ли служебные страницы, которые нужны для работы фронтенда или API.
Если сайт уже в индексе, дополнительно проверьте в Яндекс.Вебмастере и Google Search Console, какие URL реально обходятся и где есть проблемы с доступом. Robots.txt сам по себе не показывает, что именно выпало из индекса, но он помогает понять, почему робот не доходит до части страниц.
Что обычно закрывают в WordPress
Ниже — типовой набор, который часто оправдан на обычном контентном сайте. Но его нельзя копировать без проверки: структура URL зависит от темы, плагинов и настроек постоянных ссылок.
| Вариант | Что делает | Когда подходит | Минус |
|---|---|---|---|
| Плагин SEO | Генерирует robots.txt и sitemap | Если нужен удобный интерфейс и сайт уже использует SEO-плагин | Можно не заметить конфликт с ручным файлом |
| Ручной robots.txt | Полный контроль над правилами | Если нужен минимальный и предсказуемый файл | Легко ошибиться в синтаксисе |
| Комбинированный подход | SEO-плагин для карты сайта, ручная проверка правил | Чаще всего для рабочих проектов | Нужно следить, кто именно управляет файлом |
Для большинства сайтов достаточно закрыть служебные разделы и оставить доступ к карте сайта. Не стоит добавлять в robots.txt всё подряд, включая CSS, JS и изображения, если у вас нет конкретной причины. Современные поисковики рендерят страницы, и чрезмерные запреты иногда мешают оценке качества страницы.
Пошаговая настройка robots.txt в WordPress
Шаг 1. Определите, кто управляет файлом
В WordPress robots.txt может быть:
- виртуальным — отдаётся WordPress или SEO-плагином;
- физическим — лежит в корне сайта как обычный файл;
- сгенерированным хостингом или панелью управления.
Если вы создадите физический файл, а SEO-плагин продолжит генерировать виртуальный, итоговое поведение может зависеть от конфигурации сервера. Поэтому сначала проверьте ответ по адресу /robots.txt в браузере или через curl.
curl -I https://example.com/robots.txtВ ответе смотрите код 200 и содержимое файла. Если сервер отдает не то, что вы ожидаете, править нужно источник, а не только файл в корне.
Шаг 2. Составьте минимальный безопасный набор правил
Для типового сайта можно начать с такого шаблона:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Disallow: /trackback/
Disallow: /feed/
Sitemap: https://example.com/sitemap_index.xmlЗдесь закрываются административные и поисковые URL, а также feed и trackback, если они не нужны для вашей модели трафика. Но если у вас есть рабочие сценарии с RSS-лентами, не запрещайте их без необходимости.
Шаг 3. Уберите мусорные параметры, если они реально создают дубли
Если сайт плодит URL с параметрами сортировки, фильтров или UTM, robots.txt не всегда лучший инструмент. Поисковик может продолжать находить такие адреса по внутренним ссылкам. В этом случае чаще помогают:
- канонические URL;
- удаление лишних параметров из внутренних ссылок;
noindexдля служебных страниц;- настройка плагина, который генерирует дубли.
Если проблема в параметрах вида ?replytocom= или в бесконечных страницах поиска, сначала проверьте, можно ли убрать источник дублей на уровне темы или плагина, а не только запретить обход.
Пример: как добавить robots.txt через код
Если вы не хотите держать физический файл в корне, можно отдать содержимое через фильтр WordPress. Это удобно, когда вы контролируете тему или небольшой mu-plugin и хотите избежать ручных правок на проде.
add_filter('robots_txt', function ($output, $public) {
$lines = [
'User-agent: *',
'Disallow: /wp-admin/',
'Allow: /wp-admin/admin-ajax.php',
'Disallow: /search/',
'Disallow: /trackback/',
'Sitemap: ' . home_url('/sitemap_index.xml'),
];
return implode("\n", $lines) . "\n";
}, 10, 2);Этот вариант рабочий, но у него есть ограничение: если другой плагин тоже фильтрует robots.txt, итоговый вывод может отличаться от ожидаемого. Поэтому после внедрения всегда проверяйте фактический ответ по URL /robots.txt.
Как проверить, что решение сработало
Проверка нужна не только на уровне текста файла, но и на уровне обхода. Смотрите на три вещи:
- robots.txt отдается с нужными правилами и без лишних директив;
- карта сайта доступна по указанному адресу;
- закрытые URL больше не попадают в обход там, где это важно.
Практический чек-лист:
- открыть
/robots.txtв браузере и убедиться, что там актуальный текст; - проверить, что
Sitemapведет на существующий файл; - в Search Console или Вебмастере протестировать конкретный URL;
- посмотреть серверные логи, если нужно понять, продолжает ли робот ходить по запрещенным адресам;
- убедиться, что главные страницы сайта не закрыты случайно.
Если после правки страницы всё равно индексируются, проблема, скорее всего, не в robots.txt. Тогда нужно смотреть на каноникал, внутренние ссылки, карту сайта и статус ответа сервера.
Частые ошибки и как их исправить
Закрыли слишком много
Самая неприятная ошибка — запретить весь сайт или важные разделы через Disallow: / либо закрыть папки с контентом по шаблону, который совпал с реальными URL. Исправление простое: восстановить доступ, затем заново отправить карту сайта и проверить обход.
Путают robots.txt и noindex
Если нужно убрать страницу из индекса, robots.txt не всегда подходит. Страница может остаться в выдаче как URL без сниппета. Для удаления используйте noindex на самой странице или заголовок X-Robots-Tag, если речь о файлах.
Оставили конфликт между плагином и ручным файлом
Когда SEO-плагин генерирует виртуальный robots.txt, а в корне лежит физический файл с другим содержимым, вы получаете непредсказуемый результат. Оставьте один источник правды и удалите второй.
Закрыли CSS и JS без причины
Это старая привычка из эпохи, когда поисковики хуже рендерили страницы. Сейчас такой запрет может мешать оценке мобильной версии, блоков и интерактивных элементов. Если нет отдельной причины, не трогайте статические ресурсы.
Безопасность и производительность
Robots.txt не защищает сайт от атак и не прячет админку. Для безопасности нужны обновления, ограничение логинов, двухфакторная аутентификация и нормальная настройка прав доступа. Но файл полезен как часть технической гигиены: он снижает шум от обхода служебных URL и помогает поисковым роботам быстрее добираться до нужных страниц.
Если на сайте много дублей, имеет смысл дополнительно использовать инструменты для очистки технического мусора. Например, в проектах на WordPress иногда подключают Clearfy Pro для управления дублями, служебными ссылками и частью SEO-настроек, но только если это действительно закрывает вашу задачу и не конфликтует с текущим стеком.
Когда robots.txt лучше не трогать вручную
Если у вас сложный проект с несколькими языками, кастомными типами записей, фильтрами и отдельным SEO-плагином, ручная правка без теста может навредить. В таком случае сначала соберите список всех URL, которые должны быть доступны поиску, и только потом ограничивайте технические разделы. Для небольшого сайта проще и безопаснее держать короткий, понятный robots.txt, чем пытаться описать в нём всю архитектуру проекта.
Главный критерий здесь простой: если правило нельзя объяснить одной фразой «зачем оно нужно», скорее всего, его не стоит добавлять.