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

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

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

Когда проблема видна не сразу

Обычно тревожные сигналы такие:

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

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

Что именно нужно убрать из sitemap

Перед правкой стоит зафиксировать список объектов. Обычно это один из таких вариантов:

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

Если вы не уверены, сначала проверьте, кто именно генерирует sitemap: ядро WordPress или SEO-плагин. У них разные точки управления.

Диагностика: кто отдаёт sitemap и где его править

Проверяем источник карты сайта

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

Дальше проверьте, есть ли в теме или плагинах фильтры, которые уже меняют поведение sitemap. Часто проблема не в WordPress, а в том, что один плагин добавляет URL, а другой пытается их скрыть только через noindex.

Быстрая проверка через исходный XML

Если карта сайта доступна по URL, откройте её исходник и найдите нужный тип страниц. Это можно сделать даже без доступа к панели:

curl -s https://example.com/wp-sitemap.xml | grep -i "portfolio"

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

Решение через код: исключаем типы записей и таксономии из sitemap WordPress

В ядре WordPress для этого есть фильтры. Самый полезный — wp_sitemaps_post_types для типов записей и wp_sitemaps_taxonomies для таксономий. Их удобно использовать в дочерней теме или в небольшом функциональном плагине.

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

    return $post_types;
} );

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

    return $taxonomies;
} );

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

Если нужно убрать только отдельные записи

Иногда тип записи нужен в sitemap, но несколько конкретных URL — нет. Тогда используйте фильтр wp_sitemaps_posts_query_args и исключайте записи по ID или по метаполю, если у вас есть признак технической публикации.

<?php
add_filter( 'wp_sitemaps_posts_query_args', function( $args, $post_type ) {
    if ( 'post' !== $post_type ) {
        return $args;
    }

    $args['post__not_in'] = array( 123, 456 );

    return $args;
}, 10, 2 );

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

Решение через SEO-плагин: когда код не нужен

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

ПодходКогда подходитКомпромисс
Код через фильтры WordPressНужна точная логика и контроль версийТребует доступа к коду и тестирования после обновлений
Настройки SEO-плагинаНужно быстро убрать разделы без разработкиЗависит от интерфейса и возможностей конкретного плагина
Оставить как есть и поставить noindexРедкий случай, когда URL должен быть доступен, но не индексироватьсяЛишние URL всё равно остаются в sitemap и обходятся роботом

Если вы используете Clearfy Pro, часть таких задач можно закрыть через его инструменты для удаления дублей и технической чистки сайта: https://wpshop.ru/plugins/clearfy. Но даже в этом случае полезно понимать, что именно отключается и на каком уровне.

Пошагово: безопасная схема внедрения

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

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

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

Проверка должна быть не на глаз, а по факту:

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

Если URL всё ещё видны, чаще всего причина одна из трёх: кэш, конфликт плагинов или вы отключили не тот источник sitemap.

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

Отключили страницу от индексации, но не убрали из sitemap

Это самая частая ошибка. noindex не убирает URL из карты сайта. Если цель — не показывать страницу поисковику вообще, убирайте её из sitemap на уровне генерации.

Правят не тот sitemap

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

Не очищают кэш

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

Удаляют URL из sitemap, но не закрывают доступ к ним

Это не всегда ошибка, но важно понимать последствия. Если страница должна быть недоступна, одного исключения из sitemap мало. Тогда нужен отдельный сценарий: редирект, 404/410 или ограничение доступа.

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

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

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

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

Вам также может быть интересно:

Как использовать WPGPT для автоматического создания контента в WordPress
03.10.2026
Как настроить автоматический импорт постов в WordPress из RSS-лент
03.10.2026
Как настроить отложенный запуск функций в WordPress с помощью Cron
03.10.2026
Как автоматизировать создание резервных копий WordPress: лучшие плагины и примеры кода
03.10.2026
Как найти и отключить лишние редиректы в WordPress без потери SEO
23.08.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше