Как отключить XML Sitemap в WordPress без поломки индексации и дублей

XML Sitemap в WordPress часто включают «на автомате», а потом получают лишние URL в индексе, дубли служебных страниц или конфликт с картой сайта от SEO-плагина. Проблема не в самой карте, а в том, что на сайте может одновременно работать несколько источников sitemap, и поисковик начинает обходить не те адреса.

Если у вас уже есть Yoast SEO, Rank Math, SEOPress или другой SEO-плагин с собственной картой сайта, встроенный sitemap WordPress обычно только мешает. Ниже разберём, как понять, что именно ломает индексацию, как отключить встроенную карту безопасно и как проверить результат после изменений.

Когда XML Sitemap в WordPress действительно мешает

Симптомы обычно видны в Search Console или в логах обхода. Самый частый сценарий: в индексе появляются URL, которые вы не планировали отдавать поиску, а в sitemap находятся записи, страницы вложений или таксономии с пустым контентом. Ещё один типичный случай — у сайта есть карта от SEO-плагина, но поисковик продолжает ходить и по /wp-sitemap.xml, и по карте плагина.

Что проверить в первую очередь

  • Откройте /wp-sitemap.xml и посмотрите, отдаёт ли WordPress карту сайта.
  • Проверьте, не генерирует ли SEO-плагин собственный sitemap по другому адресу.
  • Сравните список URL в карте с тем, что реально должно индексироваться.
  • Посмотрите, нет ли в sitemap архивов, медиа-страниц, служебных таксономий или пустых шаблонных страниц.

Если карта сайта от WordPress и карта от плагина существуют одновременно, это не всегда критично, но часто создаёт шум. Для небольших сайтов это просто лишняя нагрузка на поддержку. Для крупных — риск разъезда настроек и дублей.

Диагностика: откуда именно берётся sitemap

Начиная с WordPress 5.5, встроенная карта сайта включена по умолчанию. Она работает без плагинов и доступна по адресу /wp-sitemap.xml. Если SEO-плагин тоже генерирует sitemap, нужно решить, какой источник оставить основным.

Проверка простая: откройте адрес карты в браузере и посмотрите заголовок или HTML-структуру. Если там видны стандартные sitemap-индексы WordPress, значит работает ядро. Если URL отличается и структура другая — карту отдаёт плагин.

Для быстрой проверки можно использовать curl:

curl -I https://example.com/wp-sitemap.xml

Если ответ 200 OK, карта активна. Если 404 или редирект на другой sitemap, значит встроенная карта уже отключена либо перехвачена плагином/темой.

Как отключить встроенный XML Sitemap в WordPress

Самый надёжный способ — отключить генерацию через фильтр wp_sitemaps_enabled. Это штатный механизм WordPress, без правки ядра и без костылей в .htaccess.

<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );

Код можно добавить в functions.php дочерней темы, в mu-plugin или в собственный мини-плагин. Для продакшена 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' );

После этого WordPress перестанет отдавать /wp-sitemap.xml и связанные с ним карты.

Если sitemap нужен только частично

Иногда встроенную карту отключать полностью не хочется, а нужно убрать только отдельные типы контента. Тогда можно оставить sitemap включённым и точечно исключить, например, вложения или конкретные пост-тайпы. Для этого есть фильтры WordPress, но использовать их стоит только если вы точно понимаете структуру сайта и знаете, что именно должно индексироваться.

Пример исключения вложений из sitemap:

<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
    unset( $post_types['attachment'] );
    return $post_types;
} );

Такой подход полезен, если вы не хотите отключать карту целиком, но медиа-страницы вам в индексе не нужны. Однако если SEO-плагин уже управляет sitemap, лучше настраивать исключения именно в нём, а не дублировать логику в коде.

Сравнение подходов: плагин, код или полное отключение

