XML sitemap в WordPress обычно полезен, но бывают сценарии, когда он начинает мешать: дублируется из-за нескольких SEO-плагинов, отдаёт мусорные URL, светит служебные страницы или просто конфликтует с вашей схемой индексации. В таких случаях отключать sitemap можно, но делать это нужно аккуратно: не «рубить» всё подряд, а сначала понять, кто именно его генерирует и какие URL реально нужны поисковикам.
Ниже — рабочая схема для типовой установки WordPress: как диагностировать источник карты сайта, отключить её без лишних потерь и проверить результат в браузере, через Search Console и по ответам сервера.
Когда sitemap действительно стоит отключать
Отключение XML sitemap имеет смысл не потому, что карта сайта «плохая», а когда она создаёт технический шум. Самые частые случаи:
- установлены два SEO-плагина, и каждый пытается отдать свой sitemap;
- в sitemap попадают архивы, вложения, теги или таксономии, которые вы не хотите индексировать;
- сайт использует отдельную логику генерации URL, а стандартный sitemap только мешает;
- после миграции остались старые sitemap-адреса, которые отдают 200 OK, но содержат неактуальные ссылки;
- нужно временно убрать карту сайта на этапе редизайна или массовой чистки контента.
Если у вас проблема не в самой карте сайта, а в дублировании страниц, сначала лучше проверить настройки индексации и robots.txt. Sitemap не заменяет эти механизмы и не исправляет ошибки структуры сайта.
Диагностика: кто именно генерирует XML sitemap
В WordPress карту сайта может отдавать ядро, SEO-плагин или кастомный код темы/плагина. Начинать нужно с проверки URL, который открывается в браузере. Для ядра WordPress это обычно /wp-sitemap.xml. У SEO-плагинов адрес может быть другим: /sitemap_index.xml, /sitemap.xml и так далее.
Что проверить вручную
- откройте подозрительный URL sitemap в браузере;
- посмотрите исходный XML: есть ли там ссылки на записи, рубрики, авторов, медиа;
- проверьте заголовок ответа сервера: не отдаётся ли редирект на другой sitemap;
- убедитесь, что sitemap не генерируется одновременно ядром и плагином.
Если есть доступ к консоли, полезно посмотреть ответ сервера напрямую:
curl -I https://example.com/wp-sitemap.xmlИ отдельно проверить содержимое:
curl -s https://example.com/wp-sitemap.xml | head -n 20Если в ответе видите XML, значит endpoint живой. Если там 404, 301 на другой адрес или HTML-страница вместо XML, это уже подсказка, где искать конфликт.
Как отключить sitemap в ядре WordPress
Начиная с WordPress 5.5, базовый sitemap включён в ядре. Его можно отключить фильтром wp_sitemaps_enabled. Это самый чистый способ, если вы хотите убрать именно встроенную карту сайта, но оставить sitemap от SEO-плагина.
<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );Код можно добавить в functions.php дочерней темы или в небольшой mu-plugin, если не хотите зависеть от темы. Для production-сайта mu-plugin обычно надёжнее: он не исчезнет после смены темы.
Когда этого недостаточно
Если sitemap продолжает открываться, значит его отдаёт не ядро, а другой плагин. В этом случае отключение фильтра на ядро ничего не изменит. Тогда нужно искать настройки конкретного SEO-плагина или отключать его модуль sitemap в админке.
Как отключить sitemap в популярных SEO-плагинах
У каждого плагина свой способ. Универсального «одного хука на всё» здесь нет, и это важно учитывать, чтобы не сломать индексацию случайно.
| Подход | Плюсы | Минусы |
|---|---|---|
| Настройка в SEO-плагине | Безопасно, не требует кода | Нужно знать, где именно выключается модуль |
| Фильтр в коде | Подходит для точечного контроля | Зависит от конкретного плагина или ядра |
| Удаление sitemap через серверные правила | Можно быстро скрыть endpoint | Легко сломать редиректы и диагностику |
Если вы используете SEO-плагин, сначала ищите переключатель sitemap в его настройках. Это предпочтительнее, чем резать URL на уровне nginx или .htaccess. Серверные правила стоит использовать только если нужно закрыть старый адрес после миграции.
Пошаговое решение без потери важных URL
Ниже схема, которая обычно работает без побочных эффектов.
- Определите, кто генерирует sitemap: ядро WordPress, SEO-плагин или кастомный код.
- Отключите только лишний источник sitemap, а не все механизмы индексации.
- Проверьте, не остались ли в sitemap служебные типы записей, вложения и архивы.
- Обновите карту сайта в Google Search Console и Bing Webmaster Tools, если они используются.
- Проверьте, что важные страницы по-прежнему доступны для обхода через внутренние ссылки.
Если вам нужно не просто отключить sitemap, а убрать из него отдельные типы контента, лучше настраивать исключения точечно. Например, для ядра WordPress можно отключить конкретные типы записей через фильтры sitemap, но это уже зависит от структуры сайта и требует аккуратной проверки.
Пример: отключить sitemap только для ядра, оставив SEO-плагин
<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );
// Если SEO-плагин продолжает отдавать sitemap, проверьте его настройки отдельно.
// Не пытайтесь отключить всё через robots.txt — это не убирает сам endpoint.Как проверить, что решение сработало
После изменений не ограничивайтесь открытием URL в браузере. Нужна проверка по нескольким уровням.
- HTTP-ответ: sitemap должен отдавать 404, 410 или другой ожидаемый статус, если вы его отключили полностью.
- XML-структура: если sitemap оставлен, в нём не должно быть лишних URL.
- Search Console: старый sitemap не должен продолжать массово показывать ошибки загрузки.
- Внутренние ссылки: важные страницы должны быть доступны из меню, категорий, хлебных крошек и контента.
Проверка через curl помогает быстро понять, что реально отдаёт сервер:
curl -I https://example.com/sitemap.xml
curl -I https://example.com/wp-sitemap.xmlЕсли один адрес отдаёт 200 OK, а второй 404, значит у вас остался активным только один источник. Это нормальная ситуация, если вы сознательно оставили sitemap от SEO-плагина.
Частые ошибки и как их исправить
Отключили sitemap в robots.txt
Это частая ошибка. Robots.txt не выключает генерацию sitemap, а только подсказывает ботам, что не нужно обходить указанный путь. Сам endpoint при этом остаётся доступным. Если цель — убрать карту сайта, отключайте генератор, а не только строку в robots.txt.
Сломали sitemap редиректом на 404
Иногда после удаления плагина старый адрес начинают глушить через жёсткий редирект или правило сервера. В результате поисковики получают цепочку редиректов или HTML-страницу вместо XML. Лучше вернуть корректный 404/410 для старого адреса и обновить ссылки в Search Console.
Отключили не тот источник
Ядро WordPress и SEO-плагин могут работать параллельно. Если убрать только один источник, второй продолжит отдавать sitemap. Перед правками проверьте, какой URL реально индексируется и какой плагин отвечает за него.
Удалили sitemap, но не пересмотрели внутреннюю перелинковку
Если карта сайта была единственным способом находить новые страницы, после отключения поисковики будут обходить сайт медленнее. В этом случае нужно усилить внутренние ссылки, а не просто скрывать endpoint.
Безопасность и производительность: что учесть
С точки зрения производительности sitemap обычно не самая тяжёлая часть сайта, но на больших проектах его генерация может создавать лишние запросы к базе. Если у вас тысячи записей, таксономий и вложений, лучше не держать в sitemap всё подряд. Убирайте мусорные типы контента и проверяйте, не создаёт ли плагин лишнюю нагрузку при каждом запросе.
С точки зрения безопасности не стоит публиковать в sitemap служебные или внутренние URL только потому, что они «и так закрыты robots.txt». Карта сайта — это не защита, а список для обхода. Если URL не должен быть найден, его не должно быть ни в sitemap, ни в меню, ни в XML-выгрузках плагинов.
Если вам нужен более системный контроль над дублями, мета-тегами и технической чисткой сайта, иногда проще собрать это в одном инструменте, чем держать несколько конфликтующих плагинов. Но даже в этом случае сначала проверьте, какие именно URL он меняет, и не полагайтесь на настройки вслепую.
Когда лучше не отключать sitemap полностью
Полное отключение карты сайта не всегда оправдано. Если сайт регулярно обновляется, а структура контента меняется, sitemap помогает поисковикам быстрее находить новые страницы и переобходить старые. В таком случае лучше не выключать его целиком, а:
- убрать из sitemap служебные и малополезные типы контента;
- оставить только записи, страницы и нужные таксономии;
- проверить, что в XML нет дублей и битых ссылок;
- обновить sitemap после миграции или чистки контента.
Если задача именно в технической чистке WordPress, отключение sitemap — это только один из шагов. Обычно рядом идут проверка дублей, настройка индексации архивов и ревизия SEO-плагина. Делать это лучше последовательно: сначала диагностика, потом точечное отключение, затем контроль ответа сервера и отчётов поисковых систем.