Как отключить XML sitemap в WordPress, если карту сайта генерирует тема или плагин

Ситуация типовая: в /sitemap.xml или /wp-sitemap.xml открывается карта сайта, но в ней дублируются URL, часть разделов лишняя, а в Search Console появляются несколько источников sitemap. Обычно проблема не в самом XML, а в том, что карту генерируют сразу два механизма: ядро WordPress и SEO-плагин, либо тема и плагин вместе.

Ниже разберём, как быстро определить источник, отключить лишнее без поломки индексации и проверить результат на практике.

Когда нужно отключать XML sitemap

Отключать карту сайта имеет смысл не «на всякий случай», а когда есть конкретный конфликт. Например:

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

Если карта сайта одна, корректно отдаёт 200 OK и содержит только нужные URL, отключать её не нужно. Важно не «убрать sitemap», а оставить один управляемый источник.

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

Сначала нужно понять, откуда приходит XML. В WordPress это может быть:

1. Ядро WordPress

Начиная с WordPress 5.5, базовая XML-карта доступна по адресу /wp-sitemap.xml. Если SEO-плагин не вмешивается, именно она будет открываться по умолчанию.

2. SEO-плагин

Yoast SEO, Rank Math, All in One SEO и похожие плагины обычно подменяют или расширяют карту сайта. У них есть собственные настройки включения и исключения типов контента.

3. Тема или кастомный код

Иногда разработчик темы добавляет собственный endpoint, редирект или правило переписывания. Это реже, но именно такие случаи чаще всего ломают диагностику: в админке всё выглядит нормально, а по факту открывается не тот файл.

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

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

Ищите:

  • 200 OK — карта отдается напрямую;
  • 301/302 — есть редирект, возможно на другой sitemap;
  • X-Robots-Tag или нестандартные заголовки — иногда их добавляет плагин безопасности или кеширующий слой.

Если нужно быстро понять, какой sitemap активен в WordPress, проверьте настройки SEO-плагина и наличие фильтров в теме. Для поиска по коду достаточно grep по папке темы и mu-plugins:

grep -R "sitemap" wp-content/themes wp-content/mu-plugins wp-content/plugins -n

Пошаговое решение: как отключить лишний sitemap

Ниже — рабочая схема, которая подходит для большинства установок. Сначала отключаем лишний источник, потом проверяем, что остался один корректный sitemap.

Шаг 1. Оставьте только один генератор

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

Для отключения sitemap ядра WordPress используйте фильтр wp_sitemaps_enabled. Добавьте код в functions.php дочерней темы или в собственный плагин:

add_filter( 'wp_sitemaps_enabled', '__return_false' );

Это отключит базовую XML-карту /wp-sitemap.xml. После этого убедитесь, что SEO-плагин действительно генерирует свою карту, иначе сайт останется без sitemap.

Шаг 2. Если sitemap генерирует SEO-плагин, отключите его в настройках

У большинства SEO-плагинов есть отдельный переключатель XML sitemap. Это предпочтительнее, чем править код, потому что плагин сам уберёт связанные правила и ссылки.

Проверьте:

  • включена ли XML sitemap в настройках плагина;
  • не отключены ли нужные типы записей и таксономии;
  • не добавляет ли плагин отдельные sitemap для изображений, видео или новостей без необходимости.

Если вы используете несколько SEO-инструментов одновременно, оставьте только один, который отвечает за sitemap. Два активных генератора почти всегда создают лишние редиректы и дубли.

Шаг 3. Уберите sitemap из robots.txt, если он указывает на старый адрес

После отключения старой карты сайта проверьте robots.txt. Там часто остаётся ссылка на неактуальный sitemap, и поисковик продолжает ходить по нему.

Если robots.txt формируется вручную, обновите строку:

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

Если sitemap больше не нужен, строку можно убрать совсем. Но если у сайта есть актуальная карта, лучше оставить один правильный адрес.

Шаг 4. Очистите кеш и проверьте редиректы

После изменений очистите:

  • кеш плагина;
  • серверный кеш, если он есть;
  • CDN-кеш;
  • кеш браузера для проверки вручную.

Иначе вы можете увидеть старую карту сайта и решить, что отключение не сработало.

Если sitemap создаёт кастомный код: как отключить точечно

