wplinks.ru wordpress WPLinks.ru

Как настроить robots.txt в WordPress после установки плагинов кэширования и SEO

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

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

Что обычно идет не так

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

  • в /robots.txt открывается не тот набор правил, который вы ожидали;
  • в файле есть несколько блоков User-agent: * с противоречивыми директивами;
  • закрыты важные разделы вроде /wp-content/uploads/ или, наоборот, открыты служебные URL плагинов;
  • в Search Console продолжают индексироваться страницы поиска, архивы, параметры и внутренние служебные адреса;
  • после обновления SEO-плагина правила меняются сами.

Диагностика: какой robots.txt сейчас отдается

Сначала нужно понять, кто именно формирует файл. Откройте в браузере https://ваш-домен.ru/robots.txt и сравните содержимое с тем, что лежит на сервере, если у вас есть физический файл в корне. Если файл физический есть, а в браузере показывается другой текст, значит его перехватывает WordPress или плагин.

Полезно проверить и заголовки ответа:

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

Здесь важны не столько заголовки, сколько сам факт, что URL отдается без редиректов и без 404. Если вместо текста robots.txt вы видите HTML-страницу темы или ошибку, сначала чините серверную конфигурацию, а уже потом правила.

Что искать в содержимом файла

Проверьте три вещи:

  • есть ли блок User-agent: *;
  • не закрыт ли случайно весь сайт через Disallow: /;
  • не дублируются ли директивы от разных плагинов.

Если у вас установлен SEO-плагин, он может добавлять карту сайта и базовые правила. Это нормально, но только если вы понимаете, кто главный источник файла. Когда источников два, начинаются конфликты.

Как собрать рабочий robots.txt для WordPress

Для большинства сайтов достаточно короткого и понятного файла. Он не должен пытаться «лечить SEO» сам по себе. Его задача — не пускать поисковик в служебные и бесполезные разделы, но не мешать индексации контента.

Пример базового варианта:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Disallow: /feed/
Disallow: /comments/feed/

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

Этот вариант не универсален, но он показывает логику: закрываем админку, поиск и служебные фиды, а карту сайта указываем явно. Если у вас другой URL sitemap, подставьте фактический адрес, который отдает SEO-плагин или ядро сайта.

Когда нужно добавлять дополнительные правила

Дополнительные директивы нужны только если на сайте реально есть проблемные URL. Например:

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

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

Пошаговое решение без конфликтов с плагинами

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

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

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

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

Вариант 2: фильтр WordPress для виртуального robots.txt

Если физический файл использовать неудобно, можно отдать содержимое через WordPress. Для этого подходит фильтр robots_txt. Пример для functions.php дочерней темы или собственного мини-плагина:

<?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 );

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

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

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

  1. URL /robots.txt отдает нужный текст без редиректов и ошибок;
  2. в коде страницы нет конфликтующих ссылок на sitemap или служебные разделы;
  3. в Search Console нет новых массовых ошибок обхода, связанных с закрытыми URL.

Если используете Google Search Console, откройте отчет по robots.txt и проверьте, не блокируете ли вы случайно важные ресурсы. Особенно это касается CSS, JS и изображений, если тема или плагин завязаны на их загрузку для рендеринга.

Еще один практический тест — запросить конкретный URL, который должен быть закрыт, и убедиться, что он не индексируется в обходе. Но помните: robots.txt не удаляет уже проиндексированные страницы. Для удаления из индекса нужны noindex, редирект или 404/410 в зависимости от сценария.

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

Закрыли весь сайт одной строкой

Ошибка выглядит так: Disallow: / попадает в файл по ошибке после копирования чужого шаблона. В результате поисковик перестает обходить сайт почти полностью. Исправление простое: уберите эту строку и оставьте только точечные запреты.

Оставили два источника robots.txt

Физический файл в корне и настройка в SEO-плагине одновременно — частая причина странного поведения. Решение: выберите один источник правды. Если нужен физический файл, отключите генерацию robots.txt в плагине, если это предусмотрено настройками.

Закрыли то, что должно быть доступно

Иногда в robots.txt по ошибке попадают /wp-content/uploads/, CSS или JS. Это может мешать рендерингу страниц и анализу сайта поисковиком. Проверьте, не блокируете ли вы ресурсы, которые нужны для отображения контента.

Ожидали мгновенного удаления из индекса

Robots.txt не удаляет URL из поиска сам по себе. Если страница уже в индексе, добавьте noindex на уровне страницы или настройте редирект/удаление в зависимости от задачи.

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

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

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

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

Если после правок robots.txt сайт ведет себя нестабильно, сначала очистите кэш плагина, серверный кэш и CDN, а уже потом делайте выводы. Иначе вы будете проверять старую версию файла и тратить время на ложные симптомы.

×

Время действовать!

Суперцены на
WordPress!

-20%
на премиум темы

Не упусти шанс ⋙