wpcontent.ru wordpress wpcontent.ru

Как настроить robots.txt в WordPress для закрытия технических страниц

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

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

Какие страницы обычно стоит закрывать

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

  • /wp-admin/ — кроме /wp-admin/admin-ajax.php;
  • /wp-includes/ и служебные каталоги, если они доступны по прямым URL;
  • страницы внутреннего поиска вида ?s=;
  • архивы, которые не нужны в поиске: авторы, даты, теги — если вы осознанно убираете их из индекса;
  • служебные параметры, которые создают мусорные URL в логах обхода.

Важно: если страница уже открыта для индексации и на ней есть контент, robots.txt не заменяет noindex. Для закрытия от индексации и обхода это разные задачи.

Диагностика проблемы перед правкой robots.txt

Сначала проверьте, что именно мешает. Иначе легко закрыть лишнее и потерять полезные страницы из обхода.

  1. Откройте /robots.txt в браузере и посмотрите, кто его отдаёт: WordPress, плагин SEO или сервер.
  2. Проверьте, нет ли уже правил Disallow, которые конфликтуют между собой.
  3. Посмотрите отчёт обхода в Google Search Console: какие URL чаще всего сканируются без пользы.
  4. Сравните robots.txt с фактической индексацией: если URL уже в индексе, одной блокировки недостаточно.

Типичный признак ошибки — в robots.txt закрыт весь сайт через Disallow: /, а потом удивляются падению видимости. Такой вариант допустим только для временной блокировки staging-сайта, и то с пониманием последствий.

Пошаговое решение в WordPress

Вариант через фильтр robots_txt

WordPress умеет отдавать виртуальный robots.txt через фильтр robots_txt. Это удобнее, чем редактировать физический файл, если вы хотите управлять правилами из темы или небольшого плагина.

<?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: /?s=';
    $lines[] = 'Disallow: /search/';
    $lines[] = 'Disallow: /author/';
    $lines[] = 'Disallow: /tag/';

    $lines[] = 'Sitemap: ' . home_url( '/sitemap_index.xml' );

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

Этот вариант подходит, если у вас нет жёстко заданного robots.txt в корне сайта. Если физический файл уже существует, он может перекрывать виртуальную версию — это нужно учитывать.

Вариант через физический файл в корне сайта

Если вы управляете сервером и хотите предсказуемое поведение, создайте или отредактируйте robots.txt в корне WordPress-установки. Пример минимально безопасного файла:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Disallow: /author/
Disallow: /tag/

Sitemap: https://example.com/sitemap_index.xml

Замените домен на свой и не копируйте чужие правила без проверки. У разных сайтов разная структура архивов, и то, что полезно одному проекту, другому может навредить.

Что лучше: плагин, код или ручной файл

ПодходКогда использоватьПлюсыМинусы
Физический robots.txtЕсть доступ к корню сайтаПрозрачно, просто проверитьНужно следить за конфликтами с SEO-плагином
Фильтр robots_txtНужна генерация из WordPressУдобно в теме или мини-плагинеНеочевидно при наличии физического файла
SEO-плагинУже используется на сайтеЕсть интерфейс и sitemapЛегко задублировать правила вручную

Если у вас уже стоит SEO-плагин, сначала проверьте его настройки. Часто robots.txt лучше править там, а не в теме. Если нужен более широкий набор инструментов для чистки дублей и технической оптимизации, можно посмотреть Clearfy Pro: https://wpshop.ru/plugins/clearfy.

Проверка результата после внедрения

После правки не ограничивайтесь открытием файла в браузере. Проверьте несколько уровней:

  • robots.txt открывается по адресу https://site.ru/robots.txt без редиректов и ошибок;
  • в файле нет дублирующихся блоков User-agent: * с разными правилами;
  • служебные URL действительно получают запрет на обход;
  • карта сайта указана корректно и ведёт на существующий файл;
  • в Google Search Console нет резкого роста ошибок сканирования из-за слишком жёсткой блокировки.

Для быстрой локальной проверки можно использовать curl:

curl -I https://example.com/robots.txt
curl https://example.com/robots.txt

Если сайт отдаёт не тот файл, который вы ожидали, ищите конфликт: кэш, CDN, SEO-плагин или физический файл в корне.

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

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

Ошибка выглядит так: в robots.txt попадает Disallow: / или блокируются важные разделы, включая записи и страницы. Исправление простое — оставить только технические пути и проверить, не перекрывает ли правило нужные URL.

Путают robots.txt и noindex

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

Дублируют правила в плагине и в файле

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

Забывают про sitemap

Если карта сайта не указана, поисковику сложнее быстро переобходить нужные страницы. Это не критическая ошибка, но для технически чистого сайта sitemap лучше держать в robots.txt.

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

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

Не добавляйте в robots.txt секретные пути, если рассчитываете скрыть их от людей. Это плохая практика: файл публичный, и его содержимое видно всем.

Для больших сайтов полезно периодически сверять robots.txt с реальными логами обхода. Часто оказывается, что закрывают не те URL, а лишний мусор продолжает тратить crawl budget. В таких случаях сначала чистят структуру архива, потом правила индексации, и только затем robots.txt.

Если после правки сайт начал вести себя странно в поиске, верните предыдущую версию файла и сравните изменения построчно. В технических настройках WordPress это обычно быстрее, чем искать проблему по всему стеку.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше