Стандартная XML-карта сайта в WordPress полезна не всегда. На небольших проектах она обычно работает без проблем, но на сайтах с кастомными типами записей, лишними архивами, дублирующимися таксономиями или внешним SEO-плагином карта может начать отдавать в индекс то, что вы как раз хотели скрыть. В итоге в Search Console появляются лишние URL, а в sitemap.xml — страницы, которые не должны участвовать в обходе.
Ниже разберём практический сценарий: как отключить встроенную XML Sitemap в WordPress, когда она конфликтует с вашей SEO-логикой, и как проверить, что после изменения сайт не потерял нужные карты.
Когда встроенная XML Sitemap мешает
С 5.5 WordPress умеет генерировать базовую XML Sitemap сам. Это удобно, если сайт простой и без SEO-плагина. Но в реальных проектах проблема обычно не в самой карте, а в том, что она живёт параллельно с картой от Yoast SEO, Rank Math, All in One SEO или другого инструмента. Тогда поисковик может видеть две разные точки входа, а вы — две разные логики исключений.
Типичные симптомы:
- в индексе появляются URL из архивов, которые вы не планировали продвигать;
- в sitemap.xml есть записи из custom post type, который нужен только для внутреннего использования;
- SEO-плагин уже отдаёт свою карту, а встроенная карта WordPress остаётся доступной по
/wp-sitemap.xml; - в логах или в Search Console видны обращения к лишним sitemap-URL.
Что именно нужно проверить до правки
Сначала убедитесь, что проблема действительно в встроенной карте, а не в другом источнике. Откройте:
https://site.ru/wp-sitemap.xml;https://site.ru/sitemap_index.xml— если у вас стоит SEO-плагин;- страницы архивов, таксономий и CPT, которые попадают в карту.
Если /wp-sitemap.xml открывается вместе с картой от SEO-плагина, это уже повод оставить только один источник sitemap. Две карты одновременно не всегда ломают сайт, но почти всегда усложняют контроль индексации.
Как отключить встроенную XML Sitemap в WordPress
Самый надёжный способ — отключить генерацию через фильтр wp_sitemaps_enabled. Это штатный механизм WordPress, без правки ядра и без удаления файлов.
add_filter( 'wp_sitemaps_enabled', '__return_false' );Код можно добавить в functions.php дочерней темы, но на практике лучше вынести в небольшой mu-plugin, чтобы он не зависел от темы.
<?php
/**
* Plugin Name: Disable Core XML Sitemap
*/
add_filter( 'wp_sitemaps_enabled', '__return_false' );Такой вариант удобен тем, что:
- не затрагивает ядро WordPress;
- не ломается после обновлений темы;
- легко откатить;
- понятно, где живёт логика.
Если sitemap нужен только частично
Иногда отключать всё не нужно. Например, вы хотите сохранить карту записей, но убрать страницы или таксономии. Для этого лучше не выключать sitemap целиком, а фильтровать конкретные типы объектов. Встроенный API WordPress позволяет точечно управлять источниками, но на практике это уже менее предсказуемо, чем карта от SEO-плагина. Если у вас сложная структура, проще оставить один генератор sitemap и настроить его там.
Для небольших сайтов без SEO-плагина можно использовать и более тонкую настройку, но только если вы понимаете, какие типы контента должны индексироваться. Иначе проще получить пустую карту, чем полезную.
Сравнение подходов: код, плагин или ничего не трогать
| Подход | Когда подходит | Минусы |
|---|---|---|
| Отключить через код | Есть SEO-плагин или нужен полный контроль | Нужно не забыть про обновления и место хранения кода |
| Настроить в SEO-плагине | Карта уже генерируется Yoast SEO, Rank Math или аналогом | Логика зависит от плагина, а не от ядра |
| Оставить как есть | Простой сайт без конфликтов | Риск лишних URL в карте и дублирования логики |
Если у вас уже стоит SEO-плагин, обычно лучше использовать его карту и отключить встроенную. Два источника sitemap редко дают пользу, а вот путаницу — почти всегда.
Пошаговая настройка без поломки индексации
- Проверьте, какой sitemap сейчас отдается по
/wp-sitemap.xml. - Убедитесь, что SEO-плагин уже генерирует свою карту и она доступна.
- Добавьте фильтр
wp_sitemaps_enabledв mu-plugin или дочернюю тему. - Очистите кеш сайта и, если используется, кеш CDN.
- Снова откройте
/wp-sitemap.xmlи убедитесь, что он возвращает 404 или пустой ответ в зависимости от конфигурации. - Проверьте карту в Google Search Console и отправьте на переобход только актуальный sitemap.
Если используете Clearfy Pro
Для сайтов, где кроме sitemap нужно ещё убрать лишние технические хвосты, иногда удобнее собрать чистку в одном месте. У Clearfy Pro есть набор настроек для SEO и технической оптимизации, и это может быть полезно, если задача не ограничивается одной картой сайта. Но даже в этом случае важно понимать, какой именно sitemap остаётся основным, чтобы не получить две конкурирующие карты. Ссылка на продукт: Clearfy Pro.
Как проверить, что решение сработало
После внедрения не ограничивайтесь визуальной проверкой в браузере. Нужно проверить и HTTP-ответ, и индексацию, и наличие нужной карты.
- Откройте
/wp-sitemap.xmlв браузере — он не должен отдавать старую карту WordPress. - Проверьте заголовки ответа через
curl -I https://site.ru/wp-sitemap.xml. - Убедитесь, что основной sitemap от SEO-плагина доступен и содержит только нужные URL.
- В Search Console посмотрите, не появились ли ошибки обхода по старым sitemap-адресам.
- Проверьте robots.txt: там не должно быть ссылок на неактуальные карты.
Пример быстрой проверки через командную строку:
curl -I https://site.ru/wp-sitemap.xml
curl -I https://site.ru/sitemap_index.xmlЕсли первый адрес больше не отдаёт активную карту, а второй работает как основной источник, настройка выполнена правильно.
Частые ошибки и как их исправить
Отключили sitemap, но забыли про SEO-плагин
Иногда после отключения встроенной карты администратор обнаруживает, что никакой sitemap вообще не остался. Это случается, если SEO-плагин не активен или его карта выключена в настройках. Решение простое: сначала убедитесь, что альтернативный генератор реально работает, и только потом отключайте core sitemap.
Добавили код в тему, а потом потеряли его после обновления
Если код лежит в родительской теме, он может исчезнуть при обновлении или замене темы. Для технических правок лучше использовать mu-plugin или дочернюю тему. Это не косметика, а вопрос стабильности.
Проверили только браузер, но не Search Console
Даже если /wp-sitemap.xml больше не открывается, старые URL могут ещё висеть в отчётах Google. Это нормально: поисковик обновляет данные не мгновенно. Важно не паниковать и не возвращать старую карту обратно, если новая уже корректно работает.
Смешали несколько источников sitemap
Если у вас одновременно активны карта WordPress, карта SEO-плагина и ещё отдельный генератор для медиа или товаров, контроль индексации быстро становится хаотичным. Лучше оставить один основной источник и явно понимать, какие типы контента он включает.
Практические советы по безопасности и производительности
Отключение встроенной sitemap само по себе не ускорит сайт заметно, но уменьшит количество лишней логики и потенциальных конфликтов. На проектах с большим количеством плагинов это уже полезно.
- Храните технические фильтры в mu-plugin, а не в основной теме.
- Не ставьте два SEO-плагина одновременно ради sitemap.
- После правки очищайте не только page cache, но и объектный кеш, если он используется.
- Если сайт под CDN, проверьте, что старый
/wp-sitemap.xmlне закеширован на edge.
Если задача шире, чем просто отключить карту, и вам нужно убрать дубли, лишние архивы и технический мусор, лучше решать это в комплексе: одна карта сайта, одна SEO-логика, одна точка управления исключениями. Тогда и индексация становится предсказуемой, и отладка занимает меньше времени.