ПодходКогда подходитПлюсМинус
Отключить через кодНужен полный контроль над sitemapПрозрачно и без лишних зависимостейНужно не забыть про SEO-плагин
Настроить в SEO-плагинеКарта уже генерируется плагиномУдобно для контент-менеджераНастройки могут сбиться после обновлений
Оставить всё как естьОчень маленький сайт без SEO-плагинаМинимум действийРиск дублей и лишних URL в индексе

Для большинства рабочих сайтов логика простая: если SEO-плагин уже отвечает за карту сайта, встроенный sitemap WordPress лучше отключить. Если SEO-плагина нет, а сайт небольшой, можно оставить штатный механизм, но проверить, что в нём нет мусорных URL.

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

  1. Проверьте, какой sitemap сейчас активен: WordPress, SEO-плагин или оба сразу.
  2. Если есть SEO-плагин с sitemap, отключите встроенную карту WordPress через wp_sitemaps_enabled.
  3. Если sitemap нужен, но часть URL не должна индексироваться, настройте исключения точечно.
  4. Очистите кеш сайта, CDN и серверный кеш, если он есть.
  5. Переотправьте актуальную карту сайта в Search Console.

Если вы используете Clearfy Pro, часть задач по чистке дублей и технической оптимизации можно закрыть через интерфейс плагина, но принцип остаётся тем же: не должно быть двух независимых источников sitemap, которые спорят друг с другом.

Как проверить, что решение сработало

После внедрения важно не ограничиваться открытием страницы в браузере. Нужна проверка с нескольких сторон.

  • Адрес /wp-sitemap.xml должен отдавать 404 или не должен существовать, если вы отключали встроенную карту полностью.
  • Если sitemap оставлен через SEO-плагин, убедитесь, что именно он доступен и содержит только нужные URL.
  • В Search Console проверьте, что в отчёте по sitemap отправлен один актуальный источник, а не несколько.
  • Сравните список URL в карте с реальным набором индексируемых страниц.

Дополнительно полезно проверить, не остались ли старые адреса в кеше. Иногда браузер или CDN продолжает отдавать старую версию sitemap, и кажется, что отключение не сработало.

Частые ошибки и как их исправить

Отключили sitemap в WordPress, но забыли про SEO-плагин

В результате карта сайта всё равно доступна, только уже из другого источника. Это не ошибка, если вы сознательно оставили карту плагина. Ошибка — когда вы ожидали полного отключения, а проверили только /wp-sitemap.xml.

Удалили карту, но не обновили Search Console

Поисковик ещё какое-то время может обходить старые URL. После изменений нужно отправить актуальный sitemap и дождаться повторного обхода.

Спрятали sitemap через robots.txt

Это не равно отключению. Если карта физически доступна, поисковик может всё равно её обнаружить. Для реального отключения нужен фильтр WordPress или настройка плагина.

Правили ядро WordPress

Так делать не стоит. После обновления изменения пропадут, а отладка станет сложнее. Используйте фильтр, mu-plugin или настройки SEO-плагина.

Безопасность и производительность: что учесть

Отключение лишнего sitemap само по себе не ускорит сайт радикально, но уберёт один источник путаницы и лишние запросы. Если сайт большой, полезно ещё проверить, не генерируются ли тяжёлые карты с тысячами URL без необходимости. В этом случае лучше ограничить состав sitemap и не включать туда служебные разделы.

С точки зрения безопасности sitemap не должен раскрывать лишнюю структуру сайта. Если в нём видны служебные страницы, внутренние таксономии или тестовые записи, это уже повод пересмотреть настройки индексации.

Практический ориентир простой: sitemap должен помогать поисковику находить нужные страницы, а не перечислять всё, что есть в базе данных WordPress.

Как закрыть архивы авторов от индексации в WordPress без удаления страниц и дублей
27.09.2026
Как отключить XML-RPC pingback в WordPress без поломки внешних сервисов
10.09.2026
Как закрыть страницы поиска WordPress от индексации и убрать дубли в выдаче
04.09.2026
Как отключить архивы дат в WordPress без дублей и поломки SEO
24.09.2026
Как отключить архив авторов в WordPress без потери SEO и дублей
26.08.2026