На WordPress robots.txt часто правят «на глаз»: закрывают всё подряд, потом удивляются, почему поисковик не видит важные страницы или продолжает индексировать мусорные URL. На практике задача обычно проще: убрать из обхода служебные разделы, не трогая то, что должно ранжироваться.
Ниже разберём, какие строки действительно нужны, как понять, что у вас проблема именно в robots.txt, и как проверить результат после правки.
Когда robots.txt вообще нужен
Файл robots.txt не удаляет страницы из индекса сам по себе. Он только управляет обходом. Если страница уже попала в поиск, одна строка Disallow не гарантирует её исчезновение. Для этого нужны редирект, noindex или удаление контента.
В WordPress robots.txt полезен в трёх типовых случаях:
- в индексе появляются служебные URL:
/wp-admin/,/wp-login.php,/wp-json/,/xmlrpc.php; - поисковик тратит обход на архивы, которые не дают ценности: теги, авторы, дата-архивы, внутренний поиск;
- нужно аккуратно закрыть дубли, но не сломать CSS, JS и изображения.
Диагностика: что именно у вас не так
Перед правкой проверьте, что проблема действительно в robots.txt, а не в мета-тегах, каноникалах или настройках темы.
Что смотреть в первую очередь
- Откройте
/robots.txtв браузере и убедитесь, что файл вообще отдается. - Проверьте, не закрыты ли папки с CSS и JS. Если в robots.txt есть слишком широкий
Disallow: /wp-content/, это уже ошибка. - Посмотрите отчёт обхода в Google Search Console: если бот регулярно ходит в служебные URL, robots.txt может быть настроен слабо или конфликтовать с реальной структурой сайта.
- Проверьте, не генерирует ли SEO-плагин свой robots.txt поверх вашего. В WordPress это частая причина неожиданных правил.
Типичные признаки неправильной настройки
- в поиске есть страницы внутреннего поиска вида
?s=; - индексируются архивы автора на сайте с одним автором;
- в отчётах видны дубли с параметрами;
- после правки robots.txt пропадают стили или скрипты в тестах рендера.
Что закрывать, а что не трогать
Ниже — практичный набор правил для большинства обычных сайтов на WordPress. Он не универсален, но безопаснее, чем «закрыть всё лишнее».
| Подход | Что даёт | Риск |
|---|---|---|
| Править robots.txt вручную | Полный контроль над правилами | Легко ошибиться и закрыть нужные файлы |
| Использовать SEO-плагин | Удобно для типовых сайтов | Плагин может перезаписать правила |
| Комбинировать robots.txt и noindex | Лучше для дублей и архивов | Нужно понимать, что именно закрываете |
Обычно имеет смысл закрыть:
/wp-admin/— кромеadmin-ajax.php, если он нужен фронтенду;/wp-login.php— как служебную точку входа;- внутренний поиск
/?s=; - архивы, которые не несут ценности: теги, авторы, даты, если они пустые или дублируют основной контент;
- технические параметры, если они создают мусорные URL и не нужны для обхода.
Не стоит закрывать:
/wp-content/uploads/— там обычно лежат изображения;/wp-includes/целиком, если это мешает загрузке ресурсов;- CSS и JS, которые нужны для рендеринга страниц;
- канонические страницы только потому, что они «похожи на дубли».
Пошаговое решение: как настроить robots.txt в WordPress
Если у вас нет отдельного физического файла robots.txt в корне, WordPress может отдавать виртуальный вариант. Но на практике удобнее создать свой файл в корне сайта и контролировать его явно.
Шаг 1. Создайте базовый robots.txt
Пример безопасной стартовой версии:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /search/
Disallow: /*?s=
Disallow: /*?replytocom=
Disallow: /tag/
Disallow: /author/
Disallow: /date/
Sitemap: https://example.com/sitemap_index.xmlЗдесь важно не копировать правила вслепую. Например, если у вас на сайте авторские архивы нужны и они содержат уникальный контент, закрывать /author/ не нужно.
Шаг 2. Уберите дубли через SEO-плагин или настройки темы
Если проблема не только в обходе, но и в индексации архивов, robots.txt одного недостаточно. Для страниц, которые уже доступны по URL, лучше использовать noindex или отключение архивов в SEO-плагине. Это надёжнее, чем надеяться на Disallow.
Например, если у вас один автор и дата-архивы не нужны, их можно отключить в SEO-плагине, а не только закрыть в robots.txt. Тогда поисковик получит явный сигнал, а не догадку.
Шаг 3. Если нужен код, добавьте фильтр для robots.txt
Когда сайт управляется кодом или вы не хотите держать отдельный файл, можно использовать фильтр robots_txt. Это штатный механизм WordPress.
<?php
add_filter('robots_txt', function ($output, $public) {
$lines = [
'User-agent: *',
'Disallow: /wp-admin/',
'Allow: /wp-admin/admin-ajax.php',
'Disallow: /wp-login.php',
'Disallow: /*?s=',
'Disallow: /*?replytocom=',
'Sitemap: ' . home_url('/sitemap_index.xml'),
];
return implode("\n", $lines) . "\n";
}, 10, 2);Такой вариант удобен, если вы храните настройки в теме или в небольшом must-use плагине. Но не смешивайте одновременно физический robots.txt и генерацию через фильтр без необходимости: потом сложно понять, какой вариант реально отдается.
Проверка результата после внедрения
После правки не ограничивайтесь открытием файла в браузере. Нужно проверить, как его видит бот и не сломались ли ресурсы.
- Откройте
/robots.txtи убедитесь, что там нет лишних правил, закрывающих CSS/JS. - Проверьте URL в Google Search Console через инструмент проверки robots.txt, если он доступен в вашем аккаунте.
- Посмотрите исходный код страниц и убедитесь, что важные ресурсы не заблокированы.
- Проверьте, не появились ли ошибки обхода в логах сервера после изменения правил.
Если вы закрывали внутренний поиск или параметры, проверьте несколько URL вручную: /search/term/, ?s=test, ?replytocom=1. Они должны либо не обходиться, либо не создавать новых индексируемых дублей.
Частые ошибки и как их исправить
Закрыли слишком много
Самая частая ошибка — Disallow: / или слишком широкий запрет на папки с ресурсами. В результате поисковик не может нормально отрендерить страницу. Исправление простое: уберите широкое правило и проверьте доступ к CSS/JS.
Путают robots.txt и noindex
Если страница уже в индексе, robots.txt не всегда поможет. Для удаления из поиска нужен noindex, редирект или удаление страницы с корректным кодом ответа. Robots.txt — это про обход, а не про гарантированное удаление.
Оставили конфликт с SEO-плагином
Некоторые плагины умеют генерировать robots.txt сами. Если вы правите файл вручную, а плагин продолжает отдавать свои правила, результат будет непредсказуемым. Проверьте настройки плагина и отключите генерацию, если используете свой файл.
Закрыли архивы, которые нужны для навигации
На контентных сайтах архивы категорий и тегов иногда дают трафик. Если закрыть их без анализа, можно потерять полезные страницы. Сначала проверьте, есть ли у архива уникальный текст, входящий трафик и нормальная структура.
Практические советы по безопасности и производительности
Robots.txt не защищает сайт от атак. Он не скрывает админку и не заменяет ограничение доступа. Для /wp-admin/ и /wp-login.php нужны отдельные меры: сложные пароли, ограничение попыток входа, 2FA, при необходимости — защита на уровне сервера.
С точки зрения производительности robots.txt полезен только косвенно: он снижает лишний обход. Но если сайт генерирует много дублей из-за параметров, лучше решать причину на уровне URL, каноникалов и настроек плагинов. Для чистки дублей и технических мелочей в WordPress часто удобнее использовать инструменты вроде Clearfy Pro, если вам нужен именно набор типовых SEO- и cleanup-настроек, а не ручная сборка всего по частям.
Мини-чек-лист перед публикацией
- robots.txt открывается по
/robots.txtбез 404; - не закрыты CSS и JS;
- служебные URL закрыты точечно, а не «всё подряд»;
- для уже индексируемых дублей добавлен noindex или редирект;
- в sitemap указан актуальный адрес;
- после правки проверены Search Console и исходный код страниц.
Если после изменений поисковик всё ещё видит мусорные URL, не расширяйте robots.txt дальше. Сначала найдите источник дублей: шаблон темы, параметры фильтрации, архивы таксономий или внутренний поиск. В WordPress это обычно решается не одним файлом, а связкой из robots.txt, canonical, noindex и нормальной структуры ссылок.