Ситуация типичная: сайт уже работает, sitemap подключен, но в него попадают служебные страницы, архивы авторов, теги без трафика, внутренние фильтры или другие URL, которые не должны помогать поисковику тратить краулинговый бюджет. Самый безопасный путь — не отключать sitemap целиком, а точечно убрать только лишние типы контента или конкретные записи.
Ниже разберем, как понять источник лишних URL, какие есть рабочие варианты и как проверить, что после правки в sitemap действительно остались только нужные страницы.
Что именно попадает в sitemap и откуда это берется
В WordPress XML sitemap может формироваться ядром, SEO-плагином или кастомным кодом темы/плагина. Поэтому сначала важно понять, кто именно генерирует карту сайта. Если вы правите не тот источник, изменения просто не сработают.
Как быстро определить генератор sitemap
- Откройте
/sitemap.xmlили/wp-sitemap.xml. - Посмотрите структуру URL: если видите стандартные WordPress-ссылки вроде
wp-sitemap-posts-post-1.xml, скорее всего, работает ядро. - Если sitemap выглядит как единый индекс с нестандартными именами файлов, его часто генерирует SEO-плагин.
- Проверьте исходный код страницы sitemap и заголовки ответа: иногда это сразу показывает источник.
Если на сайте одновременно включены и ядро WordPress, и SEO-плагин, можно получить дублирующиеся карты сайта. Это уже отдельная проблема: поисковик видит несколько источников с похожими URL, а вы потом пытаетесь «лечить» не причину, а симптомы.
Диагностика: какие URL стоит убрать, а какие нет
Не все архивы и таксономии нужно вырезать из sitemap. Например, полезные категории с трафиком лучше оставить, а вот пустые теги, служебные страницы и архивы авторов на небольшом сайте часто только засоряют карту сайта.
Чек-лист перед изменениями
- Проверьте, индексируются ли проблемные URL в Google Search Console.
- Посмотрите, есть ли у них входящий трафик и внутренние ссылки.
- Убедитесь, что страница не нужна для навигации пользователей.
- Проверьте, не используется ли URL в хлебных крошках, блоках похожих материалов или фильтрах.
- Сделайте резервную копию настроек SEO-плагина или файла
functions.php, если правите кодом.
Если URL нужен пользователям, но не нужен в поиске, иногда правильнее оставить его в sitemap и закрыть от индексации через noindex. Но если это технический архив без ценности, его можно исключить полностью.
Пошаговое решение через SEO-плагин
Если у вас уже стоит SEO-плагин, это самый безопасный способ. Не нужно лезть в ядро и писать фильтры, если задача решается настройкой.
Что обычно можно отключить
- архивы авторов;
- архивы дат;
- отдельные таксономии;
- медиа-страницы;
- служебные типы записей;
- конкретные разделы, если плагин это позволяет.
В разных плагинах интерфейс отличается, но логика одна: вы отключаете тип контента в XML sitemap, а не удаляете его с сайта. Это важно, потому что страница может продолжать существовать и открываться по прямой ссылке.
| Подход | Когда подходит | Минус |
|---|---|---|
| Настройка в SEO-плагине | Если sitemap генерирует плагин и нужен быстрый результат | Зависит от конкретного плагина и его интерфейса |
| Код через фильтры WordPress | Если нужен точечный контроль без лишних зависимостей | Нужно аккуратно тестировать после обновлений |
| Отключение целого sitemap | Редко, только если есть другая карта сайта | Можно потерять полезные URL и ухудшить обнаружение страниц |
Если вы используете Clearfy Pro, в нем есть инструменты для чистки сайта и отключения лишних элементов, но в этой задаче важно не просто «выключить все подряд», а убрать только то, что реально мешает индексации. Это особенно полезно на сайтах с большим количеством архивов и служебных страниц.
Ссылка на продукт, если нужен ориентир по функциональности: Clearfy Pro.
Как исключить отдельные типы контента кодом
Если sitemap генерирует ядро WordPress, можно использовать фильтры, которые доступны в стандартной системе. Это полезно, когда нужно убрать не весь тип контента, а только конкретные записи или таксономии.
Пример: убрать отдельные записи из sitemap ядра
add_filter( 'wp_sitemaps_posts_query_args', function( $args, $post_type ) {
if ( 'post' === $post_type ) {
$args['post__not_in'] = array( 123, 456 );
}
return $args;
}, 10, 2 );Этот вариант подходит, если вы точно знаете ID записей, которые не должны попадать в sitemap. Например, это может быть служебная страница, тестовый материал или устаревшая публикация, которую вы пока не удаляете.
Пример: убрать архивы автора из sitemap
add_filter( 'wp_sitemaps_add_provider', function( $provider, $name ) {
if ( 'users' === $name ) {
return false;
}
return $provider;
}, 10, 2 );Но здесь есть нюанс: если на сайте авторские архивы реально используются и дают трафик, отключать их только ради «чистоты» не стоит. Сначала проверьте, есть ли у них поисковый спрос и входящие переходы.
Пример: убрать таксономию из sitemap
add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
unset( $taxonomies['post_tag'] );
return $taxonomies;
} );Так можно исключить, например, теги, если они создают слишком много тонких страниц без пользы. Для категорий и других таксономий решение нужно принимать отдельно: иногда именно они собирают основную семантику сайта.
Проверка результата после внедрения
После настройки не ограничивайтесь открытием главной sitemap в браузере. Нужно проверить именно те URL, которые вы убирали.
Что проверить вручную
- Откройте индекс sitemap и дочерние файлы.
- Убедитесь, что исключенные записи больше не присутствуют в списке.
- Проверьте, не остались ли старые ссылки в кеше CDN или плагина кеширования.
- Посмотрите ответ сервера через
curl -I, если нужно убедиться, что файл отдается без ошибок.
Пример проверки из консоли:
curl -s https://example.com/wp-sitemap.xml | grep -E 'sitemap|post|page'Если вы исключали конкретную запись, откройте ее URL и проверьте, не осталась ли она в дочернем sitemap-файле. Если исключали архив, убедитесь, что он не появляется в индексе sitemap и не подхватывается другим плагином.
В Google Search Console полезно отправить sitemap на повторную обработку и посмотреть, не появились ли ошибки чтения или неожиданные URL в отчете.
Частые ошибки и почему они возникают
Отключили не тот источник sitemap
Если SEO-плагин и ядро WordPress генерируют карты сайта одновременно, вы можете править стандартный wp-sitemap.xml, а поисковик продолжит видеть sitemap от плагина. Сначала определите активный генератор, потом вносите изменения.
Скрыли URL из sitemap, но не закрыли его от индексации
Это не ошибка само по себе, но многие ждут, что страница исчезнет из поиска сразу. Sitemap — это подсказка для обхода, а не жесткий запрет. Если URL не должен индексироваться, нужен отдельный noindex или другая стратегия.
Удалили архив, который приносил трафик
Такое часто случается с тегами и авторскими архивами. Перед отключением проверьте статистику и Search Console. Иначе можно случайно убрать страницу, которая уже ранжируется.
Не очистили кеш
После правки sitemap старые данные могут продолжать отдаваться из кеша страницы, CDN или объекта кеширования. Если изменения не видны сразу, сначала сбросьте кеш, потом повторите проверку.
Использовали слишком общий фильтр
Если в коде безусловно отключить provider или taxonomy, можно случайно убрать больше, чем планировали. Лучше писать точечные условия и тестировать на staging-копии сайта.
Практические советы по безопасности и производительности
Любые правки sitemap лучше делать через дочернюю тему, mu-plugin или небольшой кастомный плагин, а не напрямую в файле активной темы. Тогда обновление темы не затрет изменения.
- Храните код в отдельном мини-плагине, если правка нужна надолго.
- Проверяйте изменения на staging перед выкладкой на боевой сайт.
- Не отключайте sitemap полностью без причины: это может ухудшить обнаружение новых страниц.
- Если сайт большой, следите, чтобы в sitemap не попадали тысячи бесполезных URL — это снижает качество обхода.
Если вам нужно не только убрать лишнее из sitemap, но и почистить сайт от дублей, служебных страниц и лишних архивов, удобнее собрать это в один регламент: что индексируется, что остается доступным, а что исключается из карты сайта и из поиска. Тогда не придется каждый раз чинить последствия точечных правок.