Настройка robots.txt для WordPress: как закрыть сервисные страницы и не спрятать сайт от поиска

В 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.

Как проверить, что решение сработало

Проверка нужна не только на уровне текста файла, но и на уровне обхода. Смотрите на три вещи:

  1. robots.txt отдается с нужными правилами и без лишних директив;
  2. карта сайта доступна по указанному адресу;
  3. закрытые 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, чем пытаться описать в нём всю архитектуру проекта.

Главный критерий здесь простой: если правило нельзя объяснить одной фразой «зачем оно нужно», скорее всего, его не стоит добавлять.

Премиум шаблоны для WordPress Купить плагины для WordPress