В WordPress XML sitemap часто включён по умолчанию, и в обычном проекте это удобно. Но на практике бывают ситуации, когда карта сайта начинает мешать: дублирует данные из SEO-плагина, отдаёт лишние URL, конфликтует с кастомной логикой или просто создаёт путаницу при диагностике индексации. В таких случаях лучше не гадать, а отключить именно тот sitemap, который реально отдаёт сайт.
Когда XML sitemap действительно стоит отключить
Самая частая ошибка — выключать карту сайта «на всякий случай». Это плохая идея. Отключение имеет смысл, если у вас уже есть другой источник sitemap или если встроенный вариант WordPress создаёт конфликт.
- SEO-плагин уже генерирует собственный sitemap и вы не хотите дублирования.
- На сайте есть кастомные типы записей, которые не должны попадать в карту сайта.
- Нужно временно убрать sitemap на этапе миграции или отладки.
- Сайт отдаёт лишние URL через плагин, тему или сторонний код.
Если же sitemap нужен для обычной индексации, отключать его без замены не стоит. Поисковики не обязаны быстро и стабильно находить новые страницы без карты сайта, особенно на больших проектах.
Диагностика: какой sitemap сейчас работает
В WordPress 5.5 и выше встроенная карта сайта обычно доступна по адресу /wp-sitemap.xml. Но на сайте может одновременно работать sitemap от Yoast SEO, Rank Math, All in One SEO или другого плагина. Поэтому сначала проверьте, кто именно отдаёт XML.
Что смотреть в первую очередь
- Откройте
/wp-sitemap.xmlв браузере. - Проверьте, не отдаёт ли SEO-плагин отдельный sitemap, например
/sitemap_index.xml. - Посмотрите исходный код robots.txt: иногда туда уже добавлена ссылка на sitemap.
- Если есть кэш, очистите его перед проверкой, чтобы не смотреть старую версию ответа.
Если /wp-sitemap.xml открывается, а SEO-плагин тоже генерирует свою карту сайта, у вас уже два источника. Это не всегда ошибка, но часто именно так появляются лишние вопросы в Search Console.
Как отключить встроенный XML sitemap штатно
У WordPress есть фильтр wp_sitemaps_enabled. Это самый безопасный способ отключить встроенную генерацию карты сайта, если вы хотите оставить остальную логику сайта без изменений.
<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );Код можно добавить в functions.php дочерней темы или, что лучше, в небольшой mu-plugin. Так вы не потеряете настройку при обновлении темы.
Вариант через mu-plugin
Если не хотите зависеть от темы, создайте файл, например wp-content/mu-plugins/disable-wp-sitemap.php:
<?php
/**
* Plugin Name: Disable WP Sitemap
*/
add_filter( 'wp_sitemaps_enabled', '__return_false' );После этого встроенный /wp-sitemap.xml должен перестать открываться. Если он всё ещё доступен, проверьте кэш, CDN и наличие SEO-плагина, который подхватывает тот же адрес через редирект или rewrite.
Если sitemap отдаёт SEO-плагин
Отключение встроенного sitemap не влияет на карту сайта, которую генерирует SEO-плагин. Это важный момент: многие думают, что выключили sitemap полностью, а на деле просто убрали стандартный WordPress-вариант.
| Подход | Что отключает | Плюс | Минус |
|---|---|---|---|
Фильтр wp_sitemaps_enabled | Встроенный sitemap WordPress | Безопасно и прозрачно | Не влияет на sitemap плагинов |
| Настройка SEO-плагина | Sitemap самого плагина | Убирает источник дублирования | Нужно искать настройку в конкретном плагине |
Удаление через robots.txt | Ничего не отключает | Можно скрыть ссылку | Не решает проблему генерации |
Если ваша задача — убрать именно sitemap плагина, ищите его настройку в интерфейсе. У Yoast, Rank Math и других популярных решений это обычно отдельный переключатель в разделе XML sitemap или Indexing. Универсального кода для всех SEO-плагинов нет, и выдумывать его не стоит.
Пошаговое решение без лишнего риска
- Определите, какой sitemap сейчас активен: встроенный WordPress, SEO-плагин или оба сразу.
- Если нужен только один источник, отключите встроенный sitemap через
wp_sitemaps_enabled. - Если sitemap генерирует SEO-плагин, отключите его в настройках самого плагина.
- Очистите кэш сайта, серверный кэш и CDN.
- Проверьте ответ по адресу
/wp-sitemap.xmlи альтернативному адресу sitemap плагина. - Обновите robots.txt, если там осталась старая ссылка на отключённую карту сайта.
Как проверить, что решение сработало
Проверка должна быть не «вроде открылось», а по конкретным признакам. Иначе легко пропустить редирект, кэш или второй sitemap.
/wp-sitemap.xmlвозвращает 404 или пустой ответ, если вы отключали встроенный sitemap.- Альтернативный sitemap от SEO-плагина открывается и содержит только нужные URL.
- В robots.txt нет ссылки на старую карту сайта, если она больше не используется.
- В Google Search Console не растёт число ошибок по несуществующим sitemap-адресам.
Для быстрой проверки можно использовать curl:
curl -I https://example.com/wp-sitemap.xml
curl -I https://example.com/sitemap_index.xmlЕсли сервер отвечает 200 там, где вы ожидали 404, значит отключение не сработало или ответ подменяется кэшем/редиректом.
Частые ошибки и как их исправить
Отключили не тот sitemap
Пользователь убирает встроенный sitemap WordPress, но в Search Console продолжает видеть карту сайта от плагина. Это не баг, а нормальное поведение. Решение — отключать именно тот источник, который реально отдаёт URL.
Не очистили кэш
После изменений страница /wp-sitemap.xml ещё какое-то время открывается из кэша. Проверьте плагин кэширования, серверный кэш и CDN. Если есть reverse proxy, он тоже может держать старый ответ.
Сломали индексацию, убрав sitemap без замены
Если у сайта нет другого способа сообщать поисковикам о новых страницах, отключение sitemap ухудшает обнаружение контента. В таком случае сначала настройте новый источник карты сайта, а уже потом отключайте старый.
Добавили код в родительскую тему
После обновления темы настройка исчезает. Для таких правок лучше использовать дочернюю тему или mu-plugin. Это особенно важно, если сайт обслуживается несколькими разработчиками.
Безопасность и производительность
Сам по себе sitemap не создаёт серьёзной нагрузки, но на больших сайтах с множеством типов записей и таксономий лишняя генерация может быть заметна. Если вы отключаете встроенный вариант ради упрощения стека, делайте это осознанно: один источник sitemap лучше, чем два конкурирующих.
Не стоит закрывать sitemap через robots.txt вместо реального отключения. Это только скрывает адрес от роботов, но не убирает генерацию и не решает конфликтов. Если карта сайта больше не нужна, отключайте её на уровне WordPress или плагина.
Если вам нужно не просто отключить sitemap, а почистить сайт от дублей, лишних архивов и технического шума, в экосистеме WPShop для этого есть Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpset.ru&utm_medium=article&utm_campaign=otklyuchit-xml-sitemap-v-wordpress. Но даже в этом случае сначала проверьте, какой sitemap у вас активен, а потом уже меняйте настройки.
Что делать, если нужен временный откат
Иногда карту сайта отключают только на время миграции, редизайна или переноса домена. В таком сценарии полезно заранее сохранить исходную конфигурацию: где был включён sitemap, какой адрес использовался и кто его отдавал. Тогда откат займёт минуты, а не часы поиска по настройкам.
Практика простая: сначала фиксируете текущий адрес sitemap, потом меняете только один источник, затем проверяете ответ сервера и Search Console. Такой порядок снижает риск случайно оставить сайт без карты сайта или, наоборот, с двумя конкурирующими XML-выводами.