Как отключить XML sitemap для категорий и меток в WordPress без лишних дублей

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

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

Когда таксономии стоит убрать из sitemap

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

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

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

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

Диагностика: что именно сейчас попадает в sitemap

Перед правками проверьте, кто формирует карту сайта. В WordPress это может быть:

  • встроенный XML sitemap ядра;
  • SEO-плагин, который подменяет стандартную карту сайта;
  • кастомный код в теме или mu-plugin;
  • несколько источников одновременно, если сайт собирался поэтапно.

Откройте sitemap и посмотрите, есть ли там отдельные разделы для категорий и меток. Если используется стандартный sitemap WordPress, обычно это URL вида /wp-sitemap-taxonomies-category-1.xml или /wp-sitemap-taxonomies-post_tag-1.xml. В SEO-плагинах структура может отличаться, но логика та же: отдельные XML-файлы для таксономий.

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

Как отключить категории и метки из XML sitemap

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

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

Вариант 1: через стандартный sitemap WordPress

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

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

    return $taxonomies;
} );

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

Вариант 2: если sitemap генерирует SEO-плагин

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

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

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

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

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

    return $taxonomies;
} );

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

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

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

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

<?php
/**
 * Plugin Name: Sitemap Taxonomy Control
 */
add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
    unset( $taxonomies['post_tag'] );
    return $taxonomies;
} );

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

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

  • в sitemap нет раздела post_tag или category, если вы их отключали;
  • страницы таксономий открываются или закрываются так, как вы задумали;
  • в Search Console нет новых ошибок обработки sitemap;
  • после очистки кэша сайт отдаёт актуальную версию XML;
  • нет конфликтов с другим SEO-плагином или кастомным кодом.

Если sitemap не меняется сразу, проблема часто не в коде, а в кэше. Для проверки откройте URL с параметром, который не кешируется CDN, или временно очистите серверный и плагинный кэш.

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

Отключили таксономию в sitemap, но она всё ещё индексируется

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

Правили файл темы, а после обновления всё слетело

Код в родительской теме — плохое место для таких правок. Используйте дочернюю тему или mu-plugin. Иначе любое обновление вернёт старое поведение.

Отключили слишком много

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

В sitemap остались старые ссылки

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

Что учесть для безопасности и производительности

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

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

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

⭐⭐⭐⭐⭐