Как отключить XML Sitemap в WordPress без плагинов и не сломать индексацию

Встроенная XML Sitemap в WordPress полезна не всегда. На живых проектах чаще проблема не в самом файле карты сайта, а в том, что он дублирует карту от SEO-плагина, отдаёт лишние URL или мешает контролю индексации после миграции. Если у вас уже есть sitemap из Yoast, Rank Math, Clearfy Pro или другого SEO-инструмента, встроенную карту лучше отключить и оставить один источник правды.

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

Когда встроенную XML Sitemap действительно стоит отключить

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

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

Быстрая диагностика проблемы

Сначала проверьте, какая sitemap реально открывается в браузере и что в ней лежит. Для этого достаточно трёх шагов:

  1. Откройте https://ваш-домен/wp-sitemap.xml.
  2. Проверьте, не отдаёт ли сайт одновременно карту от плагина, например /sitemap_index.xml или другой URL.
  3. Сравните список URL в обеих картах: если они пересекаются, у вас дублирование.

Если в Search Console уже отправлены обе карты, сначала не удаляйте их вслепую. Сначала отключите одну, дождитесь повторного обхода и убедитесь, что в отчётах не растёт число ошибок 404 или исключённых страниц.

Как отключить XML Sitemap в WordPress кодом

Встроенная sitemap отключается через фильтр wp_sitemaps_enabled. Это штатный механизм WordPress, без выдуманных хуков и без правки ядра. Самый безопасный способ — добавить код в дочернюю тему или в небольшой mu-plugin.

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

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

<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
    unset( $post_types['attachment'] );
    return $post_types;
} );

add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
    unset( $taxonomies['post_tag'] );
    return $taxonomies;
} );

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

Куда лучше вставить код

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

<?php
/**
 * Plugin Name: Disable Core XML Sitemap
 */

add_filter( 'wp_sitemaps_enabled', '__return_false' );

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

Что делать, если sitemap нужна, но не встроенная

Иногда отключать карту полностью нельзя: сайт ещё не подключил SEO-плагин, а поисковикам нужна актуальная карта. В таком случае сначала подготовьте замену, потом отключайте встроенную версию.

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

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

Пошаговая проверка после внедрения

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

Чек-лист проверки

  • Откройте /wp-sitemap.xml — должен быть 404 или пустой ответ, если карта отключена полностью.
  • Проверьте карту от SEO-плагина — она должна открываться без ошибок.
  • Посмотрите исходный код главной страницы и шаблонов: не осталось ли старых ссылок на wp-sitemap.xml.
  • Проверьте robots.txt: там не должно быть конфликтующих указаний на старую карту.
  • В Search Console отправьте только актуальную sitemap и дождитесь переобхода.

Если вы работаете через WP-CLI, можно быстро проверить HTTP-ответ:

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

Для отключённой sitemap ожидаем не 200 OK, а другой код ответа, чаще всего 404. Если страница всё ещё открывается, значит фильтр не применился или код лежит не в том месте.

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

Код добавили в тему, а после обновления он исчез

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

Отключили sitemap, но в Search Console осталась старая ссылка

Это не баг WordPress. Поисковик хранит старую карту до следующего обхода. Удалите устаревшую sitemap из Search Console вручную и отправьте новую. Не ждите мгновенного обновления отчётов.

Отключили встроенную карту, а SEO-плагин тоже перестал отдавать sitemap

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

В robots.txt осталась ссылка на несуществующую карту

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

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

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

Если вы отключаете встроенную карту ради SEO-плагина, не держите одновременно несколько решений, которые генерируют одно и то же. Это касается и плагинов, и ручных правок в теме, и сторонних сервисов. Один источник карты сайта — нормальная практика для поддерживаемого проекта.

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

Когда лучше не отключать встроенную sitemap

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

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

Как использовать фильтр pre_get_posts для правильной работы пагинации на страницах архива в WordPress
18.05.2026
Как использовать WP-Cron для автоматического удаления заброшенных корзин в WooCommerce
26.06.2026
Как отключить XML Sitemap в WordPress без плагинов и не сломать индексацию
22.08.2026
Как сделать защиту от bruteforce в WordPress с помощью плагинов и кода
25.03.2026
Как создать свой шорткод в WordPress с примером кода
06.11.2025