Если в индексе всплывают служебные URL вроде /wp-admin/, /wp-login.php, страницы поиска, архивы с параметрами или технические разделы плагинов, первым делом стоит проверить robots.txt. Но здесь легко ошибиться: один лишний Disallow может отрезать поисковику доступ к важным CSS, JS или публичным страницам.
Ниже — практический разбор: что именно закрывать в WordPress, как не перепутать robots.txt с noindex, как проверить результат и какие ошибки встречаются чаще всего.
Когда robots.txt действительно нужен
robots.txt полезен, когда нужно управлять обходом, а не напрямую индексом. Это важное различие: файл подсказывает роботам, куда не ходить, но сам по себе не гарантирует удаление URL из выдачи. Если страница уже в индексе, одного Disallow часто недостаточно.
Типичные сценарии
- закрыть
/wp-admin/и служебные файлы от лишнего обхода; - ограничить индексацию внутренних поисковых страниц;
- не пускать роботов в тестовые или временные каталоги;
- убрать из обхода URL с параметрами, которые создают мусорные дубли;
- снизить нагрузку на сайт, если бот слишком активно сканирует технические разделы.
Если задача именно убрать страницу из индекса, а не только из обхода, нужен noindex через мета-тег или заголовок X-Robots-Tag. Для WordPress это часто удобнее делать на уровне шаблона, плагина SEO или через фильтры.
Диагностика: что проверить до правки robots.txt
Прежде чем редактировать файл, посмотрите, что именно попало в индекс и почему. Иначе можно закрыть не ту группу URL и получить обратный эффект.
- Проверьте отчет в Google Search Console: какие страницы индексируются, какие исключены, есть ли проблемы с обходом.
- Откройте
/robots.txtсайта в браузере и убедитесь, что он реально отдается сервером, а не 404 или HTML-страницей темы. - Посмотрите, не закрыты ли случайно файлы статики:
/wp-content/uploads/,/wp-includes/, CSS и JS. - Если сайт использует SEO-плагин, проверьте, не генерирует ли он свой robots.txt поверх физического файла.
Отдельно проверьте, не блокирует ли robots.txt страницы, которые должны быть доступны для рендеринга. Если поисковик не может загрузить CSS и JS, он может хуже понимать мобильную версию и визуальную структуру страницы.
Какой robots.txt нужен WordPress-сайту
Для большинства сайтов достаточно минимального и аккуратного файла. Не стоит копировать агрессивные шаблоны из старых статей, где закрывают почти все подряд.
| Подход | Когда подходит | Риск |
|---|---|---|
| Ручной robots.txt | Нужен точный контроль и понятная логика | Можно случайно закрыть важные ресурсы |
| SEO-плагин | Удобно для типовых настроек и правок без FTP | Иногда сложнее понять, что именно генерируется |
| Серверная настройка | Если нужен контроль на уровне nginx/apache и нестандартные правила | Выше порог входа, сложнее поддержка |
Базовый пример для WordPress
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://example.com/sitemap_index.xmlЭтот вариант не универсален, но он показывает логику: закрываем административную часть, разрешаем admin-ajax.php, если он нужен фронтенду, и указываем карту сайта. Если у вас другой URL поиска или другой формат sitemap, подставьте свои значения.
Пошаговая настройка robots.txt в WordPress
Шаг 1. Определите, что закрывать
Сначала составьте список URL, которые не должны расходовать crawl budget и не нужны в поиске. Обычно это:
- админка и логин;
- служебные страницы поиска;
- страницы с параметрами сортировки и фильтрации, если они создают дубли;
- тестовые каталоги;
- служебные пути плагинов, если они не должны обходиться.
Не закрывайте наугад весь /wp-content/. Внутри него лежат изображения и файлы, которые должны быть доступны поисковикам.
Шаг 2. Выберите способ редактирования
В WordPress robots.txt можно править несколькими способами:
- через SEO-плагин, если он умеет редактировать виртуальный robots.txt;
- через физический файл в корне сайта;
- через хостинг-панель или FTP/SFTP;
- через серверную конфигурацию, если у вас нестандартная инфраструктура.
Если на сайте уже есть физический robots.txt, а плагин показывает свои правила, проверьте, какой вариант реально отдается в ответе. Иногда админ видит одно, а бот получает другое.
Шаг 3. Добавьте правила без лишней агрессии
Не закрывайте ресурсы, которые участвуют в рендеринге страниц. Если сомневаетесь, сначала проверьте, какие файлы грузятся на публичной странице в DevTools или через отчет о проверке URL в Search Console.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /search/
Disallow: /*?s=
Sitemap: https://example.com/sitemap_index.xmlЕсли у вас есть отдельные служебные каталоги, добавляйте только их. Например, /staging/ или /test/. Но не переносите такие правила на боевой сайт без проверки.
Шаг 4. Убедитесь, что sitemap указан корректно
Ссылка на sitemap в robots.txt должна вести на актуальную карту сайта. Для WordPress это часто /sitemap_index.xml, если используется SEO-плагин. Если карта сайта генерируется иначе, укажите реальный URL.
Ошибка здесь банальна: robots.txt обновили, а sitemap остался старый или вообще ведет на 404. В итоге поисковик получает противоречивые сигналы.
Как проверить, что решение сработало
После правки не ограничивайтесь открытием файла в браузере. Нужно проверить поведение робота и индексацию.
- Откройте
https://ваш-домен/robots.txtи убедитесь, что там именно тот текст, который вы добавили. - Проверьте ответ сервера: файл должен отдаваться с кодом
200, а не редиректом на HTML-страницу. - В Google Search Console используйте проверку URL для страниц, которые вы закрывали или оставляли открытыми.
- Посмотрите отчет по страницам, исключенным из индекса, и по ошибкам сканирования.
Если вы закрывали только обход, а URL все еще в индексе, это нормально. Тогда добавьте noindex на саму страницу или настройте удаление через Search Console, если страница уже не должна существовать.
Частые ошибки и как их исправить
Закрыли CSS и JS вместе с техническими URL
Такое бывает, когда в robots.txt добавляют слишком широкие правила вроде Disallow: /wp-content/ или Disallow: /assets/ без анализа структуры сайта. Исправление простое: уберите широкое правило и оставьте только конкретный проблемный каталог, если он действительно нужен.
Путают robots.txt и noindex
Disallow не удаляет страницу из индекса мгновенно. Если URL уже известен поисковику, он может остаться в выдаче без описания или с устаревшим сниппетом. Для удаления из индекса используйте noindex или 301-редирект, если страница переехала.
Закрывают параметры, которые нужны для работы сайта
Иногда в robots.txt блокируют все URL с параметрами, а потом ломают фильтры, пагинацию или внутренний поиск. Перед блокировкой проверьте, не используются ли эти параметры на публичных страницах и не завязаны ли на них важные сценарии.
Оставляют конфликт между плагином и физическим файлом
Если 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-login.php',
'Disallow: /search/',
'Sitemap: https://example.com/sitemap_index.xml',
);
return implode( "\n", $lines ) . "\n";
}, 10, 2 );Этот вариант полезен, если у вас несколько окружений и нужно подставлять sitemap динамически. Но не забывайте: если на сайте уже есть плагин, который тоже меняет robots.txt, проверьте итоговый вывод.
Безопасность и производительность
robots.txt не защищает админку от атак. Он лишь сообщает роботам, куда не ходить. Для /wp-login.php и /wp-admin/ нужны нормальные меры безопасности: сложные пароли, ограничение попыток входа, 2FA, при необходимости — защита на уровне сервера.
С точки зрения производительности robots.txt помогает только косвенно: он уменьшает лишний обход. Если у вас много мусорных URL из-за параметров, лучше сначала исправить генерацию этих ссылок, а уже потом закрывать их от роботов.
Если нужен более широкий набор технических настроек WordPress — от чистки дублей до управления служебными страницами — иногда удобнее собрать это в одном инструменте, а не держать набор разрозненных правок. В таких сценариях смотрят в сторону решений вроде Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wp-1.ru&utm_medium=article&utm_campaign=nastrojka-robots-txt-v-wordpress-dlya-zakrytiya-administrativnyh-i-sluzhebnyh-stranic
Что проверить после внедрения через 24–72 часа
- robots.txt отдается без ошибок и без редиректов на HTML;
- в Search Console уменьшается число обхода ненужных URL;
- в индексе не появляются новые служебные страницы;
- публичные страницы продолжают корректно рендериться;
- карта сайта доступна и не блокируется правилами.
Если после правки поисковик все еще активно ходит в закрытые разделы, это не всегда проблема. Роботы обновляют кэш правил не мгновенно. Но если через несколько обходов поведение не меняется, проверьте, не отдает ли сервер старую версию файла или не перезаписывает ли его плагин.