wpsocial.ru wordpress wpsocial.ru

Как отключить XML sitemap в WordPress и заменить на свой вариант

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

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

Когда встроенный sitemap WordPress мешает

С 5.5 WordPress генерирует XML sitemap из коробки. Для небольшого блога это нормально, но на сайте с кастомными типами записей, лишними архивами и нестандартной структурой контента карта часто включает то, что не должно участвовать в индексации. Типичный пример — медиа-вложения, служебные таксономии, пустые архивы или CPT, которые вы закрываете от поиска через noindex, но они всё равно остаются в sitemap.

Признаки, что карту сайта лучше пересобрать

  • в sitemap есть URL, которые отдают 404, 301 или закрыты от индексации;
  • в карте сайта появляются архивы, которые вы уже исключили из SEO-настроек;
  • поисковик ругается на большое число «неважных» URL в отчётах по сканированию;
  • в проекте есть отдельная логика для мультиязычности, фильтров или кастомных типов записей;
  • нужно отдавать sitemap не из ядра, а из SEO-плагина или собственного генератора.

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

Сначала проверьте, какой sitemap сейчас открыт на сайте. У ядра WordPress стандартный адрес — /wp-sitemap.xml. Если у вас стоит SEO-плагин, он может подменять этот механизм своим вариантом и отдавать карту по другому адресу. Важно не отключить одно и случайно не оставить второе, иначе получится каша из нескольких карт.

Откройте в браузере:

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

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

Быстрая проверка через командную строку

Если есть доступ к серверу, удобно посмотреть ответ напрямую:

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

Нормальный ответ — 200 OK. Если вы уже отключили карту, здесь должен быть 404 или редирект на новый sitemap, если он заменён другим механизмом. Ещё полезно проверить, не осталось ли старых ссылок в robots.txt:

curl https://example.com/robots.txt

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

Как отключить XML sitemap в WordPress

Если вы хотите полностью убрать стандартную карту сайта ядра, используйте фильтр wp_sitemaps_enabled. Это штатный способ, без правки ядра и без хаков в плагинах.

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

Код можно добавить в functions.php дочерней темы, в mu-plugin или в собственный мини-плагин. Для продакшена mu-plugin обычно надёжнее: он не зависит от темы и не пропадёт после её смены.

Если нужен свой sitemap вместо штатного

Полностью отключать карту имеет смысл только тогда, когда у вас уже есть замена. Это может быть SEO-плагин, который генерирует собственный sitemap, или отдельный плагин/скрипт, который отдаёт только нужные типы контента. Важно проверить, что новый sitemap:

  • отдаёт только канонические URL;
  • не включает noindex-страницы;
  • не содержит редиректов и 404;
  • обновляется автоматически при публикации и удалении записей;
  • доступен по стабильному адресу, который можно указать в robots.txt.

Сравнение подходов: плагин, код или SEO-модуль

ПодходКогда подходитПлюсыМинусы
SEO-плагинНужно быстро управлять картой без разработкиГибкие исключения, интерфейс, меньше ручного кодаЗависимость от плагина, иногда лишняя нагрузка
Код через wp_sitemaps_enabledНужен полный контроль над штатным sitemapПросто, прозрачно, без лишних зависимостейНужно отдельно настроить замену
Собственный генератор sitemapСложная структура сайта, кастомные правила индексацииМаксимальная точность, можно исключить всё лишнееТребует поддержки и тестирования

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

  1. Снимите текущую карту сайта и выпишите, какие разделы в ней есть.
  2. Определите, какие URL должны остаться в индексе, а какие нет.
  3. Отключите штатный sitemap через wp_sitemaps_enabled, если он мешает.
  4. Подключите новый источник sitemap: SEO-плагин или собственную генерацию.
  5. Обновите robots.txt, если там указан старый адрес карты сайта.
  6. Проверьте ответы сервера и содержимое XML вручную.
  7. Отправьте новый sitemap в Search Console и дождитесь переобхода.

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

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

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

После изменений проверьте не только наличие XML, но и его содержимое. Ошибка многих админов в том, что они смотрят только на 200 OK и забывают проверить, какие URL реально попали в карту.

  • Откройте новый sitemap в браузере и убедитесь, что там только нужные разделы.
  • Проверьте, что старый /wp-sitemap.xml не отдаёт лишний контент.
  • Посмотрите robots.txt: ссылка на sitemap должна быть актуальной.
  • В Search Console отправьте новый sitemap и проверьте статус обработки.
  • Через несколько дней сравните отчёты по сканированию: не должно быть роста ошибок на исключённых URL.

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

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

Отключили штатный sitemap, но не добавили новый

В этом случае сайт остаётся без карты сайта вообще. Для небольшого проекта это не критично, но для большого сайта с частыми обновлениями это плохая идея. Решение простое: либо включите SEO-плагин с собственным sitemap, либо сделайте свой генератор.

Оставили старую ссылку в robots.txt

Поисковик продолжит запрашивать несуществующий файл. Исправление — обновить robots.txt и проверить, что там указан только актуальный адрес.

В sitemap попали URL с редиректом

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

Сломали sitemap в кэше

После изменений старый XML может продолжать отдаваться из серверного или плагинного кэша. Очистите кэш страницы, объектный кэш и CDN, если он используется. Иначе вы будете проверять уже не тот файл, который видит бот.

Практические советы по безопасности и производительности

Не правьте ядро WordPress ради sitemap. Любое обновление затрёт изменения, а отладка потом станет лишней проблемой. Используйте mu-plugin или дочернюю тему, если код небольшой и должен жить рядом с сайтом.

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

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

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее