Как отключить XML sitemaps в WordPress и заменить их своим решением

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

Если у вас уже есть рабочая карта сайта и вы хотите убрать стандартную генерацию WordPress, задача решается без вмешательства в ядро. Ниже разберём, когда это действительно нужно, как отключить встроенные XML sitemaps, чем заменить их при необходимости и как проверить, что после изменений сайт не потерял важные URL.

Когда встроенные sitemap WordPress мешают

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

Типовые сценарии

  • SEO-плагин уже отдаёт собственный sitemap_index.xml, а WordPress дополнительно публикует /wp-sitemap.xml.
  • Нужно исключить часть контента по бизнес-логике, а стандартные sitemap не дают достаточно гибкости.
  • На сайте есть нестандартные типы записей, таксономии или мультиязычность, и удобнее собирать карту сайта вручную.
  • При аудите индексации в Search Console видно несколько карт сайта, которые дублируют одни и те же URL.

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

Диагностика: кто сейчас отдаёт sitemap

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

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

  1. Откройте /wp-sitemap.xml и посмотрите, отдаётся ли стандартная карта WordPress.
  2. Проверьте, не генерирует ли SEO-плагин свой индекс, например /sitemap_index.xml.
  3. Посмотрите исходный код главной страницы и шаблонов на наличие ссылок на sitemap.
  4. Если есть доступ к Search Console, сравните, какой sitemap добавлен вручную и какой индексируется.

Если одновременно доступны /wp-sitemap.xml и карта сайта плагина, это уже повод оставить только один вариант. Два индекса не дают пользы, но усложняют контроль.

Как отключить XML sitemaps в WordPress

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

Вариант через functions.php

Если вы управляете темой и не хотите ставить отдельный плагин для одной строки, добавьте код в functions.php дочерней темы или в собственный mu-plugin.

<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );

После этого стандартный адрес /wp-sitemap.xml должен перестать открываться как sitemap WordPress. Если на сайте есть другой механизм, он продолжит работать отдельно.

Вариант через mu-plugin

Для проектов, где изменения не должны зависеть от темы, лучше использовать mu-plugin. Такой код не выключится после смены шаблона.

<?php
/**
 * Plugin Name: Disable Core XML Sitemaps
 */
add_filter( 'wp_sitemaps_enabled', '__return_false' );

Файл положите в wp-content/mu-plugins/. Если папки нет, создайте её вручную. Это удобный вариант для технических правок, которые должны жить отдельно от темы.

Чем заменить встроенную карту сайта

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

ПодходКогда подходитМинус
SEO-плагин с собственным sitemapЕсли уже используется Yoast SEO, Rank Math или аналогНужно следить за настройками и не дублировать URL
Кастомный sitemap через кодЕсли структура сайта нестандартная и нужна точная логикаНужно поддерживать код и тестировать обновления
Оставить встроенный sitemap WordPressЕсли сайт простой и дополнительных требований нетМеньше контроля над составом URL

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

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

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

Что проверить по шагам

  • Откройте /wp-sitemap.xml и убедитесь, что он больше не отдаёт стандартный индекс WordPress.
  • Проверьте sitemap вашего SEO-плагина или кастомного решения.
  • Посмотрите HTTP-статус ответа: для отключённого sitemap не должно быть случайного 200 с пустым содержимым.
  • Если sitemap был добавлен в Search Console, проверьте, не появились ли ошибки обхода или дубли.

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

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

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

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

Отключили sitemap, но забыли включить замену

Это самая неприятная ошибка. После отключения встроенного механизма сайт может остаться без актуальной карты. Решение простое: сначала убедитесь, что новый sitemap уже работает, и только потом отключайте старый.

Правят код в родительской теме

Если фильтр добавлен в родительскую тему, он может исчезнуть после обновления или смены шаблона. Для таких правок лучше использовать дочернюю тему или mu-plugin.

Путают sitemap и robots.txt

Иногда карту сайта пытаются «выключить» через robots.txt. Это не отключает генерацию, а только скрывает ссылку от части ботов. Сам URL при этом продолжает существовать.

Ожидают, что Search Console обновится мгновенно

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

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

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

  • Не держите логику sitemap в functions.php, если проектом управляют несколько человек и тема часто обновляется.
  • Не отключайте встроенный sitemap без проверки альтернативы на staging-окружении.
  • Если sitemap генерируется кастомно, проверьте, не создаёт ли он лишние запросы к базе на каждом открытии.
  • После изменений очистите кеш страниц и, если есть, серверный кеш или CDN.

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

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

  • Проверен текущий sitemap-источник.
  • Встроенный wp-sitemap.xml отключён только после подготовки замены.
  • Новый sitemap открывается с корректным HTTP-статусом.
  • В Search Console добавлен актуальный sitemap.
  • Кеш сайта очищен.
  • Нет дублей URL в нескольких индексах sitemap.

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

Как отключить XML sitemaps в WordPress и заменить их своим решением
19.09.2026
Как отключить архив авторов в WordPress без потери индексации
16.09.2026
Как отключить emoji в WordPress без ломки верстки и лишних запросов
13.09.2026
Как отключить XML-RPC в WordPress без поломки входа и отложенных задач
10.09.2026
Как отключить дубли meta robots и canonical в WordPress без поломки SEO
07.09.2026

Как очистить код от лишнего кода, внешних ссылок, неправильных заголовков.