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

|

Ситуация типовая: в WordPress уже есть карта сайта от ядра, но SEO-плагин или тема добавляют свою. В итоге в /sitemap.xml открывается не то, что вы ожидаете, в Search Console появляются дубли, а при смене плагина карта начинает вести на старые URL. Отключать XML-карту «в лоб» можно, но только если вы понимаете, кто именно её генерирует и чем это заменяется.

Ниже — практический сценарий: как найти источник карты сайта, отключить лишнее, не сломать индексацию и проверить, что поисковики видят ровно один актуальный sitemap.

Когда XML-карта сайта становится проблемой

Обычно проблема не в самой карте сайта, а в конфликте источников. В WordPress XML sitemap может отдавать:

Если одновременно доступны несколько карт, поисковик может видеть разные наборы URL, а вы — разные ответы на один и тот же адрес. Это особенно заметно после миграции сайта, смены SEO-плагина или чистки старых расширений.

Диагностика: что именно отдаёт sitemap

Сначала проверьте, какой ответ возвращает адрес карты сайта. В браузере этого мало: нужен именно HTTP-ответ и содержимое.

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

Если у вас открывается HTML-страница, а не XML, значит адрес перехвачен редиректом, кэшем или плагином. Если видите XML, посмотрите в начале файла, кто его генерирует: у ядра WordPress обычно есть индексная карта с ссылками на отдельные sitemap-файлы, у SEO-плагинов структура может отличаться.

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

Если все три адреса живые, у вас почти наверняка есть дублирование.

Как отключить лишнюю XML-карту сайта

Правильный путь зависит от того, чем карта создаётся. Самая частая ошибка — удалять файл или закрывать URL в robots.txt. Это не отключает генерацию и не решает конфликт источников.

Вариант 1. Отключить встроенную карту WordPress

Если вы используете SEO-плагин, встроенная карта ядра часто не нужна. Её можно отключить через фильтр wp_sitemaps_enabled. Добавьте код в functions.php дочерней темы или в свой mu-plugin.

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

После этого адрес /wp-sitemap.xml должен перестать отдавать карту. Но если SEO-плагин тоже генерирует sitemap, его карта останется доступной — и это нормально, если вы сознательно оставляете один источник.

Вариант 2. Отключить карту в SEO-плагине

У большинства SEO-плагинов карта выключается в настройках. Это предпочтительнее, чем код, если вы не хотите поддерживать кастомные фильтры после обновлений.

ПодходЧто делатьПлюсМинус
Настройки плагинаВыключить XML sitemap в интерфейсе SEO-плагинаБез кода, проще сопровождатьЗависит от конкретного плагина
КодОтключить wp_sitemaps_enabled или фильтр плагинаТочный контрольНужно следить за темой и обновлениями
Удаление плагинаПолностью убрать генератор sitemapЧистая схемаМожно потерять нужные типы URL

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

Вариант 3. Отключить только отдельные типы записей или таксономии

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

Если вы пишете свой код, не удаляйте URL вручную из XML-вывода строковыми заменами. Работайте на уровне фильтров плагина или ядра, иначе при обновлении всё сломается.

Пошаговое решение без потери индексации

  1. Определите, какой sitemap сейчас основной: /wp-sitemap.xml, /sitemap_index.xml или другой адрес.
  2. Проверьте, не дублируется ли карта в нескольких местах.
  3. Отключите только один источник генерации.
  4. Сохраните один актуальный sitemap и убедитесь, что он содержит нужные типы контента.
  5. Обновите карту в Search Console после проверки ответа сервера.

Если вы отключаете встроенную карту WordPress, а SEO-плагин оставляете, логика простая: один генератор, один адрес, один набор URL. Это лучше, чем несколько карт с пересекающимися записями.

Пример проверки через PHP

Если нужно быстро понять, доступна ли карта и не отдаёт ли она ошибку, можно временно проверить это через HTTP-запрос из PHP. Такой код полезен при отладке на staging-сайте.

<?php
$response = wp_remote_get( home_url( '/wp-sitemap.xml' ) );

if ( is_wp_error( $response ) ) {
    error_log( $response->get_error_message() );
    return;
}

$code = wp_remote_retrieve_response_code( $response );
$body = wp_remote_retrieve_body( $response );

if ( 200 === $code && str_contains( $body, '<urlset' ) || str_contains( $body, '<sitemapindex' ) ) {
    error_log( 'Sitemap looks OK' );
}

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

Проверка результата после внедрения

После отключения лишнего sitemap проверьте не только страницу в браузере, но и технические признаки:

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

Что смотреть в Search Console

В отчёте по файлам sitemap проверьте, что:

Если Search Console продолжает показывать старый sitemap, часто виноват кэш на стороне сервера или CDN. В этом случае сначала сбросьте кэш, а уже потом повторно отправляйте карту.

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

Удалили sitemap, но не отключили генератор

Если вы просто удалили файл или закрыли путь в robots.txt, генератор всё равно может создавать карту заново. Исправление: отключите источник на уровне плагина или ядра.

Оставили две карты одновременно

Одна карта от ядра, вторая от SEO-плагина — частый источник дублей. Исправление: оставьте только один механизм генерации и проверьте все возможные адреса.

Сломали карту после обновления темы

Если код отключения лежал в functions.php активной темы, при смене темы он исчезнет. Исправление: перенесите кастомный код в дочернюю тему или mu-plugin.

Проверяли только в браузере

Браузер может показать старую версию из кэша или красиво отрендерить XML, даже если сервер уже отдаёт ошибку. Исправление: проверяйте ответ через curl или DevTools по заголовкам и статусу.

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

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

Для production-сайта безопаснее:

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

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

Как отключить XML-RPC в WordPress без поломки плагинов и мобильных приложений
09.09.2026
Как отключить XML-RPC в WordPress без поломки сайта и плагинов
19.09.2026
Как отключить XML-карту сайта в WordPress без поломки индексации
25.09.2026
Как убрать дубли страниц в WordPress от фильтров, архивов и параметров
22.09.2026
Как отключить emojis в WordPress без поломки админки и фронтенда
15.09.2026
×
-15%
на премиум-тему
Bono

Создай магазин мечты
на WordPress!

↓ ↓ ↓ ↓ ↓
Купить со скидкой »