WordPress Notes WPDream

Как настроить robots.txt и sitemap в WordPress без конфликтов с SEO-плагином

Ситуация типовая: SEO-плагин уже генерирует XML-карту сайта, а в robots.txt вы вручную добавили свои правила. После этого в Search Console появляются странные URL, карта сайта дублируется, а часть страниц выпадает из индекса. Проблема обычно не в самом WordPress, а в том, что правила для роботов и карта сайта начинают жить в разных местах и конфликтовать друг с другом.

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

Что обычно ломается в robots.txt и sitemap

В WordPress есть два разных слоя, которые часто путают:

  • robots.txt — текстовый файл с правилами для поисковых роботов;
  • XML sitemap — карта сайта, которую обычно отдаёт SEO-плагин или сам WordPress.

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

Признаки конфликта

  • в Search Console sitemap помечен как недоступный или содержит ошибки;
  • в robots.txt есть несколько строк Sitemap: с разными адресами;
  • в индексе появляются служебные страницы, которые вы хотели скрыть;
  • после смены SEO-плагина старый sitemap продолжает отдавать 404 или редиректится странно;
  • в исходном коде сайта видны ссылки на карту сайта от старого плагина и от нового одновременно.

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

Сначала проверьте, что именно сейчас отдаёт сайт. Это быстрее, чем гадать по настройкам плагина.

1. Откройте robots.txt в браузере

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

2. Посмотрите, какой sitemap реально открывается

Откройте адрес карты сайта, который указан в robots.txt или в настройках SEO-плагина. Если это Yoast, Rank Math или другой плагин, карта обычно лежит на отдельном URL, а не в корне сайта. Если адрес не открывается или отдаёт редирект на старый путь, это уже источник проблемы.

3. Сверьте карту сайта с индексируемыми разделами

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

Как настроить robots.txt без конфликтов

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

Базовый вариант через фильтр robots_txt

Если нужно добавить несколько правил, используйте фильтр robots_txt в functions.php дочерней темы или в небольшом mu-plugin. Пример ниже добавляет аккуратный набор директив и одну строку sitemap.

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

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

Этот вариант подходит, если вы точно знаете, что sitemap у вас лежит по адресу /sitemap_index.xml. Если SEO-плагин использует другой путь, подставьте его реальный URL.

Если sitemap генерирует SEO-плагин

Не прописывайте вручную второй sitemap, если плагин уже добавляет его сам. Двойная строка Sitemap: не даёт пользы и иногда путает диагностику. Лучше оставить один источник правды: либо плагин, либо ваш код.

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

Как убрать дубли sitemap после смены SEO-плагина

Частая ошибка — старый плагин отключили, а его sitemap всё ещё указан в robots.txt или в кэше CDN. В итоге поисковик видит старый адрес, получает редирект или 404, и это засоряет отчёты.

Что проверить в первую очередь

  1. Откройте /robots.txt и убедитесь, что там только один актуальный Sitemap:.
  2. Проверьте, не осталась ли ссылка на старый sitemap в шаблоне темы, в хедере или в настройках плагина.
  3. Очистите кэш сайта, серверный кэш и CDN, если он есть.
  4. Проверьте, не отдаёт ли старый sitemap 301/302 вместо 404 — для диагностики это важно.

Пример проверки через WP-CLI

Если у вас есть доступ к командной строке, быстро проверьте, что отдаёт сайт:

wp option get blog_public
curl -I https://example.com/robots.txt
curl -I https://example.com/sitemap_index.xml

Первая команда полезна, если сайт случайно закрыт от индексации через настройку blog_public. Вторая и третья показывают статус ответа и помогают понять, не мешает ли редирект или кэш.

Пошаговая настройка без лишних рисков

Шаг 1. Определите источник sitemap

Если sitemap создаёт SEO-плагин, не дублируйте его в коде. Если плагина нет, можно использовать встроенную карту сайта WordPress, но тогда проверьте, устраивает ли вас её структура и набор записей.

Шаг 2. Уберите лишние директивы

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

Шаг 3. Добавьте только актуальный sitemap

Одна строка Sitemap: достаточно. Если у вас мультиязычный сайт или несколько карт сайта от разных систем, сначала проверьте, не конфликтуют ли они между собой.

Шаг 4. Очистите кэш

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

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

Проверять нужно не только сам файл, но и то, как его видит поисковик.

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

Если после правок sitemap всё ещё не обновляется, почти всегда виноват кэш или то, что SEO-плагин продолжает перезаписывать ваши изменения своими настройками.

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

Два sitemap в robots.txt

Такое бывает после миграции с одного SEO-плагина на другой. Решение простое: оставьте только один актуальный адрес и проверьте, не добавляет ли второй строку автоматически.

Закрыли важные разделы через Disallow

Если вы закрыли /wp-content/ целиком, это может мешать рендерингу страниц. Закрывайте только то, что действительно не должно индексироваться, а не весь каталог наугад.

Sitemap ведёт на редирект

Редирект сам по себе не катастрофа, но для карты сайта лучше прямой URL без лишней цепочки. Если адрес поменялся, обновите его в настройках плагина или в коде.

Файл robots.txt не меняется

Если вы редактируете физический файл, а в браузере видите старое содержимое, значит WordPress или плагин отдаёт виртуальную версию. В этом случае править нужно не FTP-файл, а фильтр или настройки плагина.

Когда лучше править через плагин, а когда через код

Если сайт ведётся редактором или SEO-специалистом без доступа к коду, удобнее оставить управление в плагине. Если проект технический, а правила должны быть под контролем разработчика, фильтр robots_txt или mu-plugin надёжнее: он не зависит от темы и не исчезнет при обновлении шаблона.

Для проектов, где важна чистка дублей и аккуратная SEO-настройка, иногда проще использовать один инструмент вместо набора разрозненных правок. Например, Clearfy Pro закрывает часть задач по дублям и технической оптимизации, но даже в таком случае полезно понимать, что именно он меняет в robots.txt и sitemap, чтобы не ловить конфликты после обновлений.

Практический минимум для безопасной настройки

  • не храните две версии robots.txt одновременно;
  • не добавляйте sitemap вручную, если его уже генерирует плагин;
  • после правок очищайте кэш на всех уровнях;
  • проверяйте ответ сервера для /robots.txt и sitemap;
  • не закрывайте ресурсы, нужные для рендеринга страниц;
  • сверяйте настройки индексации в SEO-плагине и в коде темы.

Если после всех проверок проблема остаётся, смотрите не только WordPress, но и серверные правила: .htaccess, nginx-конфиг, CDN и кэш-плагины. Именно там часто прячется причина, почему поисковик видит не тот файл, который вы только что отредактировали.

}
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее