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

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

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

Когда sitemap нужно чистить, а не трогать целиком

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

Типичные сценарии:

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

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

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

Проверьте источник sitemap

Если у вас WordPress 5.5 и выше, у ядра есть собственный sitemap по адресу /wp-sitemap.xml. Но на практике его часто заменяют Yoast SEO, Rank Math или другим SEO-плагином. Если плагин активен, именно он обычно управляет картой сайта.

Что проверить:

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

Сравните sitemap с robots.txt и meta robots

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

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

Способы отключить отдельные типы записей и таксономии

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

СпособКогда подходитПлюсыМинусы
Настройки SEO-плагинаЕсли sitemap генерирует Yoast SEO, Rank Math или похожий плагинБез кода, быстро, удобно для редактораНе всегда хватает гибкости для сложных правил
Фильтры в кодеЕсли нужен точечный контроль над CPT и таксономиямиТочно, прозрачно, не зависит от интерфейсаНужно аккуратно обновлять тему или mu-plugin
Комбинированный подходЕсли часть URL убирается в плагине, а часть — кодомГибкость и контрольЛегко запутаться без документации

Вариант 1: убрать типы записей через SEO-плагин

Если sitemap формирует SEO-плагин, сначала ищите настройку индексации для конкретного post type или taxonomy. У большинства плагинов есть отдельные переключатели для включения в sitemap и для индексации.

Логика простая: если тип записей не должен участвовать в поиске, его нужно отключить в настройках SEO-плагина, а не только прятать через robots.

Плюс этого подхода в том, что плагин сам перестроит карту сайта и не будет отдавать лишние URL. Минус — интерфейс у разных плагинов отличается, и иногда нужная настройка спрятана глубоко.

Вариант 2: исключить типы записей через код

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

<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
    // Убираем служебный тип записей из sitemap.
    unset( $post_types['portfolio'] );

    // Если нужно, можно убрать ещё один тип.
    unset( $post_types['landing'] );

    return $post_types;
} );

Этот код лучше размещать в небольшом mu-plugin или в отдельном функциональном плагине, а не в functions.php активной темы. Так настройка не пропадёт при смене темы.

Вариант 3: исключить таксономии из sitemap

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

<?php
add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
    // Убираем внутреннюю таксономию из sitemap.
    unset( $taxonomies['project_type'] );

    // Часто имеет смысл убрать служебные теги, если они не нужны в поиске.
    unset( $taxonomies['post_tag'] );

    return $taxonomies;
} );

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

Вариант 4: точечно убрать отдельные записи

Если проблема не в типе записей, а в нескольких конкретных страницах, используйте фильтр 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 );

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

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

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

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

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

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

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

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

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

Отключили URL в robots.txt, но оставили в sitemap

Это распространённая ошибка. В результате поисковик видит противоречие: URL есть в карте сайта, но доступ к нему ограничен. Исправление простое — сначала уберите URL из sitemap, потом уже решайте вопрос с robots или noindex.

Добавили код в functions.php и забыли про тему

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

Скрыли таксономию, но не проверили архивы

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

Смешали sitemap ядра и sitemap плагина

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

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

Фильтры для sitemap почти не нагружают сайт, если они написаны аккуратно. Но есть несколько правил, которые стоит соблюдать.

  • не вставляйте код в случайные сниппеты без понимания, что они делают;
  • храните правки в отдельном mu-plugin, если это постоянная логика;
  • после изменений сбрасывайте кеш не только страницы, но и sitemap;
  • не удаляйте из sitemap всё подряд только ради «чистоты» — поисковику нужен полезный список URL;
  • если сайт большой, проверяйте карту сайта по частям, а не только главную страницу sitemap index.

Для крупных сайтов полезно вести короткий список правил: какие post type индексируются, какие таксономии нужны, какие архивы закрыты. Это экономит время при следующем редизайне или миграции.

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

Как использовать хуки для отложенного выполнения кода в WordPress
20.09.2026
Как настроить robots.txt в WordPress для запрета индексации отдельных разделов
18.08.2026
Как отключить XML sitemap в WordPress для отдельных типов записей и таксономий
08.09.2026
Как автоматизировать управление ролями в WordPress с помощью кода
10.09.2026
Как проверить и использовать WP-Cron для автоматизации задач в WordPress
24.09.2026
×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее