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