XML sitemap в WordPress часто включают «по умолчанию» и потом забывают, что карта сайта может дублироваться между ядром, SEO-плагином и темой. В итоге поисковик видит несколько источников, а владелец сайта — лишние запросы, ошибки в Search Console и путаницу, какая карта вообще считается основной.
Эта статья про конкретный сценарий: когда XML sitemap нужно отключить или оставить только один источник, чтобы не ломать индексацию и не плодить дубли. Речь не о том, как «сделать карту сайта», а о том, как убрать лишнее и проверить, что сайт после этого ведёт себя нормально.
Когда XML sitemap действительно стоит отключить
Отключение карты сайта не всегда нужно. Но оно оправдано, если у вас уже есть другая карта сайта, которая покрывает те же URL, или если WordPress и SEO-плагин одновременно отдают разные sitemap-индексы. В такой конфигурации поисковик обычно не «ломается», но диагностика становится грязной: в отчётах появляются лишние URL, а в логике индексации — лишний шум.
Типовые признаки проблемы
- в браузере открываются сразу несколько sitemap-адресов:
/wp-sitemap.xml,/sitemap_index.xmlи, например, карта от темы или плагина; - в Search Console есть сообщения о том, что карта сайта недоступна, хотя сайт работает;
- в robots.txt указан один sitemap, а реально используется другой;
- после обновления плагина SEO карта сайта начала дублировать старые URL или скрытые типы записей;
- на сайте много служебных страниц, которые не должны попадать в карту, но попадают из-за настроек плагина.
Диагностика: что именно отдаёт sitemap
Сначала нужно понять, кто генерирует карту сайта. В WordPress это может делать ядро, SEO-плагин или сторонний плагин. Если отключать «наугад», легко убрать не тот источник и получить 404 на нужном sitemap-адресе.
Проверьте три вещи: основной URL карты, заголовки ответа и содержимое robots.txt. Это можно сделать вручную в браузере или через консоль.
curl -I https://example.com/wp-sitemap.xml
curl -I https://example.com/sitemap_index.xml
curl https://example.com/robots.txtЕсли в ответе на один из адресов есть 200 OK и XML-структура, это активный источник. Если оба адреса живые, значит у вас уже есть конфликт или как минимум два независимых генератора.
Что смотреть в robots.txt
В robots.txt должен быть указан только один актуальный sitemap-адрес. Если там осталась старая ссылка, поисковик может продолжать ходить по ней даже после отключения генератора. Это не критично, но создаёт лишние запросы и мешает понять, какой файл сейчас основной.
Как отключить XML sitemap в WordPress: рабочие варианты
Есть три практических подхода: отключить карту через SEO-плагин, убрать генерацию ядра WordPress или оставить карту, но закрыть лишние типы записей. Выбор зависит от того, кто сейчас отвечает за sitemap.
| Подход | Когда подходит | Плюс | Минус |
|---|---|---|---|
| Настройка SEO-плагина | Если карта генерируется плагином | Без кода, быстро | Зависит от интерфейса плагина |
| Фильтр в functions.php | Если нужно отключить карту ядра | Точный контроль | Нужно аккуратно обновлять тему/дочернюю тему |
| Оставить одну карту и чистить её состав | Если sitemap нужен, но в нём лишние URL | Не теряете полезные страницы | Требует проверки после изменений |
Вариант 1. Отключить sitemap ядра WordPress
Если вы используете SEO-плагин, который уже отдаёт собственную карту сайта, генерацию ядра WordPress лучше отключить. Для этого есть фильтр wp_sitemaps_enabled.
<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );Код можно добавить в дочернюю тему или в небольшой mu-plugin. После этого адрес /wp-sitemap.xml должен начать отдавать 404 или редирект, если его перехватывает другой слой.
Вариант 2. Отключить карту в SEO-плагине
Если карту генерирует SEO-плагин, отключайте её в настройках самого плагина. У разных решений интерфейс отличается, но логика одна: оставить только один источник sitemap. Не стоит держать и карту ядра, и карту плагина одновременно, если они покрывают одни и те же URL.
Если в плагине есть отдельные настройки для типов записей, категорий, тегов и архивов, проверьте их отдельно. Иногда карту не нужно отключать целиком — достаточно убрать из неё служебные разделы.
Вариант 3. Оставить sitemap, но убрать лишние типы записей
Этот вариант полезен, если карта нужна для индексации, но в ней слишком много мусора. Например, в sitemap попадают вложения, служебные страницы, черновые типы записей или таксономии без ценности для поиска.
Для ядра WordPress можно управлять составом через фильтры sitemap providers, но на практике проще и надёжнее использовать настройки SEO-плагина. Если всё же нужно точечно убрать тип записи, ориентируйтесь на конкретный плагин и его документацию — универсального фильтра для всех случаев нет.
Пошаговое решение без риска для индексации
- Определите, какой sitemap сейчас основной:
/wp-sitemap.xmlили/sitemap_index.xml. - Проверьте robots.txt и уберите оттуда старую ссылку на sitemap.
- Отключите только один источник генерации карты.
- Убедитесь, что важные URL по-прежнему доступны в карте сайта.
- Отправьте актуальный sitemap в Search Console, если адрес изменился.
Если у вас сайт на кастомной теме и без SEO-плагина, лучше не удалять sitemap полностью. В этом случае карта сайта помогает поисковику быстрее находить новые материалы, особенно если сайт обновляется нерегулярно.
Проверка результата после внедрения
После изменения проверьте не только открытие XML-файла в браузере. Нужно убедиться, что поисковик видит именно тот sitemap, который вы оставили.
- Откройте основной sitemap-адрес и убедитесь, что он отдаёт
200 OK. - Проверьте, что старый sitemap больше не доступен или не указан в robots.txt.
- Посмотрите, нет ли в карте лишних URL: вложений, тегов без смысла, служебных страниц.
- В Search Console отправьте актуальный sitemap и проверьте статус обработки.
- Если сайт кэшируется, очистите кэш страницы, кэш объекта и CDN, если он есть.
Для быстрой проверки можно использовать такой запрос:
curl -s https://example.com/sitemap_index.xml | head -n 20Если вы видите XML-индекс с нужными ссылками, а старый адрес больше не фигурирует в robots.txt, базовая задача решена.
Частые ошибки и как их исправить
Отключили не тот источник
Самая частая ошибка — выключить карту ядра, когда сайт уже использует карту SEO-плагина, или наоборот. Внешне это выглядит как «пропала карта сайта», хотя на деле просто изменился адрес. Исправление простое: найдите активный источник и оставьте только его.
Оставили старый sitemap в robots.txt
Даже если файл уже отключён, ссылка в robots.txt продолжает жить своей жизнью. Поисковик может ещё какое-то время ходить по старому адресу. После изменения robots.txt нужно проверить его вручную и очистить кэш, если файл отдаётся через CDN.
Отключили sitemap, но не обновили Search Console
Если адрес карты поменялся, старую отправку в Search Console лучше заменить новой. Иначе в отчётах останется мусор, а часть ошибок будет относиться к уже неактуальному URL.
Сломали карту через кэш
Иногда sitemap продолжает открываться из кэша даже после отключения генератора. Это особенно заметно на сайтах с серверным кэшированием или CDN. В таком случае нужно сбросить кэш на всех уровнях и повторить проверку через curl, а не только в браузере.
Безопасность и производительность
XML sitemap сам по себе не тяжёлый, но лишние генераторы создают ненужную нагрузку и усложняют поддержку. На больших сайтах это особенно заметно, если карту строят сразу несколько плагинов или если в неё попадают сотни служебных URL.
Если вам нужен не просто «выключатель дублей», а более системная чистка WordPress, можно посмотреть в сторону Clearfy Pro. Но даже с плагином принцип остаётся тем же: один источник sitemap, понятный robots.txt и проверка результата после изменений.
Не отключайте sitemap только потому, что он «лишний на вид». Если у сайта нет другой карты, отключение может ухудшить обнаружение новых страниц. Безопаснее сначала убрать дублирующий источник, а не сам механизм целиком.
Что проверить перед публикацией изменений
- активен только один sitemap-адрес;
- robots.txt содержит актуальную ссылку;
- в карте нет служебных URL;
- старый адрес не отдаёт рабочий XML без необходимости;
- Search Console получает именно тот sitemap, который вы оставили;
- кэш и CDN очищены после правок.
Если после отключения карта сайта стала недоступна, не возвращайте всё назад вслепую. Сначала проверьте, кто именно генерировал XML, и только потом включайте нужный источник обратно. В WordPress такие проблемы почти всегда решаются точечной настройкой, а не полным откатом.