Если в XML Sitemap попадают архивы, служебные страницы, дубли записей или URL с параметрами, поисковик тратит краулинговый бюджет на лишнее. На небольшом сайте это обычно не критично, но на проекте с таксономиями, авторами, вложениями и кастомными типами записей sitemap быстро превращается в список всего подряд. В итоге в Search Console появляются странные URL, а часть важных страниц индексируется медленнее.
Ниже — рабочая схема: сначала находим источник дублей, потом отключаем лишнее на уровне WordPress, и только после этого проверяем, что sitemap стал чище.
Когда проблема действительно в sitemap
Не каждый «мусорный» URL в индексе связан именно с картой сайта. Иногда страницы попадают туда через внутренние ссылки, редиректы или внешние бэклинки. Но если в XML Sitemap есть архивы авторов, теги без контента, страницы вложений и пагинация, это уже повод чистить генерацию.
Типичные признаки
- в sitemap видны URL, которые вы не хотите индексировать:
/author/,/tag/,/attachment/; - в Search Console растёт количество «Просканировано, но не проиндексировано»;
- в отчёте по sitemap появляются URL с параметрами или дубли пагинации;
- после публикации новых материалов поисковик долго не видит важные страницы, хотя карта сайта обновляется.
Что проверить в первую очередь
Откройте sitemap в браузере и посмотрите, какие типы URL туда попадают. Если используется стандартный sitemap WordPress, он обычно доступен по адресу /wp-sitemap.xml. Если стоит SEO-плагин, карта сайта может генерироваться им, и тогда правила отключения будут другими.
| Подход | Когда подходит | Минус |
|---|---|---|
| Настройки SEO-плагина | Если sitemap генерирует Yoast, Rank Math или аналог | Нужно искать нужный раздел в интерфейсе |
| Код в теме или мини-плагине | Если нужен точечный контроль без лишних зависимостей | Нужно аккуратно тестировать после обновлений |
| Плагин для чистки SEO-дублей | Если нужно быстро убрать служебные URL и не писать код | Не всегда даёт тонкую настройку |
Диагностика: откуда именно берутся дубли
Сначала определите источник. В WordPress sitemap может включать:
- записи и страницы;
- кастомные типы записей;
- таксономии;
- архивы авторов;
- архивы дат;
- вложения;
- пользовательские URL, если их добавляет плагин.
Если дубли идут из таксономий, часто проблема не в sitemap как таковом, а в том, что в индекс попадают пустые или почти пустые архивы. Если дубли связаны с вложениями, обычно лучше не индексировать attachment-страницы вообще, а сами файлы оставить доступными по прямой ссылке.
Быстрая проверка через Search Console
Откройте отчёт по индексированию и найдите URL, которые не должны были попасть в sitemap. Сравните их с содержимым карты сайта. Если URL есть в sitemap, но не должен там быть, значит нужно отключать источник генерации, а не просто ставить noindex на страницу.
Пошаговое решение без лишнего риска
Ниже — безопасный порядок действий. Он подходит для большинства сайтов на WordPress, где sitemap генерируется ядром или SEO-плагином.
Шаг 1. Сделайте резервную копию и проверьте, кто генерирует sitemap
Если у вас уже стоит SEO-плагин, не смешивайте его sitemap со стандартным sitemap WordPress без необходимости. Два источника карты сайта часто создают путаницу в отчётах и усложняют диагностику.
Шаг 2. Отключите лишние типы контента в sitemap
Если sitemap генерируется ядром WordPress, можно убрать из него вложения, а также скрыть отдельные типы записей и таксономии через фильтры. Для точечной настройки удобнее вынести код в мини-плагин или в functions.php дочерней темы.
<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
// Убираем вложения из sitemap.
if ( isset( $post_types['attachment'] ) ) {
unset( $post_types['attachment'] );
}
// Если нужно, можно отключить и другие типы записей:
// unset( $post_types['product'] );
return $post_types;
} );
add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
// Пример: скрываем теги, если они создают мусорные архивы.
if ( isset( $taxonomies['post_tag'] ) ) {
unset( $taxonomies['post_tag'] );
}
return $taxonomies;
} );Этот вариант работает именно со стандартным sitemap WordPress. Если у вас Yoast SEO или Rank Math, используйте их собственные настройки sitemap, а не этот фильтр.
Шаг 3. Уберите архивы авторов и даты, если они не нужны
Архивы авторов и дат часто дублируют контент и не несут самостоятельной ценности на небольших или корпоративных сайтах. Если они не используются как отдельные посадочные страницы, их лучше исключить из sitemap и закрыть от индексации на уровне SEO-настроек или шаблона.
Для стандартного sitemap WordPress архивы авторов и дат не добавляются автоматически как отдельные сущности, но их часто подключает SEO-плагин. Поэтому сначала проверьте настройки плагина, а уже потом правьте код.
Шаг 4. Проверьте вложения и медиа-страницы
Страницы вложений — частая причина дублей. Сам файл изображения нужен, а отдельная HTML-страница attachment обычно нет. Если SEO-плагин создаёт такие страницы, отключите их индексацию и уберите из sitemap.
Шаг 5. Очистите кэш и обновите карту сайта
После изменений очистите кэш сайта, серверный кэш и кэш CDN, если он есть. Иначе вы можете смотреть на старую версию sitemap и думать, что код не сработал.
Если sitemap генерирует SEO-плагин
У популярных SEO-плагинов есть собственные настройки XML Sitemap. Это обычно самый простой путь, если вам нужно быстро убрать типы контента без кода. Но важно не оставлять одновременно включёнными две карты сайта: стандартную WordPress и карту от плагина, если они дублируют друг друга.
Проверьте, где именно отключаются:
- медиа-вложения;
- архивы авторов;
- таксономии;
- кастомные типы записей;
- пустые страницы пагинации.
Если интерфейс плагина позволяет исключить конкретный тип контента из sitemap, это предпочтительнее, чем писать код поверх плагина. Код нужен тогда, когда настройки не дают нужной точности.
Проверка результата после внедрения
После правок не ограничивайтесь визуальной проверкой в браузере. Нужно убедиться, что карта сайта действительно изменилась и поисковик видит новую версию.
Что проверить вручную
- откройте
/wp-sitemap.xmlили sitemap SEO-плагина; - убедитесь, что лишние URL исчезли;
- проверьте, что остались записи, страницы и важные типы контента;
- посмотрите, не появились ли ошибки 404 в sitemap;
- обновите sitemap в Search Console, если это нужно для вашего процесса.
Что проверить в Search Console
Сравните отчёт по sitemap до и после изменений. Если всё сделано правильно, количество лишних URL в карте сайта должно уменьшиться, а в отчётах по индексированию станет меньше технического шума. Не ждите мгновенного эффекта: поисковику нужно время, чтобы пересканировать карту и пересобрать очередь обхода.
Частые ошибки и как их исправить
Отключили не тот sitemap
Иногда правят стандартный sitemap WordPress, а на сайте уже работает SEO-плагин со своей картой. В итоге изменения не видны. Решение простое: сначала выясните, какой URL реально отдаёт sitemap в продакшене.
Скрыли URL только через noindex
noindex не убирает URL из sitemap. Поисковик всё равно видит его в карте сайта и тратит ресурсы на обход. Если страница не должна индексироваться, лучше убрать её из sitemap и отдельно закрыть от индексации, если это требуется.
Удалили вложения, но сломали медиа
Не путайте страницу вложения и сам файл изображения. Убирать нужно HTML-страницу attachment, а не медиафайл из библиотеки. Иначе можно случайно сломать картинки в контенте.
Не очистили кэш
После правок sitemap может продолжать отдавать старую версию из кэша. Это особенно заметно на сайтах с серверным кэшированием или CDN. Очистка кэша — обязательный шаг, а не формальность.
Слишком агрессивно отключили таксономии
Если убрать из sitemap все категории и теги без анализа, можно потерять полезные посадочные страницы. Сначала проверьте, какие архивы реально дают трафик и имеют уникальный контент.
Практические советы по безопасности и производительности
Чистка sitemap — это не только про SEO. Чем меньше лишних URL, тем проще поисковику и тем меньше шансов, что он будет обходить мусорные страницы вместо полезных.
- не редактируйте код прямо в родительской теме, если сайт обновляется;
- используйте дочернюю тему или мини-плагин для фильтров sitemap;
- после обновления SEO-плагина перепроверьте настройки XML Sitemap;
- не держите включёнными несколько решений, которые генерируют одну и ту же карту сайта;
- если сайт большой, фиксируйте изменения в staging-окружении до выката на прод.
Если вам нужно не только убрать дубли, но и регулярно чистить технические хвосты сайта, удобно держать под рукой инструменты для SEO-оптимизации и удаления лишних сущностей. Например, у Clearfy Pro есть набор функций для технической чистки WordPress, но даже с плагином всё равно стоит понимать, что именно вы отключаете и почему: https://wpshop.ru/plugins/clearfy?utm_source=wpengine.ru&utm_medium=article&utm_campaign=kak-ubrat-dubli-iz-xml-sitemap-v-wordpress
Когда лучше не трогать sitemap кодом
Если сайт ведётся редактором без доступа к коду, а sitemap уже стабильно работает через SEO-плагин, безопаснее ограничиться настройками интерфейса. Код нужен там, где есть повторяющаяся техническая проблема: например, кастомный тип записей постоянно попадает в sitemap, хотя индексировать его не нужно.
Если же у вас сложная структура контента, сначала составьте список того, что должно индексироваться, а уже потом меняйте генерацию карты сайта. Это экономит время и снижает риск случайно убрать важные URL из обхода.