Если в 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 в админке или в коде регистрации. Не удаляйте их из массива наугад: можно случайно скрыть важные архивы, которые приносят трафик.
Пошаговое решение без лишнего риска
- Определите, кто генерирует sitemap: ядро WordPress или SEO-плагин.
- Составьте список таксономий, которые реально нужны в поиске.
- Уберите из sitemap только те архивы, которые не несут самостоятельной ценности.
- Сохраните изменения в дочерней теме или mu-plugin, а не в основной теме.
- Очистите кэш сайта и CDN, если они используются.
- Проверьте 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 должен быть коротким списком того, что вы хотите показать поисковику, а не свалкой всех доступных архивов.