WPFAQ

Почему XML-карта сайта WordPress не обновляется и как это исправить

Ситуация типовая: вы публикуете новый материал, меняете URL, удаляете старые записи, а XML-карта сайта продолжает отдавать старые ссылки или не включает свежие. Для SEO это неприятно не само по себе, а потому что поисковик получает противоречивые сигналы: страница уже есть в контенте, но в sitemap ее нет, либо наоборот — URL удалён, а в карте всё ещё висит.

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

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

Сначала нужно убедиться, что вы смотрите именно на XML-карту сайта, а не на кешированную страницу, старый URL или карту, которую генерирует другой плагин. В WordPress с 5.5 есть встроенный sitemap по адресу /wp-sitemap.xml. Многие SEO-плагины отключают его и подменяют своим вариантом, например /sitemap_index.xml.

Признаки, что карта сайта не обновляется

  • новая запись опубликована, но в sitemap ее нет;
  • удалённая страница продолжает отображаться в карте;
  • в sitemap есть URL с 404 или редиректом;
  • после очистки кеша сайта карта меняется, но потом снова «замирает»;
  • в браузере и в Search Console видны разные версии sitemap.

Что проверить в первую очередь

  1. Откройте sitemap в режиме инкогнито и без CDN-кеша.
  2. Проверьте, какой именно URL карты используется: встроенный WordPress или SEO-плагин.
  3. Посмотрите заголовки ответа: нет ли cache-control с долгим сроком жизни.
  4. Убедитесь, что запись не скрыта настройками плагина, статусом noindex или типом записи.

Диагностика: где ломается обновление

Если sitemap не меняется, обычно причина в одном из четырёх мест: генератор карты, объектный кеш, HTML/страничный кеш или фильтры плагина, которые исключают часть контента. Удобнее идти от простого к сложному.

1. Проверка встроенного sitemap WordPress

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

2. Проверка SEO-плагина

Если у вас установлен плагин вроде Yoast SEO, Rank Math или AIOSEO, сначала проверьте его настройки sitemap. Частая ошибка — карта включена, но отдельные типы записей или таксономии исключены. Иногда пользователь ищет проблему в WordPress, а на деле в плагине выключен нужный post type.

3. Проверка кеша

Если sitemap отдаётся через Nginx, LiteSpeed Cache, WP Super Cache, W3 Total Cache или CDN, карта может кэшироваться как обычная страница. Для sitemap это не всегда критично, но срок кеша должен быть коротким, иначе поисковик увидит устаревший список URL.

Как исправить: рабочая последовательность

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

Шаг 1. Очистите все уровни кеша

Сначала сбросьте кеш плагина, затем серверный кеш и только потом CDN. Если используется Redis или Memcached, очистите и объектный кеш. После этого откройте sitemap в режиме инкогнито и проверьте заголовки ответа.

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

Если видите долгий max-age или заголовок от CDN, sitemap может обновляться в админке, но наружу отдаваться старой версией.

Шаг 2. Убедитесь, что карта не исключает нужный контент

В SEO-плагине проверьте, включены ли:

  • нужные типы записей;
  • нужные таксономии;
  • страницы и записи, если они должны индексироваться;
  • отдельные медиа-страницы, если вы их не используете.

Если карта строится на встроенном генераторе WordPress, проверьте, не отключён ли тип записи через код или плагин оптимизации.

Шаг 3. Сбросьте правила перезаписи

Иногда sitemap не обновляется не из-за содержимого, а из-за некорректных rewrite rules. Это особенно заметно после миграции, смены темы или установки плагина, который трогает ЧПУ.

В админке откройте Настройки → Постоянные ссылки и просто нажмите «Сохранить изменения» без правок. Это пересоберёт правила. Если у вас есть доступ к WP-CLI, можно сделать это и через команду обновления опций, но для большинства проектов достаточно пересохранения настроек.

Шаг 4. Проверьте фильтры, которые исключают записи из sitemap

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

add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
    unset( $post_types['internal_note'] );
    return $post_types;
} );

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

Если sitemap генерирует плагин: что смотреть в настройках

У SEO-плагинов логика отличается, но проверка похожа. Ищите не только переключатель sitemap, но и связанные параметры:

  • включение/выключение отдельных post types;
  • исключение архивов таксономий;
  • noindex для типов контента;
  • ограничение по ролям или статусу публикации;
  • автоматическое удаление вложений из карты.

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

ПодходПлюсыМинусы
Встроенный sitemap WordPressНе требует отдельного плагина, простая логикаМеньше гибкости, зависит от кеша и фильтров
SEO-плагинУдобно управлять типами контента и исключениямиЛегко получить конфликт настроек
Кастомный кодПолный контроль над составом sitemapНужно поддерживать код и тестировать после обновлений

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

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

  • Откройте sitemap в режиме инкогнито и проверьте новые URL.
  • Убедитесь, что удалённые страницы больше не присутствуют.
  • Проверьте HTTP-статус sitemap: должен быть 200, без редиректа на старую версию.
  • Посмотрите исходный XML: нет ли там URL с noindex, 404 или редиректами.
  • В Search Console отправьте sitemap повторно и сравните отчёт через некоторое время.

Если у вас есть доступ к серверным логам, полезно посмотреть, как поисковый бот запрашивает sitemap после обновления. Это помогает понять, не упирается ли всё в кеш на уровне CDN или reverse proxy.

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

Два генератора sitemap одновременно

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

Слишком агрессивный кеш для XML

Некоторые настройки кеша одинаково обрабатывают HTML и XML. Для sitemap это плохо: карта должна обновляться быстрее, чем обычная страница. Проверьте исключения для /sitemap.xml, /sitemap_index.xml и /wp-sitemap.xml.

Запись опубликована, но скрыта от индексации

Если у записи стоит noindex, она может не попадать в sitemap в зависимости от логики плагина. Это не баг, а ожидаемое поведение. В таком случае сначала проверьте SEO-настройки конкретного типа контента.

Проблемы после миграции

После переноса сайта часто остаются старые правила, старый CDN-кеш или некорректные URL в базе. Если sitemap показывает старый домен, проверьте поиск по базе и настройки siteurl/home, а также очистите все внешние кеши.

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

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

Если вы добавляете кастомный код, не правьте ядро и не встраивайте логику прямо в тему без необходимости. Безопаснее вынести фильтры в небольшой mu-plugin или отдельный функциональный плагин. Тогда при смене темы sitemap не сломается.

Для проектов с частыми публикациями полезно контролировать, чтобы кеш sitemap не жил дольше, чем нужно. Иначе поисковики будут видеть устаревшие URL, а вы будете искать проблему не там, где она возникла.

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

Мини-чек-лист перед повторной отправкой sitemap

  • остался один генератор sitemap;
  • кеш на XML очищен;
  • нужные post types включены;
  • удалённые URL исчезли из карты;
  • новые записи появились в sitemap;
  • ответ сервера для sitemap — 200;
  • в Search Console отправлен актуальный URL карты.

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

×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее