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

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

Что именно ломается и как это увидеть

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

  • встроенная XML sitemap WordPress;
  • карта из SEO-плагина;
  • отдельные sitemap для изображений, товаров, таксономий или авторов;
  • кэш на уровне сервера, который продолжает отдавать старую версию файла.

Проверка начинается с простого: откройте в браузере /sitemap.xml, /wp-sitemap.xml и sitemap, которые генерирует ваш SEO-плагин. Если в ответе виден XML с разными наборами ссылок, у вас уже не одна карта, а несколько источников. Дальше проверьте заголовки ответа и статус:

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

Если один из адресов отдаёт 200 OK и XML, значит карта активна. Если видите 301 или 302, карта может быть перенаправлена на другой URL, и это тоже нужно учитывать при отключении.

Как выбрать, что отключать: плагин, ядро или редирект

Сначала определите источник. Это важнее, чем сам способ отключения. В WordPress XML sitemap может приходить из ядра, из SEO-плагина или из кода темы/му-плагина. Если отключить не тот слой, вы получите либо пустой результат, либо дублирование продолжится.

ВариантКогда подходитРиск
Отключить в настройках SEO-плагинаКарта генерируется плагином и есть штатная опцияНизкий, если после этого проверен ответ сервера
Отключить встроенную sitemap WordPressНужна только карта от SEO-плагинаСредний: можно случайно оставить старый URL в индексе
Скрыть через редирект или 404Нужно убрать старый адрес, но сохранить новыйВыше: легко сломать доступ поисковика к актуальной карте

Пошагово: отключаем лишнюю XML sitemap без побочных эффектов

1. Отключите генерацию в том месте, где она включена

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

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

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

Этот вариант отключает встроенную sitemap WordPress целиком. Используйте его только если вы точно оставляете другую карту, например из SEO-плагина.

2. Уберите старый адрес из кэша и проверьте редиректы

После отключения карта может ещё какое-то время отдаваться из кэша. Очистите:

  • кэш плагина;
  • серверный кэш, если он есть;
  • CDN-кэш;
  • объектный кэш, если карта попадала в него через нестандартную логику.

Затем снова проверьте ответ:

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

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

3. Обновите robots.txt только если это действительно нужно

Если вы меняете адрес карты, проверьте, не прописан ли старый путь в robots.txt. Сам по себе robots не отключает sitemap, но может продолжать указывать на неактуальный URL. В таком случае поисковик будет регулярно ходить по старому адресу и тратить обход.

В файле должно остаться только то, что реально используется. Например:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml

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

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

Проверка должна быть не визуальной, а технической. Смотрите на три вещи: ответ сервера, содержимое XML и данные в Search Console.

  • Адрес старой карты не отдаёт активный XML.
  • Новая карта открывается без ошибок и содержит только нужные URL.
  • В Search Console старая карта либо удалена, либо помечена как недоступная, а новая — доступна для чтения.

Минимальный чек-лист после внедрения:

  • проверить curl -I для старого и нового адреса;
  • открыть XML в браузере и убедиться, что там нет дубликатов;
  • очистить кэш на всех уровнях;
  • проверить, не осталась ли ссылка на старую карту в robots.txt;
  • посмотреть отчёт по sitemap в Google Search Console.

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

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

Отключили карту в плагине, но WordPress всё равно отдаёт XML

Значит, у вас осталась встроенная sitemap ядра. Проверьте адрес /wp-sitemap.xml и отключите её через wp_sitemaps_enabled, если она не нужна.

Старая карта отвечает 200, хотя вы всё выключили

Обычно это кэш или отдельный rewrite-rule на уровне сервера. Сначала очистите кэш, потом проверьте конфигурацию Nginx/Apache и правила редиректов. Если карта генерируется не WordPress, а статическим файлом, отключение в админке ничего не изменит.

После отключения пропали важные URL из индекса

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

В robots.txt осталась ссылка на несуществующую sitemap

Поисковик продолжит её запрашивать. Исправьте строку Sitemap: вручную и после этого заново отправьте актуальную карту в Search Console.

Когда лучше не править кодом

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

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

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

Как удалить неиспользуемые таксономии в WordPress: практическое руководство
30.09.2026
Как отключить emoji-скрипты в WordPress и убрать лишние запросы
24.09.2026
Как закрыть от индексации внутренний поиск WordPress и убрать мусорные страницы
31.08.2026
Как найти и удалить битые ссылки в WordPress
05.10.2026
Как изменить URL для страниц библиотеки медиа WordPress
24.09.2026
×
Прокачай свой сайт WordPress!

WordPress

-20% на премиум темы и плагины

Создай сайт своей мечты ⋙