wpfinder.ru wordpress wpfinder.ru

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

robots.txt в WordPress часто правят «на глаз»: закрывают лишнее, забывают про важные разделы и потом удивляются, почему в индексе остаются дубли или, наоборот, выпадают нужные страницы. На практике задача обычно не в том, чтобы запретить как можно больше, а в том, чтобы поисковый робот тратил обход на полезные URL и не упирался в технический мусор.

Ниже — рабочий сценарий: что именно проверять, как собрать аккуратный robots.txt, чем он отличается от meta robots и как убедиться, что изменения не навредили индексации.

Когда robots.txt в WordPress действительно нужен

Файл robots.txt полезен, если у сайта есть:

  • служебные разделы, которые не должны обходиться роботами;
  • дубли архивов, тегов, пагинации или страниц поиска;
  • нагрузка на сервер из-за частого обхода технических URL;
  • потребность явно указать путь к sitemap.xml;
  • нестандартная структура сайта, где стандартный файл WordPress уже не подходит.

Важно не путать Disallow в robots.txt и запрет индексации через noindex. Robots.txt ограничивает обход, но не гарантирует удаление URL из индекса, если на него уже есть ссылки. Для уже проиндексированных страниц часто нужен именно noindex или редирект, а не только robots.txt.

Диагностика: что проверить до правки файла

Перед изменением robots.txt стоит посмотреть, какие URL реально создаёт WordPress и какие из них не должны попадать в обход. Обычно проблема видна в логике структуры сайта, а не в самом файле.

Проверьте текущий robots.txt

Если файл уже существует, откройте его по адресу /robots.txt. В WordPress он может быть виртуальным, если физического файла нет. Проверьте, не закрыты ли случайно:

  • /wp-content/uploads/ — если там лежат изображения, которые должны индексироваться;
  • /wp-admin/admin-ajax.php — его часто закрывают, но это не всегда критично;
  • /wp-json/ — если сайт использует REST API для публичных данных;
  • страницы поиска, архивы и служебные параметры.

Сопоставьте robots.txt с реальной структурой сайта

Если у вас есть дубли из-за тегов, архивов автора или пагинации, robots.txt сам по себе не решит задачу. Он может уменьшить обход, но не уберёт уже известные поисковику URL. Для таких случаев обычно комбинируют:

  • robots.txt — чтобы ограничить обход технических разделов;
  • noindex — чтобы не индексировать отдельные типы страниц;
  • канонические URL — чтобы указать основную версию страницы;
  • редиректы — если есть явные дубли.

Пошаговая настройка robots.txt

Самый безопасный подход — не ломать стандартные правила WordPress, а добавить только то, что действительно нужно закрыть. Если вы используете SEO-плагин, сначала проверьте, не генерирует ли он robots.txt сам. В таком случае править нужно в его настройках, а не загружать второй файл поверх.

Базовый вариант для большинства сайтов

Ниже пример аккуратного robots.txt, который не мешает индексации контента и при этом закрывает типовые служебные URL:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Disallow: /tag/
Disallow: /author/
Sitemap: https://example.com/sitemap_index.xml

Здесь есть важная оговорка: закрывать /tag/ и /author/ стоит только если вы осознанно не хотите, чтобы эти архивы обходились. На некоторых сайтах теги и архивы авторов дают полезный трафик, и их лучше не прятать в robots.txt, а настраивать через noindex или шаблоны SEO-плагина.

Если нужно закрыть только технические параметры

Иногда проблема не в разделах, а в параметрах URL: сортировка, фильтры, внутренний поиск, UTM-метки. Полностью закрывать такие URL в robots.txt не всегда удобно, но для части параметров это оправдано. Пример:

