Как отключить XML sitemap в WordPress для ненужных типов страниц

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

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

Когда это действительно нужно

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

Типичные причины

  • в sitemap попали страницы вложений, которые не используются как отдельные посадочные;
  • в карту сайта добавлены служебные записи или CPT для внутренней работы;
  • плагин SEO генерирует собственный sitemap, а ядро WordPress — ещё один;
  • в карту сайта попадают пустые архивы, черновики или страницы с техническим контентом;
  • нужно исключить отдельные URL после миграции или редизайна.

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

Перед правкой проверьте, какой sitemap реально открывается на сайте. В WordPress с включённым ядром это обычно /wp-sitemap.xml. Если установлен SEO-плагин, карта сайта может быть другой: /sitemap_index.xml у Yoast, /sitemap.xml у некоторых других решений.

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

Полезно проверить и HTTP-ответ:

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

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

Как отключить ненужные разделы в XML sitemap

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

Исключить тип записей из sitemap

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

<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
    unset( $post_types['internal_note'] );
    unset( $post_types['landing_test'] );

    return $post_types;
} );

Здесь internal_note и landing_test — реальные примеры slug типа записей. Подставляйте свои значения из register_post_type().

Исключить таксономию из sitemap

Если проблема в архиве рубрик, меток или кастомной таксономии, используйте фильтр wp_sitemaps_taxonomies.

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

    return $taxonomies;
} );

Это не отключает таксономию на сайте вообще. Она просто перестаёт попадать в XML sitemap.

Исключить конкретные записи и страницы

Если нужно убрать отдельные страницы, а не весь тип, используйте фильтр wp_sitemaps_posts_query_args. Он позволяет исключать ID на уровне запроса.

<?php
add_filter( 'wp_sitemaps_posts_query_args', function( $args, $post_type ) {
    if ( 'page' === $post_type ) {
        $args['post__not_in'] = array( 12, 34, 56 );
    }

    return $args;
}, 10, 2 );

Такой подход удобен для страниц «Спасибо за заявку», внутренних инструкций или старых посадочных, которые ещё живут в базе, но не должны светиться в sitemap.

Если sitemap делает SEO-плагин

Когда карту сайта генерирует плагин, логика исключений зависит от конкретного решения. У Yoast, например, можно отключать отдельные типы контента в настройках индексации и sitemap. У Rank Math — через настройки sitemap и noindex для нужных типов. В этом случае не пытайтесь одновременно править ядро и плагин: сначала определите единственный источник sitemap.

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

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

Используйте этот вариант только если вы точно уверены, что SEO-плагин уже генерирует и обновляет sitemap. Иначе вы можете случайно оставить сайт без карты сайта вообще.

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

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

Пошаговое решение без лишних рисков

  1. Определите, какой sitemap сейчас используется: ядро WordPress или SEO-плагин.
  2. Проверьте, какие именно URL попадают в карту сайта и что нужно исключить.
  3. Если нужен точечный контроль, добавьте фильтры wp_sitemaps_post_types, wp_sitemaps_taxonomies или wp_sitemaps_posts_query_args.
  4. Если sitemap дублируется, оставьте только один источник генерации.
  5. Очистите кэш сайта и CDN, если он есть.
  6. Переоткройте sitemap и убедитесь, что лишние URL исчезли.

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

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

  • откройте /wp-sitemap.xml или sitemap вашего SEO-плагина;
  • проверьте, что исключённый тип записей больше не отображается;
  • сделайте curl -I и убедитесь, что sitemap отдаёт 200 OK;
  • посмотрите исходный XML и убедитесь, что в нём нет старых URL;
  • в Search Console проверьте, что новая версия карты сайта доступна без ошибок.

Если URL пропали из sitemap, но всё ещё доступны по прямой ссылке, это нормально. Sitemap и доступность страницы — разные вещи. Для полного исключения из индексации нужен отдельный контроль: noindex, удаление страницы или корректный редирект.

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

Отключили sitemap ядра, но забыли про SEO-плагин

В результате карта сайта исчезает полностью или остаётся в старом виде в кэше. Сначала проверьте, кто именно её генерирует, и только потом отключайте источник.

Путают noindex и sitemap

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

Исключают URL через robots.txt

Robots.txt не удаляет URL из карты сайта и не гарантирует их исчезновение из индекса. Если URL уже известен поисковику, нужен другой механизм: редирект, noindex или удаление из sitemap в сочетании с корректной обработкой страницы.

Правят functions.php на живом сайте без контроля

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

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

Фильтры sitemap почти не нагружают сайт, если не делать тяжёлые запросы внутри callback-функций. Не тяните данные из базы в цикле и не проверяйте десятки условий на каждой генерации без необходимости. Для исключения по ID достаточно массива, а для крупных сайтов лучше держать список исключений в конфигурации, а не в ручных правках темы.

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

Когда задача выходит за рамки точечной правки и нужно одновременно чистить sitemap, дубли, архивы и служебные страницы, имеет смысл посмотреть в сторону инструментов вроде Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wplink.ru&utm_medium=article&utm_campaign=otklyuchit-xml-sitemap-v-wordpress-dlya-nenuzhnyh-tipov-stranits. Но если нужна только одна точная настройка, код обычно надёжнее и прозрачнее.

Как закрыть дубли архивов авторов и тегов в WordPress
16.09.2026
Как закрыть дубли страниц пагинации в WordPress
19.09.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее