wpset.ru wordpress wpset.ru

Как отключить XML sitemap в WordPress и не потерять контроль над индексацией

В 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-плагинов нет, и выдумывать его не стоит.

Пошаговое решение без лишнего риска

  1. Определите, какой sitemap сейчас активен: встроенный WordPress, SEO-плагин или оба сразу.
  2. Если нужен только один источник, отключите встроенный sitemap через wp_sitemaps_enabled.
  3. Если sitemap генерирует SEO-плагин, отключите его в настройках самого плагина.
  4. Очистите кэш сайта, серверный кэш и CDN.
  5. Проверьте ответ по адресу /wp-sitemap.xml и альтернативному адресу sitemap плагина.
  6. Обновите 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-выводами.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше