Как отключить XML Sitemap в WordPress и заменить его своим

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

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

Когда встроенный sitemap WordPress становится проблемой

С версии 5.5 WordPress сам генерирует XML sitemap по адресу /wp-sitemap.xml. Для простого сайта это нормально, но в проектах с SEO-плагином, кастомными типами записей и отдельной логикой индексации начинаются накладки.

Типичные сценарии:

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

Что проверить до изменений

Сначала посмотрите, кто именно сейчас генерирует карту сайта. Если у вас установлен Yoast SEO, Rank Math, All in One SEO или другой SEO-плагин, у него почти наверняка есть собственный sitemap. В этом случае отключение встроенного варианта WordPress обычно оправдано.

  • Откройте /wp-sitemap.xml и проверьте, отдаётся ли XML;
  • проверьте sitemap SEO-плагина, например /sitemap_index.xml;
  • сравните, нет ли в них одинаковых URL;
  • посмотрите, не закрыт ли sitemap в robots.txt или на уровне сервера.

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

В ядре WordPress для этого есть фильтр wp_sitemaps_enabled. Это безопаснее, чем править ядро или пытаться блокировать URL через .htaccess. Фильтр можно добавить в дочернюю тему, в mu-plugin или в небольшой собственный плагин.

Вариант через functions.php

add_filter( 'wp_sitemaps_enabled', '__return_false' );

После этого адрес /wp-sitemap.xml перестанет работать, а WordPress не будет генерировать встроенные sitemap-файлы.

Вариант через отдельный mu-plugin

Если вы не хотите зависеть от темы, создайте файл wp-content/mu-plugins/disable-wp-sitemap.php и добавьте туда:

<?php
/**
 * Plugin Name: Disable WP Sitemap
 */
add_filter( 'wp_sitemaps_enabled', '__return_false' );

Такой вариант удобнее на проектах, где тема может меняться, а логика SEO должна остаться неизменной.

Чем заменить встроенный sitemap

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

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

ПодходПлюсыМинусы
Оставить встроенный sitemap WordPressНе требует настройки, работает из коробкиМало контроля, возможны конфликты с SEO-плагином
Отключить и использовать sitemap SEO-плагинаОдин источник правды, проще управлять индексированиемЗависимость от плагина
Сделать свой генератор sitemapПолный контроль над URLНужно поддерживать код и обновления

Пошаговая схема внедрения

  1. Проверьте, есть ли у сайта уже sitemap от SEO-плагина.
  2. Откройте /wp-sitemap.xml и убедитесь, что это именно встроенная карта WordPress.
  3. Добавьте фильтр wp_sitemaps_enabled через functions.php или mu-plugin.
  4. Очистите кеш сайта, если он есть.
  5. Проверьте, что старый URL больше не отдаёт XML.
  6. Убедитесь, что в robots.txt указан только нужный sitemap.

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

Проверка должна быть не визуальной, а технической. Иначе легко пропустить кеш или старую версию страницы.

  • Откройте https://ваш-домен/wp-sitemap.xml в браузере: должен быть 404, 410 или редирект на нужный sitemap, если вы так настроили;
  • проверьте ответ через curl -I https://ваш-домен/wp-sitemap.xml;
  • посмотрите, что основной sitemap SEO-плагина открывается без ошибок;
  • в Search Console отправьте актуальный sitemap и убедитесь, что нет новых ошибок сканирования;
  • проверьте robots.txt: там должен быть указан только рабочий sitemap.
curl -I https://example.com/wp-sitemap.xml
curl -I https://example.com/sitemap_index.xml

Если первый адрес всё ещё отдаёт 200 OK, значит фильтр не применился или его перебивает другой код. Часто это бывает, когда правки внесли не в ту тему, а сайт работает на дочерней, или когда кеш отдаёт старую версию страницы.

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

Фильтр добавили, но sitemap всё ещё открывается

Причина обычно в кеше: плагин кеширования, серверный кеш или CDN. Сначала сбросьте кеш, потом повторите проверку через curl -I. Если ответ не меняется, проверьте, не подключён ли код в неактивной теме.

Отключили встроенный sitemap, а поисковик всё равно видит старый URL

Это нормально на переходном этапе. Поисковые системы не обновляют данные мгновенно. Важно, чтобы старый адрес не отдавал актуальный XML и не был указан в robots.txt как основной.

Отключили не тот sitemap

Иногда путают встроенный sitemap WordPress и sitemap SEO-плагина. Перед изменениями всегда смотрите, какой именно URL вы хотите убрать. Если у вас несколько sitemap-файлов, не трогайте рабочий индекс плагина.

Сломали sitemap плагина из-за дублирующего кода

Если в теме или плагине уже есть кастомная логика для sitemap, не добавляйте второй фильтр без проверки. Сначала найдите все упоминания wp_sitemaps_enabled и убедитесь, что код не конфликтует.

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

Отключение встроенного sitemap само по себе не ускоряет сайт заметно, но убирает лишнюю точку генерации XML и снижает риск путаницы в индексации. Для продакшена лучше держать такую логику в mu-plugin, а не в теме: это уменьшает шанс случайно потерять настройку после редизайна.

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

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

Что делать после внедрения

Когда встроенный sitemap отключён, не оставляйте это без контроля. Через несколько дней проверьте логи сервера, Search Console и ответ старого URL. Если старый адрес продолжает активно запрашиваться, возможно, где-то осталась ссылка на него — в шаблоне, в robots.txt или в настройках другого плагина.

Практически всегда лучший вариант для WordPress-проекта — один sitemap-источник, понятная структура URL и отсутствие дублирующих карт сайта. Это проще поддерживать и легче объяснить поисковым системам.

Как убрать дубли страниц в WordPress от фильтров, пагинации и UTM-параметров
15.09.2026
Как запретить индексацию технических страниц в WordPress
15.09.2026
Как отключить XML Sitemap в WordPress и заменить его своим
19.09.2026
×

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

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

пишет статьи

готовит SEO

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

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