Как закрыть XML sitemap от индексации в WordPress и не сломать SEO

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

Если у вас в выдаче всплывает /sitemap.xml, /post-sitemap.xml или карта сайта от SEO-плагина, это не всегда проблема. Но если sitemap индексируется как отдельный URL, а в robots.txt есть конфликтующие правила, лучше привести конфигурацию в порядок. Ниже — рабочий сценарий для WordPress без выдуманных хуков и без опасных правок ядра.

Когда sitemap вообще нужно ограничивать

Сама по себе XML-карта сайта не должна ранжироваться как полезная страница для пользователя. Поисковики обычно воспринимают ее как технический файл. Проблемы начинаются, когда:

  • в robots.txt случайно закрыт доступ к самой карте сайта;
  • в CMS или плагине генерируется несколько карт, и часть из них отдает 200 OK, но не нужна для обхода;
  • в поиске индексируется не sitemap, а HTML-страница с тем же URL после конфликта маршрутизации;
  • на сайте есть старые карты сайта от плагина, который уже удален, но URL остались доступны.

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

Диагностика: что именно не так с sitemap

Начните с трех проверок. Они занимают несколько минут и сразу показывают, где проблема.

1. Проверить ответ сервера

Откройте карту сайта в браузере и посмотрите код ответа. Для XML sitemap нормален 200 OK. Если вместо XML вы видите HTML-страницу, редирект или ошибку, сначала чините это, а не robots.txt.

curl -I https://example.com/sitemap.xml

Смотрите на:

  • HTTP/2 200 или HTTP/1.1 200 OK;
  • content-type: application/xml или похожий XML-тип;
  • отсутствие лишних редиректов.

2. Проверить robots.txt

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

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

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

Если у вас Yoast SEO, Rank Math или другой SEO-плагин, он обычно сам добавляет строку Sitemap:. Ручная правка нужна только если плагин не справляется или robots.txt формируется сторонним кешем.

3. Проверить, что именно попало в индекс

Иногда в индексе оказывается не XML, а старая HTML-страница с похожим URL. Проверьте запросом вида site:example.com sitemap и в Search Console посмотрите, какой именно адрес найден. Это важно: для XML-файла и для HTML-страницы решения будут разными.

Рабочие варианты решения

Ниже — три подхода. Выбор зависит от того, кто у вас генерирует sitemap и насколько жестко вы хотите управлять доступом.

ВариантЧто делаетКогда подходитКомпромисс
Через SEO-плагинМеняет sitemap и robots.txt из админкиЕсли sitemap генерирует Yoast SEO, Rank Math или аналогЗависимость от логики плагина
Через кодДобавляет/меняет правила robots.txtЕсли нужен точечный контрольНужно следить за обновлениями темы и плагинов
Через серверОграничивает доступ на уровне nginx/apacheЕсли нужно закрыть старый файл или нестандартный URLМожно случайно сломать доступ поисковикам

Вариант 1. Исправить robots.txt через WordPress

Если вам нужно добавить строку с картой сайта или убрать конфликтующее правило, можно использовать фильтр robots_txt. Это штатный способ WordPress, без правки файлов ядра.

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

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

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

Вариант 2. Убрать sitemap из индекса через заголовки или запрет доступа

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

То есть практический сценарий такой: не закрывать sitemap от чтения, а убрать его из результатов поиска. Для этого:

  1. проверьте, что sitemap отдает XML и 200 OK;
  2. убедитесь, что на URL нет HTML-оболочки;
  3. в Search Console отправьте запрос на удаление устаревшего URL, если он уже в индексе;
  4. не ставьте Disallow на сам sitemap, если хотите сохранить его пользу для обхода.

Вариант 3. Отключить лишние карты сайта в SEO-плагине

Если у вас несколько типов контента, часть карт может быть не нужна. Например, на сайте без медиа-архива не имеет смысла держать отдельную карту для attachment-страниц, если они отключены или закрыты. В Yoast SEO и Rank Math это обычно настраивается в интерфейсе, без кода.

Смысл здесь не в том, чтобы «спрятать sitemap», а в том, чтобы не генерировать лишние URL, которые потом приходится чистить из индекса. Это особенно полезно на старых сайтах, где накопились архивы, вложения и таксономии без ценности для поиска.

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

  1. Определите, кто генерирует sitemap: WordPress core, SEO-плагин или кастомный код.
  2. Проверьте, какой URL реально открывается: /sitemap.xml, /sitemap_index.xml или набор вложенных карт.
  3. Убедитесь, что robots.txt не блокирует сам sitemap.
  4. Если sitemap уже в индексе, не закрывайте его от робота полностью — сначала удалите URL из выдачи через Search Console.
  5. Удалите старые карты сайта, если они остались после миграции плагина.
  6. Очистите серверный кеш, кеш плагина и CDN.

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

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

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

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

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

Если после очистки кеша старый sitemap все еще виден в выдаче, подождите переобхода и проверьте, не отдает ли CDN старую версию файла. На практике это одна из самых частых причин «я все исправил, а в поиске ничего не поменялось».

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

Закрыли sitemap в robots.txt

Это самая вредная ошибка. Поисковик перестает использовать карту для обхода, а вы теряете контроль над тем, как он видит сайт. Если цель — убрать URL из выдачи, используйте удаление из индекса, а не полный запрет доступа к sitemap.

Оставили старый sitemap после смены плагина

После перехода с одного SEO-плагина на другой старый адрес карты может продолжать отдавать 200 OK или редиректить на неактуальный файл. Проверьте старые URL вручную и удалите лишние правила на сервере, если они остались.

Смешали XML sitemap и HTML-страницу с тем же адресом

Так бывает при конфликте rewrite-правил или кастомных шаблонов. В этом случае поисковик может индексировать не карту сайта, а обычную страницу. Решение — проверить правила пермалинков, отключить конфликтующий шаблон и убедиться, что URL отдает именно XML.

Не очистили кеш после правок

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

Безопасность и производительность

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

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

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

Как закрыть от индексации технические страницы WordPress
23.08.2026
Как закрыть от индексации страницы автора в WordPress
26.08.2026
Как закрыть дубли страниц от пагинации в WordPress: noindex, canonical и robots.txt
20.08.2026
Как закрыть XML sitemap от индексации в WordPress и не сломать SEO
30.08.2026
×
Прокачай свой WordPress!

Скидка -20% на премиум темы и плагины

Воспользоваться сейчас ⋙