Если в XML sitemap попадают архивы авторов, пустые рубрики, служебные таксономии или страницы, которые вы не хотите видеть в поиске, проблема обычно не в самом sitemap, а в том, как WordPress и SEO-плагин собирают карту сайта. В итоге поисковик получает лишние URL, а вы — дубли, мусор в индексе и лишнюю нагрузку на обход.
Ниже разберём рабочую схему: как найти источник лишних URL, чем лучше закрывать их — настройкой плагина или кодом, и как проверить, что после правки sitemap действительно стал чище.
Как понять, что в sitemap попали лишние URL
Сначала не трогайте код. Откройте сам sitemap и посмотрите, какие типы ссылок там есть. В WordPress это обычно один из двух сценариев: sitemap генерирует SEO-плагин, либо используется встроенный XML sitemap ядра. Для диагностики важно не название файла, а состав URL внутри.
Что искать в первую очередь
- архивы авторов, если на сайте один автор или страницы автора не несут пользы;
- пустые или технические рубрики;
- таксономии с тонким контентом, которые не должны индексироваться;
- страницы пагинации архивов, если они создают шум в индексе;
- служебные записи, которые вообще не должны попадать в sitemap.
Если сайт небольшой, это можно увидеть вручную. На проекте побольше удобнее выгрузить sitemap и пройтись по нему глазами или через поиск по шаблонам URL.
Быстрая проверка через браузер и консоль
Откройте sitemap в браузере и проверьте, есть ли там нужные разделы. Если sitemap индексный, зайдите в дочерние карты. Для быстрой проверки можно использовать curl:
curl -s https://example.com/sitemap_index.xml | grep -E 'author|category|tag|taxonomy'Если в ответе видны лишние разделы, дальше уже имеет смысл смотреть настройки SEO-плагина или фильтры темы и плагинов.
Что лучше: настройка плагина или код
Если sitemap генерирует SEO-плагин, сначала проверьте его настройки. Это безопаснее, чем сразу лезть в код: плагин сам уберёт раздел из карты сайта и не будет конфликтовать с обновлениями.
| Подход | Когда подходит | Плюс | Минус |
|---|---|---|---|
| Настройка плагина | Если SEO-плагин умеет исключать типы архивов и таксономий | Меньше риска сломать логику сайта | Не всегда есть нужная гранулярность |
| Код в теме или mu-plugin | Если нужен точечный контроль над sitemap | Можно убрать только нужные URL | Нужно следить за обновлениями и тестировать |
| Комбинированный вариант | Если часть исключений есть в плагине, а часть — только через фильтры | Гибко и предсказуемо | Чуть сложнее поддержка |
Если у вас уже есть SEO-плагин с настройками sitemap, используйте его интерфейс для базовой чистки. Код нужен тогда, когда:
- нужно убрать только один архив автора;
- нужно исключить конкретную таксономию;
- нужно оставить архивы в работе, но не отдавать их в sitemap;
- плагин не даёт нужной настройки.
Как закрыть архивы авторов и таксономии через код
Для точечной правки удобнее вынести код в mu-plugin или в отдельный мини-плагин. Так он не потеряется при смене темы. Ниже пример для встроенного sitemap WordPress: мы убираем архивы авторов и одну таксономию из карты сайта.
<?php
/**
* Plugin Name: Sitemap cleanup
*/
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
// Если нужно убрать целый тип записей из sitemap.
// unset( $post_types['attachment'] );
return $post_types;
} );
add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
// Убираем служебную таксономию из sitemap.
unset( $taxonomies['post_tag'] );
return $taxonomies;
} );
add_filter( 'wp_sitemaps_add_provider', function( $provider, $name ) {
if ( 'users' === $name ) {
return false; // отключает provider авторов
}
return $provider;
}, 10, 2 );Этот вариант работает именно с ядром WordPress. Если sitemap отдаёт SEO-плагин, фильтры будут другими. Поэтому сначала определите источник карты сайта, а уже потом вносите правки.
Если sitemap генерирует SEO-плагин
У популярных SEO-плагинов обычно есть свои настройки для типов контента, архивов авторов и таксономий. Логика простая: отключаете генерацию для ненужного раздела в интерфейсе, затем проверяете, что URL исчез из sitemap и не отдаёт 200 в карте сайта.
Если плагин позволяет исключать архивы авторов, это предпочтительнее, чем ставить noindex только на сам архив. Sitemap должен быть чистым сам по себе, а не содержать URL, которые вы потом пытаетесь «приглушить» метатегами.
Как закрыть страницы автора, но не сломать сайт с несколькими авторами
На новостных и контентных проектах архивы авторов иногда полезны: они помогают навигации и показывают экспертизу. На сайтах с одним автором или без нормальной страницы профиля архив автора часто становится дублем главной или страницы блога. В таком случае его можно убрать из sitemap и при необходимости закрыть от индексации.
Если архив нужен пользователям, но не нужен поиску, не удаляйте его физически. Лучше оставить страницу доступной и убрать её из sitemap, а также проверить мета-robots. Это снижает риск поломать внутренние ссылки.
Минимальный чек-лист перед закрытием
- есть ли на сайте несколько авторов;
- есть ли у автора уникальное описание и полезный список публикаций;
- не используется ли архив автора как посадочная страница;
- не ведут ли на него внутренние ссылки из шаблона;
- не дублирует ли он страницу блога или рубрику.
Проверка результата после внедрения
После правки не ограничивайтесь визуальным просмотром sitemap. Нужно проверить три вещи: URL исчез из карты сайта, сервер отдаёт ожидаемый ответ, а поисковик не видит старую версию в кеше.
Что проверить вручную
- Откройте sitemap и убедитесь, что лишнего раздела там больше нет.
- Проверьте дочерние sitemap, если используется индексная карта.
- Откройте исключённый URL напрямую и посмотрите код ответа и мета-robots.
- Если у вас подключена Search Console, отправьте sitemap на повторную обработку.
Для быстрой проверки ответа сервера можно использовать:
curl -I https://example.com/author/admin/
curl -s https://example.com/sitemap_index.xml | grep -n 'author'Если URL всё ещё присутствует в sitemap, значит вы изменили не тот слой: либо правили тему вместо SEO-плагина, либо отключили не тот provider, либо кэш отдаёт старую версию карты сайта.
Частые ошибки и как их исправить
Отключили URL в robots.txt, но он всё равно в sitemap
Это частая путаница. robots.txt не удаляет URL из sitemap и не гарантирует исчезновение из индекса. Если URL уже есть в карте сайта, поисковик может продолжать его обходить. Сначала убирайте его из sitemap, потом уже решайте вопрос с индексацией.
Скрыли архив автора через noindex, но оставили в sitemap
Так делать можно, но это не лучший вариант. Sitemap должен содержать только те URL, которые вы реально хотите продвигать или хотя бы индексировать. Иначе вы сами отправляете поисковику противоречивый сигнал.
Правили файл темы, а после обновления всё вернулось
Если код лежал в теме, обновление или смена шаблона его затрёт. Для таких задач используйте mu-plugin или отдельный мини-плагин. Это особенно важно для фильтров sitemap и логики индексации.
Отключили слишком много и потеряли полезные страницы
Иногда вместе с мусорными таксономиями из sitemap убирают и нужные архивы. Перед выкладкой проверьте, какие URL реально должны остаться: рубрики, важные страницы тегов, архивы авторов с уникальной ценностью. Если сомневаетесь, сравните sitemap до и после правки.
Практические советы по безопасности и производительности
Чистка sitemap сама по себе не ускорит сайт радикально, но она снижает лишнюю работу поисковых роботов и упрощает поддержку. Если на проекте много таксономий и архивов, лучше заранее договориться о правилах: что индексируется, что остаётся только для навигации, а что вообще не должно появляться в публичных картах сайта.
- не храните такую логику в шаблоне, если сайт живёт долго и обновляется;
- не отключайте архивы без проверки внутренних ссылок;
- после правок очищайте кэш страницы sitemap, если он есть;
- не смешивайте несколько решений для одной и той же задачи, если они конфликтуют;
- проверяйте sitemap после обновления SEO-плагина или ядра WordPress.
Если вам нужно регулярно чистить сайт от дублей, служебных страниц и лишних элементов в SEO-логике, имеет смысл смотреть в сторону инструментов уровня Clearfy Pro: у него есть набор функций для технической чистки WordPress и управления дублями. Но даже в этом случае базовую проверку sitemap всё равно нужно делать вручную после изменений.
Самый надёжный критерий здесь простой: в sitemap остаются только те URL, которые вы готовы показывать поисковику как часть структуры сайта. Всё остальное лучше убрать на уровне генерации, а не маскировать постфактум.