Если в WordPress включены сразу несколько механизмов генерации sitemap, в индексе и в логах быстро появляется лишний шум: дубли карт, пустые разделы, архивы, которые не должны попадать в поиск, и лишние запросы к серверу. На небольшом сайте это часто незаметно, но на проекте с плагинами SEO, кастомными типами записей и медиа-библиотекой стандартная карта сайта начинает мешать, а не помогать.
Ниже — практический сценарий: как отключить ненужную XML Sitemap в WordPress, не сломать индексацию и оставить только те карты, которые реально нужны поисковым системам.
Когда XML Sitemap лучше отключить
Отключение имеет смысл не всегда. Проблема обычно возникает в одной из таких ситуаций:
- у вас одновременно работает sitemap от WordPress core и от SEO-плагина;
- в карте сайта есть URL, которые вы уже закрыли от индексации, но они продолжают генерироваться;
- в sitemap попадают служебные типы записей, черновики, вложения или архивы таксономий без полезного контента;
- карта сайта отдает ошибки или слишком долго открывается на большом сайте;
- нужно оставить только sitemap для постов и страниц, а остальные разделы исключить.
Если у вас уже настроены канонические URL, noindex для лишних разделов и корректная внутренняя перелинковка, sitemap должен быть вспомогательным файлом, а не источником дублей.
Диагностика: что именно генерирует карту сайта
Сначала нужно понять, кто создает sitemap. В WordPress это может быть:
- встроенный генератор WordPress, доступный по адресу
/wp-sitemap.xml; - SEO-плагин, например Yoast SEO, Rank Math или другой аналог;
- отдельный плагин для sitemap;
- кастомный код в теме или mu-plugin.
Проверка простая: откройте в браузере /wp-sitemap.xml и основной sitemap, который указан в SEO-плагине. Если адреса разные, скорее всего, у вас включены две системы одновременно.
Дополнительно посмотрите исходный код главной страницы и robots.txt. Иногда sitemap уже прописан там, а в Search Console отправлен другой адрес. В таком случае поисковик видит несколько источников одной и той же структуры.
Что проверить до изменений
- какой sitemap указан в Google Search Console или Яндекс Вебмастере;
- есть ли в robots.txt ссылка на sitemap;
- какие типы записей реально должны индексироваться;
- не используются ли вложения как отдельные страницы;
- не генерируется ли sitemap из кэша старой версии плагина.
Как отключить стандартный XML Sitemap WordPress
Если у вас уже есть SEO-плагин, который сам генерирует карту сайта, встроенный sitemap WordPress обычно лучше отключить. Это убирает конфликт и исключает ситуацию, когда поисковик получает два разных набора URL.
Самый безопасный способ — через фильтр wp_sitemaps_enabled. Добавьте код в functions.php дочерней темы или в собственный mu-plugin:
<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );После этого адрес /wp-sitemap.xml должен перестать открываться. Если он продолжает отдавать содержимое, значит, карту генерирует не ядро WordPress, а другой плагин.
Если вы хотите не отключать sitemap полностью, а убрать только отдельные типы записей, используйте фильтры ядра. Например, можно исключить вложения:
<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
unset( $post_types['attachment'] );
return $post_types;
} );Это полезно, когда медиафайлы не должны попадать в поиск как отдельные страницы.
Если sitemap делает SEO-плагин
У SEO-плагинов логика другая: они часто дают гибкую настройку по типам контента. Здесь не нужно отключать карту сайта целиком, если она вам нужна. Обычно достаточно убрать лишние сущности.
| Подход | Когда подходит | Компромисс |
|---|---|---|
| Отключить sitemap ядра | Если работает SEO-плагин с собственной картой | Нужно проверить, что новый sitemap реально доступен |
| Оставить только нужные типы | Если нужен sitemap для постов и страниц, но не для медиа и архивов | Требует ручной настройки |
| Отключить sitemap полностью | Если сайт маленький и структура уже хорошо связана внутренними ссылками | Потеря дополнительного сигнала для обхода новых URL |
В Yoast SEO и похожих плагинах обычно есть переключатели для post types, taxonomies и архивов. Логика простая: оставляйте только те разделы, которые реально должны индексироваться и обновляться через sitemap.
Пошаговое решение без лишних рисков
- Определите, кто генерирует sitemap: ядро WordPress, SEO-плагин или отдельный модуль.
- Если есть конфликт двух систем, отключите встроенный sitemap WordPress через
wp_sitemaps_enabled. - В SEO-плагине оставьте только нужные типы контента: записи, страницы, нужные CPT.
- Исключите вложения, служебные архивы и пустые таксономии.
- Обновите robots.txt, если там указан старый адрес sitemap.
- Очистите кэш страницы, если sitemap отдается через кэширующий плагин или серверный кэш.
Если нужен вариант через плагин, а не код, проверьте настройки SEO-плагина. Но код в этом случае надежнее: он не зависит от интерфейса и не сбрасывается после обновления настроек.
Как проверить, что решение сработало
После изменений проверьте не только открытие sitemap в браузере, но и фактический ответ сервера.
- Откройте
/wp-sitemap.xml— он должен либо не открываться, либо отдавать только нужную структуру. - Проверьте
/robots.txtи убедитесь, что там указан актуальный sitemap. - Посмотрите исходный XML: нет ли там вложений, служебных архивов и пустых разделов.
- В Search Console отправьте только один актуальный sitemap и удалите старые, если они больше не нужны.
- Через несколько дней проверьте отчеты об индексации и ошибки обхода.
Если у вас есть доступ к командной строке, можно быстро проверить HTTP-ответ:
curl -I https://example.com/wp-sitemap.xmlДля отключенного встроенного sitemap ожидаем не 200 OK, а другой ответ в зависимости от конфигурации сайта и плагинов. Главное — чтобы не было двух активных источников одной и той же карты.
Частые ошибки и как их исправить
Отключили sitemap, но в индексе остались старые URL
Это нормально: поисковик не удаляет URL мгновенно. Если страницы больше не нужны, проверьте, что они отдают корректный статус, закрыты от индексации или удалены с редиректом на релевантную страницу.
Удалили sitemap, но забыли про robots.txt
Если в robots.txt осталась ссылка на старый файл, поисковик продолжит его запрашивать. После правки robots.txt отправьте его на повторную проверку.
Отключили не ту систему
Частая ошибка — выключить sitemap ядра, когда основной файл генерирует SEO-плагин, или наоборот. Сначала проверьте, какой URL реально отправлен в Search Console.
Сломали карту сайта для медиа или CPT
Если у вас есть кастомные типы записей, не отключайте их вслепую. Сначала убедитесь, что эти материалы не нужны в поиске и не участвуют в трафике.
Что делать с безопасностью и производительностью
Сама XML Sitemap не является уязвимостью, но лишняя генерация нагружает сайт и усложняет диагностику. На больших проектах лучше держать структуру простой: один источник sitemap, понятный список типов контента, минимум служебных URL.
Если вы регулярно чистите сайт от дублей, служебных страниц и лишних архивов, удобно держать это в одном наборе настроек. Для таких задач часто используют Clearfy Pro: он помогает убрать технический шум и сократить количество лишних URL в индексации. Подробности есть на странице плагина: https://wpshop.ru/plugins/clearfy.
Но даже с плагином не стоит отключать sitemap без проверки. Сначала убедитесь, что у сайта есть один актуальный источник карты, а затем уже убирайте лишнее.
Практический чек-лист перед публикацией изменений
- определен источник sitemap;
- отключен только лишний генератор, а не все карты сразу;
- в sitemap остались только нужные типы записей;
- robots.txt обновлен;
- кэш очищен;
- Search Console получила только актуальный sitemap;
- проверены ответы
200,404или301в зависимости от выбранной схемы.
Если после правок sitemap стал короче, но в нем остались нужные URL и он открывается без ошибок, задача решена. Дальше уже имеет смысл смотреть на качество самих страниц, а не на количество файлов в индексе.