User-agent: *
Disallow: /*?orderby=
Disallow: /*?filter=
Disallow: /*?replytocom=
Disallow: /*?add-to-cart=
Sitemap: https://example.com/sitemap_index.xml

Этот вариант стоит применять осторожно. Если параметр используется не только для мусорных URL, а ещё и для полезной навигации, лучше сначала проверить, как он влияет на обход и индексацию.

Если нужен физический файл robots.txt

Иногда удобнее создать реальный файл в корне сайта, особенно если вы хотите управлять им через Git или деплой. Тогда WordPress не будет подменять его виртуальной версией. Главное — не забыть, что физический файл имеет приоритет.

Минимальный набор действий:

  1. создайте файл robots.txt в корне сайта;
  2. добавьте правила без лишних директив;
  3. проверьте права на файл, чтобы веб-сервер мог его отдавать;
  4. убедитесь, что SEO-плагин не генерирует конфликтующую версию.

Пример настройки через код в WordPress

Если нужно управлять содержимым robots.txt из темы или мини-плагина, используйте фильтр robots_txt. Это удобно, когда правила зависят от окружения: staging, production, мультиязычность или кастомные типы контента.

<?php
add_filter( 'robots_txt', function( $output, $public ) {
	$lines = array();
	$lines[] = 'User-agent: *';
	$lines[] = 'Disallow: /wp-admin/';
	$lines[] = 'Allow: /wp-admin/admin-ajax.php';
	$lines[] = 'Disallow: /wp-login.php';
	$lines[] = 'Disallow: /search/';
	$lines[] = 'Sitemap: ' . home_url( '/sitemap_index.xml' );

	return implode( "\n", $lines ) . "\n";
}, 10, 2 );

Такой подход полезен, если вы хотите централизованно контролировать файл без ручного редактирования. Но не смешивайте это с SEO-плагином, который тоже умеет генерировать robots.txt: в итоге можно получить неожиданный набор правил.

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

После правки не ограничивайтесь открытием /robots.txt в браузере. Этого недостаточно: файл может отображаться правильно, но при этом закрывать не те URL.

  • Откройте /robots.txt и убедитесь, что он отдается без редиректов и ошибок.
  • Проверьте, что sitemap указан корректно и ведет на существующий файл.
  • В Google Search Console используйте проверку URL для нескольких типовых страниц.
  • Посмотрите, не исчезли ли из обхода важные разделы, например категории или записи.
  • Проверьте, не остались ли в индексе старые дубли, которые robots.txt уже не должен закрывать.

Если сайт большой, полезно сравнить логи сервера до и после изменения. Снижение числа запросов к техническим URL — хороший знак, но только если при этом не просел обход контента.

Сравнение подходов: robots.txt, noindex и редирект

ПодходКогда использоватьПлюсМинус
robots.txtНужно ограничить обход технических разделовБыстро и простоНе гарантирует удаление URL из индекса
noindexСтраница должна быть доступна, но не индексироватьсяРаботает точнее для индексацииРобот должен иметь доступ к странице
редиректЕсть явный дубль или устаревший URLУбирает лишнюю версию адресаНужно аккуратно настраивать цепочки

Частые ошибки и как их исправить

Закрыли слишком много

Самая частая ошибка — запретить целые каталоги, не проверив, что там лежит. Например, /wp-content/ закрывать нельзя, если вы хотите, чтобы поисковики видели картинки, CSS и JS. В результате можно получить проблемы с рендерингом и ухудшение оценки страницы.

Пытаются удалить дубли только robots.txt

Если архивы тегов уже в индексе, robots.txt не решит проблему полностью. Нужны дополнительные меры: noindex, каноникал или редирект. Иначе URL может продолжать жить в выдаче как «запрещённый к обходу» адрес.

Конфликт физического и виртуального файла

Если в корне сайта есть физический robots.txt, а SEO-плагин генерирует свой вариант, вы можете видеть не тот файл, который ожидаете. Проверьте, какой именно файл отдаёт сервер, и оставьте только один источник правды.

Закрыли sitemap

Иногда в robots.txt по ошибке запрещают путь к sitemap или сам sitemap попадает под слишком широкое правило. Это мешает поисковикам быстрее находить новые страницы. Sitemap должен быть доступен без лишних ограничений.

Практические советы по безопасности и производительности

robots.txt не защищает сайт от атак и не скрывает чувствительные данные. Если нужно закрыть админку или API от нежелательного доступа, используйте нормальные меры безопасности: ограничение по IP, авторизацию, WAF, настройку прав доступа и актуальные обновления.

С точки зрения производительности полезно не только закрыть мусорные URL, но и убрать причины их появления. Например, если сайт генерирует много дублей из-за параметров сортировки, лучше пересмотреть шаблон ссылок, настройки плагина фильтров или логику канонических URL. В некоторых проектах помогает и чистка SEO-дублей через инструменты вроде Clearfy Pro, если задача именно в техническом шуме и лишних архивных страницах.

Если вы меняете robots.txt на боевом сайте, делайте это через staging или хотя бы с резервной копией текущего файла. Ошибка в одной строке может стоить заметной части трафика, а откат потом занимает время.

×

Увеличьте продажи!

Скидка на
My Popup!

-15%
плагин для WordPress

Успей купить ⋙