Иногда в теме или плагине есть собственный фильтр, который добавляет URL в карту сайта или подменяет её поведение. В таком случае удобнее не удалять код целиком, а отключить конкретный участок через фильтр или условие.

Пример: если тема подключает собственную карту через rewrite rule и template redirect, можно временно снять обработчик, если он зарегистрирован через add_action. Но делать это нужно только после того, как вы нашли точное место подключения. Универсального «отключить всё, что связано с sitemap» в WordPress нет.

Если вы пишете свой код, безопаснее опираться на стандартный фильтр ядра, а не изобретать отдельный endpoint. Тогда отключение будет проще и предсказуемее.

add_filter( 'wp_sitemaps_posts_query_args', function( $args, $post_type ) {
    if ( 'post' === $post_type ) {
        $args['post_status'] = array( 'publish' );
    }
    return $args;
}, 10, 2 );

Этот пример не отключает sitemap целиком, а ограничивает выборку. Подход полезен, если проблема не в наличии карты, а в том, что в неё попадают лишние записи.

Сравнение подходов

ПодходКогда подходитМинус
Отключить sitemap ядра через wp_sitemaps_enabledЕсли карту полностью берёт на себя SEO-плагинНужно убедиться, что плагин реально активен и отдаёт sitemap
Отключить sitemap в SEO-плагинеЕсли нужен только базовый sitemap ядраМеньше гибкости по исключениям и типам контента
Оставить оба источникаПочти никогдаДубли, путаница в robots.txt и лишние обходы

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

После отключения лишнего источника проверьте не только открытие URL, но и то, как sitemap видит поисковик.

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

  • открывается ли нужный sitemap по правильному адресу;
  • нет ли редиректа на старую карту;
  • в XML остались только нужные разделы;
  • в robots.txt указан один актуальный адрес;
  • страница sitemap не закрыта случайно в noindex или через заголовки сервера.

Что проверить в Search Console

В разделе sitemap удалите старую карту, если она больше не нужна, и отправьте новую. После этого смотрите:

  • статус обработки;
  • ошибки загрузки;
  • количество обнаруженных URL;
  • нет ли повторяющихся адресов в нескольких sitemap.

Если Search Console продолжает показывать старый файл, проверьте, не остался ли он в кеше CDN или в старом robots.txt.

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

Отключили не тот sitemap

Частая ошибка — выключить /wp-sitemap.xml, а потом удивляться, что SEO-плагин тоже перестал отдавать карту. Перед изменением кода убедитесь, какой именно endpoint используется в продакшене.

Оставили старую ссылку в robots.txt

Поисковик продолжает ходить по старому адресу, даже если файл уже не нужен. Исправление простое: обновить или удалить строку Sitemap:.

Не очистили кеш

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

Смешали несколько SEO-плагинов

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

Отключили sitemap, но не настроили альтернативу

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

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

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

  • не генерируйте sitemap на лету несколькими плагинами одновременно;
  • не добавляйте в карту служебные и закрытые разделы;
  • не оставляйте старые rewrite rules после удаления плагина;
  • проверяйте, что sitemap не отдаёт персональные или приватные URL;
  • после миграции удаляйте устаревшие endpoint’ы и редиректы.

Если на сайте используется кеширование HTML, убедитесь, что sitemap не попадает под агрессивный кеш с долгим TTL. Для XML это не всегда критично, но при частых обновлениях контента лучше, чтобы карта обновлялась предсказуемо.

Если нужен более широкий аудит дублей и технической чистки, иногда удобнее использовать инструменты вроде Clearfy Pro, но только как вспомогательный слой. Основная логика всё равно должна быть понятной: один источник sitemap, один актуальный адрес, одна проверка в Search Console.

Мини-чек-лист перед публикацией изменений

  • Определён единственный источник sitemap.
  • Старый sitemap отключён или перенаправлен осознанно.
  • В robots.txt указан только актуальный адрес.
  • Кеш на сайте и CDN очищен.
  • XML открывается без ошибок и отдаёт 200 OK.
  • В Search Console отправлен новый sitemap.

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

Как отключить XML sitemap в WordPress, если карту сайта генерирует тема или плагин
19.08.2026
Как закрыть дубли страниц пагинации в WordPress и не сломать индексацию
16.08.2026