Ситуация типовая: сайт уже отдает карту сайта через SEO-плагин, а встроенный sitemap WordPress только дублирует URL, путает диагностику в Search Console или мешает при миграции. Отключать его можно, но важно понимать, какой именно sitemap вы убираете: встроенный ядром WordPress или карту сайта от плагина.
Если отключить не тот источник, можно получить пустую карту, дубли или потерять актуальные URL в индексации. Ниже — рабочая схема для проверки, отключения и контроля результата.
Когда встроенный XML sitemap действительно стоит отключить
В WordPress с версии 5.5 есть встроенный XML sitemap по адресу /wp-sitemap.xml. Он полезен на простых сайтах, но на практике часто становится лишним, если уже используется SEO-плагин с собственной картой сайта. Тогда поисковик видит два набора sitemap, а в логике обхода это не всегда удобно.
Отключение имеет смысл, если:
- SEO-плагин уже генерирует собственный sitemap;
- вы видите в индексе старые или дублирующиеся URL из разных карт сайта;
- нужно убрать лишний технический endpoint после миграции;
- на сайте есть кастомные типы записей, и вы хотите управлять картой только из одного места.
Что не стоит делать
Не удаляйте sitemap «на всякий случай», если у сайта нет альтернативы. Для небольших проектов встроенная карта сайта может быть единственным источником для поисковых систем. Также не путайте отключение XML sitemap с закрытием страниц от индексации: это разные задачи.
Диагностика: какой sitemap сейчас работает
Сначала проверьте, кто именно отдает карту сайта. Откройте в браузере:
https://example.com/wp-sitemap.xmlЕсли страница открывается и показывает XML-индекс, значит встроенный sitemap активен. Затем проверьте карту сайта SEO-плагина, например:
https://example.com/sitemap_index.xmlЕсли оба адреса доступны, у вас два источника sitemap. Это не всегда ошибка, но часто лишний шум для диагностики и поддержки.
Дополнительно полезно посмотреть ответ сервера:
curl -I https://example.com/wp-sitemap.xmlИщите код 200 для активной карты или 404, если она отключена. Если вместо этого видите редирект, проверьте правила в плагинах кеширования и безопасности.
Как отключить встроенный sitemap WordPress
Самый надежный способ — через фильтр wp_sitemaps_enabled. Его можно добавить в дочернюю тему или в небольшой mu-plugin, если не хотите зависеть от темы.
<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );После этого WordPress перестанет генерировать встроенный sitemap, а адрес /wp-sitemap.xml должен вернуть 404 или другой ответ, если его перехватывает внешний слой.
Вариант через mu-plugin
Если нужно, чтобы отключение не зависело от темы, создайте файл, например wp-content/mu-plugins/disable-wp-sitemap.php:
<?php
/**
* Plugin Name: Disable WP Sitemap
*/
add_filter( 'wp_sitemaps_enabled', '__return_false' );Это удобнее, чем править functions.php, потому что код не потеряется при смене темы.
Если sitemap генерирует SEO-плагин
Когда на сайте уже стоит SEO-плагин, встроенную карту обычно отключают именно ради чистоты. Но сам SEO-плагин тоже нужно проверить: иногда в нем включены отдельные типы записей, таксономии или архивы, которые не должны попадать в sitemap.
Здесь полезно сравнить подходы:
| Подход | Плюсы | Минусы |
|---|---|---|
| Оставить встроенный sitemap | Не требует настройки, работает из коробки | Может дублировать карту SEO-плагина |
| Отключить через код | Точный контроль, не зависит от плагина | Нужно помнить о поддержке своего кода |
| Отключить в SEO-плагине и оставить ядро | Просто для минимальных сайтов | Меньше гибкости для кастомных типов |
Если вы используете Clearfy Pro, проверьте его настройки очистки и SEO-опций: в некоторых проектах удобнее централизовать такие технические переключатели в одном месте, чем держать их в теме. Подробности по продукту есть на странице Clearfy Pro.
Пошаговое решение без лишнего риска
- Проверьте, какой sitemap открыт по адресу
/wp-sitemap.xml. - Убедитесь, что SEO-плагин уже отдает собственную карту сайта.
- Добавьте фильтр
wp_sitemaps_enabledчерез mu-plugin или дочернюю тему. - Очистите кеш сайта, CDN и браузера.
- Проверьте HTTP-ответ для
/wp-sitemap.xml. - Откройте карту сайта SEO-плагина и убедитесь, что она доступна.
- Сверьте список URL в Search Console после следующего обхода.
Как проверить, что решение сработало
Проверка должна быть не только визуальной. Нужны минимум три точки контроля:
- URL:
/wp-sitemap.xmlбольше не открывается как XML-индекс; - ответ сервера: в
curl -Iнет200для встроенной карты; - Search Console: в отчетах по sitemap осталась только нужная карта сайта.
Если сайт стоит за кеширующим плагином или CDN, иногда старый XML продолжает отдаваться из кеша. В этом случае очистка кеша обязательна, иначе вы проверяете не реальное состояние WordPress, а сохраненную копию ответа.
Частые ошибки и как их исправить
Отключили sitemap, но он все еще открывается
Причина обычно в кеше, reverse proxy или CDN. Очистите все уровни кеширования и проверьте ответ повторно через curl. Если адрес все равно отдает XML, значит sitemap генерирует не ядро WordPress, а другой плагин или серверное правило.
Удалили карту сайта, а индексация просела
Так бывает, если альтернативный sitemap не настроен или отдает неполный набор URL. Проверьте, включены ли в карту записи, страницы и нужные кастомные типы записей. Для нового сайта лучше сначала убедиться, что SEO-плагин отдает корректный sitemap, и только потом отключать встроенный.
Сломали XML-ответ из-за темы
Если код добавили в functions.php и получили ошибку, сайт может начать отдавать 500. Для таких технических переключателей безопаснее использовать mu-plugin. Там меньше шанс случайно сломать фронтенд.
Путают sitemap и robots.txt
Закрытие карты сайта в robots.txt не отключает ее генерацию. Это только подсказка для роботов. Если задача именно убрать endpoint, нужен фильтр wp_sitemaps_enabled или отключение в плагине.
Практические советы по безопасности и производительности
Технические endpoints вроде sitemap лучше держать под контролем, особенно если сайт часто меняет плагины или тему. Несколько практических правил:
- не дублируйте генерацию sitemap в двух местах одновременно;
- храните отключающие фильтры в mu-plugin, если это инфраструктурная настройка;
- после изменений проверяйте не только главную страницу, но и XML-ответы;
- если используете кеш, добавьте sitemap в список исключений только если это действительно требуется вашей схеме кеширования;
- не закрывайте sitemap от индексации без замены на рабочую карту сайта.
Если вам нужен более широкий набор технических чисток — от дублей до служебных страниц — удобнее собрать это в одном инструменте, чем размазывать по теме и нескольким плагинам. Но сам принцип остается тем же: сначала диагностика, потом точечное отключение, затем проверка ответа сервера и индексации.