wpsocial.ru wordpress wpsocial.ru

Как отключить XML sitemap в WordPress и оставить только нужные разделы

Стандартная XML-карта сайта в WordPress часто включается «по умолчанию», но это не значит, что она всегда полезна. На небольших проектах она обычно не мешает. Проблемы начинаются, когда в sitemap попадают служебные архивы, вложения, неканонические URL или разделы, которые вы не хотите отдавать поисковикам. В итоге в Search Console появляются лишние URL, а на стороне CMS сложнее контролировать, что именно уходит в индекс.

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

Когда встроенную sitemap лучше отключить

Речь не о том, чтобы «убрать карту сайта вообще». Задача обычно другая: убрать автоматическую генерацию, которая не совпадает с вашей SEO-логикой. Это актуально, если:

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

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

Диагностика: откуда берётся sitemap и что именно индексируется

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

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

  • Откройте /wp-sitemap.xml в браузере и посмотрите, отдаётся ли файл.
  • Проверьте, нет ли второй карты сайта от SEO-плагина.
  • Сравните список URL в sitemap с тем, что реально должно индексироваться.
  • Посмотрите отчёт «Страницы» и «Файлы Sitemap» в Google Search Console.

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

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

Самый надёжный способ — добавить фильтр в functions.php дочерней темы или в собственный мини-плагин. Для отключения встроенной генерации WordPress используется фильтр wp_sitemaps_enabled.

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

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

Если нужно не отключить всё, а убрать только часть разделов

Иногда правильнее не выключать sitemap целиком, а исключить конкретные типы записей или таксономии. Для этого есть фильтры WordPress sitemap. Например, можно убрать из карты сайта медиа-вложения:

<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
    unset( $post_types['attachment'] );
    return $post_types;
} );

Аналогично можно убрать таксономии, которые не должны участвовать в индексации:

<?php
add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
    unset( $taxonomies['post_tag'] );
    return $taxonomies;
} );

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

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

ПодходКогда подходитПлюсыМинусы
Отключить через кодНужен полный контроль над sitemap ядраПросто, прозрачно, без лишних зависимостейНужно не забыть про альтернативную карту сайта
Настроить SEO-плагинУже используется Yoast, Rank Math или аналогМожно управлять разделами без кодаЕсть риск получить дубли sitemap, если не отключить ядро
Оставить как естьСайт маленький и структура простаяНичего не ломаетеМеньше контроля над тем, что уходит в индекс

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

Пошаговое решение без лишнего риска

  1. Проверьте, какая sitemap сейчас открывается по адресу /wp-sitemap.xml.
  2. Убедитесь, что SEO-плагин не создаёт вторую карту сайта с теми же разделами.
  3. Если нужна полная остановка встроенной sitemap, добавьте фильтр wp_sitemaps_enabled.
  4. Если нужно убрать только часть контента, используйте фильтры wp_sitemaps_post_types и wp_sitemaps_taxonomies.
  5. Очистите кеш сайта и CDN, если они используются.
  6. Проверьте результат в браузере и в Search Console.

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

Проверка должна быть не «на глаз», а по конкретным признакам. После отключения встроенной sitemap:

  • адрес /wp-sitemap.xml должен отдавать 404 или пустой ответ, если вы отключили её полностью;
  • в исходном коде и в robots.txt не должно оставаться ссылок на старую карту сайта, если вы их не используете;
  • в Search Console новая карта сайта должна быть отправлена уже из того источника, который вы оставили;
  • в отчётах не должно появляться новых URL из отключённых разделов.

Если страница всё ещё открывается, проверьте кеширование на уровне плагина, сервера или CDN. Иногда sitemap уже выключена в WordPress, но старый ответ продолжает отдаваться из кеша.

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

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

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

Оставили две активные карты сайта

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

Не очистили кеш

После правки кода sitemap может продолжать открываться из кеша. Особенно это заметно на сайтах с серверным кешированием или CDN. После изменений обязательно сбросьте кеш и проверьте ответ в режиме инкогнито или через curl.

Скрыли URL в sitemap, но не закрыли их от индексации

Удаление URL из sitemap не равно запрету на индексацию. Если страница доступна по ссылке и не закрыта мета-тегом noindex или robots.txt, поисковик может найти её другим способом. Sitemap — это подсказка, а не запрет.

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

Если вы управляете sitemap через код, держите изменения в дочерней теме или в небольшом mu-plugin, а не в основной теме. Так вы не потеряете правки после обновления. Для сайтов с несколькими окружениями полезно хранить логику в отдельном мини-плагине: это проще переносить между staging и production.

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

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

Когда лучше не отключать sitemap полностью

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

Практический ориентир простой: сначала определите, какой sitemap должен быть единственным источником, затем отключите остальные. Тогда карта сайта перестанет быть случайным набором URL и станет рабочим инструментом индексации.

×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее