Как отключить XML sitemap в WordPress и убрать лишние карты сайта из индексации

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

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

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

Полностью выключать карту сайта имеет смысл редко. Чаще нужно убрать из неё отдельные типы контента: медиа-attachment страницы, служебные таксономии, архивы, тестовые CPT или дубли страниц, которые не должны участвовать в индексации. Если карта генерируется несколькими источниками одновременно, поисковик может получать противоречивые сигналы.

Проверьте, есть ли у вас один из этих сценариев:

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

Диагностика: откуда именно берётся sitemap

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

Проверка через браузер и ответ сервера

Откройте адреса, которые обычно используются для карт сайта:

  • /wp-sitemap.xml — стандартная карта WordPress;
  • /sitemap_index.xml — часто используется SEO-плагинами;
  • /sitemap.xml — иногда это алиас или отдельная карта плагина.

Если есть доступ к консоли, удобно проверить код ответа:

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

Нормальный результат для активной карты — 200 OK. Если вы ожидаете отключение, после правки должен появиться 404 или редирект на другой актуальный адрес, но не новая рабочая карта на старом пути.

Проверка через исходный код и robots.txt

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

Откройте /robots.txt и проверьте строки вида:

Sitemap: https://example.com/wp-sitemap.xml

Если вы меняете источник карты, robots.txt тоже нужно привести в порядок.

Как отключить XML sitemap в ядре WordPress

С версии 5.5 WordPress умеет генерировать базовую XML-карту без плагинов. Если у вас стоит отдельный SEO-плагин, именно ядро часто становится лишним источником дублирования. Отключается оно через фильтр wp_sitemaps_enabled.

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

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

Если нужно не выключать карту полностью, а убрать только конкретный тип записей, используйте фильтр wp_sitemaps_post_types:

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

Такой подход полезен, если вы хотите оставить в карте только записи блога и не светить служебные страницы.

Как отключить sitemap в SEO-плагине

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

ПодходЧто отключаетПлюсМинус
Настройки плагинаКарту сайта плагинаБез кода, проще поддерживатьНужно знать, где именно лежит опция
Фильтр в кодеТолько нужный тип или весь sitemapТочечный контрольНужно следить за обновлениями и приоритетами
Отключение ядра WordPress/wp-sitemap.xmlУбирает дублированиеНе влияет на sitemap плагина

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

Пошаговое решение без лишних дублей

Ниже рабочая последовательность, которая обычно помогает не сломать индексацию:

  1. Определите, какой sitemap сейчас открыт в браузере и какой из них указан в robots.txt.
  2. Проверьте, не генерирует ли карту ядро WordPress.
  3. Если у вас SEO-плагин, отключите sitemap в его настройках.
  4. Если карта ядра осталась, выключите её фильтром wp_sitemaps_enabled.
  5. Если нужно, оставьте только нужные типы записей через фильтры wp_sitemaps_post_types и wp_sitemaps_taxonomies.
  6. Обновите robots.txt, если там осталась старая ссылка.
  7. Проверьте ответ сервера и содержимое карты после правок.

Для точечной фильтрации таксономий можно использовать такой вариант:

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

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

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

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

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

Для быстрой проверки можно скачать карту и посмотреть, какие URL в неё попали:

curl -s https://example.com/wp-sitemap.xml | head -n 40

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

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

Отключили только ядро, а карта плагина осталась

Это самая частая путаница. Пользователь выключает wp-sitemap.xml, но в выдаче и в robots.txt всё ещё виден sitemap_index.xml. Решение простое: сначала определите источник, потом отключайте именно его.

Удалили sitemap, но оставили ссылку в robots.txt

Поисковик продолжает ходить по старому адресу и получает 404. Это не критично, но создаёт шум в отчётах. После отключения карты проверьте robots.txt и уберите устаревшую строку Sitemap:.

Скрыли карту, но не закрыли сами URL от индексации

Если страница доступна по прямой ссылке и не закрыта метатегом noindex или правилами robots, поисковик может найти её и без sitemap. Карта сайта — это подсказка, а не защита.

Редактируют родительскую тему

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

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

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

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

Если вам нужна не полная отмена sitemap, а аккуратная чистка дублей и служебных URL, имеет смысл посмотреть в сторону инструментов, которые позволяют управлять индексируемыми разделами точечно. Например, в Clearfy Pro есть функции для удаления дублей и технической чистки сайта: https://wpshop.ru/plugins/clearfy?utm_source=wpbe.ru&utm_medium=article&utm_campaign=otklyuchit-xml-sitemap-v-wordpress

Главная мысль простая: отключайте не «всё подряд», а только тот источник карты, который реально мешает индексации. Тогда вы не потеряете полезные сигналы для поисковиков и не оставите в выдаче лишние служебные URL.

⭐⭐⭐⭐⭐