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

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

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

Когда проблема действительно в sitemap

Не каждый «лишний» URL в отчёте — это ошибка. Иногда страница уже закрыта от индексации, но всё равно присутствует в карте сайта. Это допустимо, хотя и не очень аккуратно. Проблема становится практической, если:

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

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

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

Дальше проверьте три источника:

  1. настройки SEO-плагина;
  2. регистрацию post type и taxonomy в коде;
  3. фильтры темы или плагина, которые меняют поведение sitemap.

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

Способ 1: убрать URL через настройки SEO-плагина

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

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

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

Способ 2: исключить записи из sitemap кодом

Если нужен точечный контроль, удобнее использовать фильтр wp_sitemaps_posts_query_args. Он позволяет изменить запрос, который WordPress использует для генерации sitemap для записей. Это подходит, когда нужно убрать записи по ID, по метке, по статусу или по какому-то собственному признаку.

Пример: исключим из sitemap конкретные записи по ID. Код можно добавить в functions.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, 789 );

    return $args;
}, 10, 2 );

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

add_filter( 'wp_sitemaps_posts_query_args', function( $args, $post_type ) {
    if ( 'page' !== $post_type ) {
        return $args;
    }

    $args['meta_query'] = array(
        array(
            'key'     => '_exclude_from_sitemap',
            'value'   => '1',
            'compare' => '!=',
        ),
    );

    return $args;
}, 10, 2 );

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

Способ 3: убрать таксономии и архивы из sitemap

Частая проблема — в sitemap попадают категории, теги, архивы авторов или пользовательские таксономии, которые не несут ценности для поиска. Если вы используете ядро WordPress sitemap, для таксономий есть фильтр wp_sitemaps_taxonomies.

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

    return $taxonomies;
} );

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

Когда лучше не трогать архивы кодом

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

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

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

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

  1. Откройте sitemap в браузере и убедитесь, что URL исчез из нужного файла.
  2. Проверьте исходный XML, а не только визуальный вывод плагина.
  3. Если используете Google Search Console, отправьте sitemap на повторное сканирование.
  4. Проверьте, не остались ли внутренние ссылки на исключённые страницы.

Полезно дополнительно проверить заголовки ответа и статус URL. Если страница исключена из sitemap, но доступна по прямой ссылке, это нормально только в том случае, если вы сознательно оставляете её живой. Если страница должна исчезнуть полностью, нужен 404, 410 или редирект, а не только удаление из карты сайта.

Частые ошибки и почему они появляются

Удалили URL из sitemap, но он всё равно индексируется

Это ожидаемо. Sitemap — это подсказка для поисковика, а не команда на удаление. Если URL уже в индексе, одного исключения недостаточно. Нужны noindex, корректный canonical или удаление страницы с редиректом/ошибкой, в зависимости от сценария.

Скрыли страницу в SEO-плагине, но она осталась в карте сайта

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

Правили functions.php, а после обновления темы всё сломалось

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

Исключили слишком много

Иногда вместе с мусорными URL из sitemap исчезают полезные страницы: записи, категории, страницы услуг. Перед сохранением списка проверьте, не завязаны ли они на трафик, навигацию и внутреннюю перелинковку.

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

  • Поняли, кто генерирует sitemap: ядро, SEO-плагин или кастомный код.
  • Определили, нужно ли убрать URL только из sitemap или ещё и из индекса.
  • Проверили, не используется ли исключаемый URL во внутренних ссылках.
  • Сделали правку в дочерней теме или мини-плагине, а не в основной теме.
  • Проверили XML после обновления и повторной генерации.
  • Отправили sitemap на переобход в Search Console, если это уместно.

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

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

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

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

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

Как закрыть дубли страниц от индексации в WordPress
21.09.2026
Как отключить XML-RPC в WordPress и не сломать нужные интеграции
28.09.2026
Как исключить страницы из XML sitemap в WordPress без поломки индексации
24.09.2026
Как отключить emoji в WordPress без поломки отображения и лишних запросов
01.10.2026
×

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

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

пишет статьи

готовит SEO

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

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