wpload.ru wordpress WPLoad.ru

Как отключить XML Sitemap в WordPress и настроить индексацию вручную

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

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

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

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

Что проверить до изменений

  • Есть ли на сайте SEO-плагин, который уже генерирует sitemap.
  • Открывается ли /wp-sitemap.xml и какие ссылки он содержит.
  • Нет ли в индексе служебных URL, архивов или тестовых типов записей.
  • Не используется ли отдельная карта сайта в robots.txt.

Диагностика: какая sitemap сейчас работает

Сначала нужно понять, кто именно отдает карту сайта. Если открыть https://example.com/wp-sitemap.xml, вы увидите стандартную карту WordPress. Если SEO-плагин активен, у него может быть собственный адрес, например /sitemap_index.xml. Нельзя оставлять обе карты активными без понимания, какая из них основная.

Проверка на сервере и в браузере обычно занимает пару минут:

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

Смотрите на код ответа, редиректы и заголовок content-type. Если оба адреса отдают XML и оба доступны, это уже повод выбрать один источник и отключить второй.

Как отключить встроенную XML Sitemap в WordPress

Самый надежный способ — отключить встроенную карту через фильтр wp_sitemaps_enabled. Это штатный механизм WordPress, он не требует правки ядра и нормально переживает обновления.

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

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

Вариант через mu-plugin

Создайте файл wp-content/mu-plugins/disable-wp-sitemap.php и положите туда такой код:

<?php
/**
 * Plugin Name: Disable WordPress Sitemap
 */
add_filter( 'wp_sitemaps_enabled', '__return_false' );

После этого встроенный адрес /wp-sitemap.xml должен перестать открываться или начать отдавать 404, если его не перехватывает другой плагин или серверное правило.

Если sitemap нужна, но только одна

На большинстве сайтов sitemap все-таки нужна. Вопрос не в том, чтобы убрать ее совсем, а в том, чтобы оставить один источник. Если вы используете Yoast SEO, Rank Math или другой SEO-плагин с картой сайта, встроенную карту WordPress лучше отключить, а в поисковики отправлять только карту плагина.

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

Если у вас уже есть SEO-плагин, не пытайтесь держать обе карты «на всякий случай». Это почти всегда приводит к путанице в индексации и усложняет диагностику.

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

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

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

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

  • Откройте /wp-sitemap.xml и убедитесь, что он больше не отдает карту WordPress.
  • Проверьте основной адрес sitemap из SEO-плагина.
  • Посмотрите, нет ли двух одинаковых карт в robots.txt.
  • В панели вебмастера отправьте только один актуальный sitemap.
  • Сравните список URL в карте с реальными страницами сайта.

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

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

Отключили sitemap, но она все равно открывается

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

В robots.txt осталась старая ссылка

После смены sitemap в robots.txt часто забывают обновить строку Sitemap:. Поисковик может продолжать ходить по старому адресу, даже если он уже неактуален.

Карта сайта стала пустой

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

После отключения выросло число 404

Это признак того, что старый адрес sitemap где-то закеширован или зашит в стороннем сервисе. Очистите серверный и плагинный кеш, затем обновите карту в вебмастере.

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

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

Еще один полезный момент: не держите одновременно несколько плагинов, которые управляют sitemap, canonical и robots meta. Чем больше пересечений, тем сложнее понять, кто именно изменил URL в индексе. Если нужен инструмент для чистки дублей и технических SEO-настроек, иногда проще собрать это в одном решении, чем поддерживать набор разрозненных костылей.

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

Мини-чек-лист перед публикацией изменений

  • Выбран один источник sitemap.
  • Старый адрес больше не участвует в индексации.
  • В robots.txt указан только актуальный sitemap.
  • В sitemap нет лишних типов записей.
  • Кеш очищен на сервере, в плагине и на CDN.
  • Вебмастеру отправлен новый адрес карты сайта.

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

×
до 3225₽

Продавай темы и плагины WordPress!

Лови с каждой продажи

Начать ⋙