Если сайт на WordPress собран в Elementor, в карту сайта часто попадают страницы, которые не должны конкурировать в поиске: служебные шаблоны, тестовые страницы, дубли архивов, временные лендинги или страницы с тонким контентом. Проблема обычно не в самом Elementor, а в том, как настроены SEO-плагин, шаблоны и индексация.
Ниже разберём, как точечно убрать лишние URL из XML sitemap, не трогая нормальные страницы и не ломая SEO-логику сайта.
Когда это действительно проблема
Сначала стоит понять, что именно вы хотите исправить. Отключать sitemap целиком почти никогда не нужно. Чаще нужен один из трёх сценариев:
- в карту сайта попадают страницы Elementor, которые закрыты от индексации, но продолжают висеть в sitemap;
- в sitemap есть дубли: версии страниц с параметрами, архивы, служебные шаблоны, страницы поиска;
- нужно исключить отдельные типы записей или страницы с определённым шаблоном, но оставить остальной сайт в индексе.
Если у вас подключён SEO-плагин, сначала проверьте его настройки. В WordPress чаще всего sitemap генерирует не ядро, а Yoast SEO, Rank Math, All in One SEO или другой SEO-плагин. У Elementor своей XML-карты сайта нет, поэтому искать решение нужно в источнике генерации карты.
Диагностика: где именно появляется лишний URL
Перед правкой полезно быстро локализовать источник. Это экономит время и помогает не отключить лишнее.
Проверьте, кто генерирует sitemap
Откройте /sitemap_index.xml или аналогичный адрес и посмотрите структуру. Если видите набор отдельных карт по типам контента, значит sitemap отдаёт SEO-плагин. Если карта выглядит нестандартно, проверьте активные плагины и тему.
Сравните sitemap и robots/noindex
Частая ошибка — страница закрыта от индексации через noindex, но всё равно остаётся в sitemap. Это не всегда критично, но для чистой структуры лучше убрать её из карты сайта полностью. Иначе поисковик получает противоречивые сигналы.
Проверьте шаблоны Elementor
Если проблема касается не обычных страниц, а шаблонов Elementor Theme Builder, убедитесь, что они не опубликованы как отдельные записи или не доступны по прямым URL. Иногда в sitemap попадают черновики, тестовые страницы или страницы, созданные для предпросмотра и потом забытые в публикации.
Как убрать лишние страницы из XML sitemap
Есть три рабочих подхода: через настройки SEO-плагина, через фильтр WordPress или через логику публикации контента. Выбор зависит от масштаба проблемы.
Вариант 1: исключить тип записи или страницу в SEO-плагине
Если лишние URL относятся к целому типу записей, проще всего отключить его в sitemap через интерфейс SEO-плагина. Это безопаснее, чем писать код, и проще поддерживается.
Например, в Yoast SEO можно отключать отдельные типы контента в настройках отображения в поиске. В Rank Math аналогично можно убрать тип записи из sitemap и из индексации. Смысл один: если контент не нужен в поиске, он не должен попадать в карту сайта.
Вариант 2: исключить конкретные URL через код
Если нужно убрать только несколько страниц, а не весь тип записи, удобнее использовать фильтр wpseo_sitemap_entry для Yoast SEO. Он позволяет точечно исключать записи из sitemap.
<?php
add_filter( 'wpseo_sitemap_entry', function( $url, $type, $object ) {
if ( empty( $object ) || empty( $object->ID ) ) {
return $url;
}
// Исключаем конкретную страницу по ID.
$excluded_ids = array( 123, 456 );
if ( in_array( (int) $object->ID, $excluded_ids, true ) ) {
return false;
}
return $url;
}, 10, 3 );Этот вариант подходит, если у вас есть несколько тестовых или служебных страниц, которые не должны индексироваться. Код лучше добавлять в дочернюю тему или через mu-plugin, а не в файл темы Elementor-совместимого шаблона, чтобы не потерять правку при обновлении.
Вариант 3: убрать записи по условию, а не по ID
Если у страниц есть общий признак — например, определённый шаблон, категория или метка, — можно исключать их по метаданным. Это удобнее, чем поддерживать список ID вручную.
<?php
add_filter( 'wpseo_sitemap_entry', function( $url, $type, $object ) {
if ( empty( $object ) || empty( $object->ID ) ) {
return $url;
}
$template = get_page_template_slug( $object->ID );
if ( $template === 'templates/landing-test.php' ) {
return false;
}
return $url;
}, 10, 3 );Такой подход полезен для сайтов, где Elementor используется для множества лендингов, а часть из них временно не должна попадать в поиск.
Сравнение подходов
| Способ | Когда подходит | Плюс | Минус |
|---|---|---|---|
| Настройки SEO-плагина | Нужно убрать целый тип контента | Без кода, проще сопровождать | Не всегда можно исключить одну страницу |
| Фильтр в коде | Нужно убрать несколько URL точечно | Гибко и точно | Нужна аккуратность при обновлениях |
| Изменение публикации/индексации | Страница вообще не должна быть публичной | Самое чистое решение | Может потребовать пересмотра структуры сайта |
Пошаговое решение для сайта на Elementor
- Определите, какие именно URL лишние: страницы, шаблоны, архивы, результаты поиска, тестовые лендинги.
- Проверьте, какой плагин генерирует sitemap.
- Если можно убрать целый тип контента через настройки SEO-плагина — сделайте это там.
- Если нужно исключить только часть страниц, добавьте фильтр в mu-plugin или дочернюю тему.
- Очистите кэш сайта и кэш CDN, если он есть.
- Переотправьте sitemap в Google Search Console и проверьте, исчезли ли лишние URL.
Как проверить, что решение сработало
Проверка должна быть не на глаз, а по факту.
- Откройте sitemap в браузере и убедитесь, что лишних URL там больше нет.
- Проверьте исходный код страницы: если она должна быть исключена, у неё должен быть
noindexили она вообще не должна попадать в карту сайта. - В Google Search Console откройте отчёт по sitemap и посмотрите, нет ли там старых ошибок или повторной отправки удалённых URL.
- Если использовали код, временно включите логирование или проверьте, что фильтр реально отрабатывает на нужных ID.
Для быстрой проверки можно открыть конкретный URL карты сайта и поискать в ней проблемный адрес через поиск по странице. Если URL остался, значит фильтр не сработал или sitemap генерируется не тем плагином, который вы правили.
Частые ошибки и как их исправить
Страница закрыта от индексации, но осталась в sitemap
Это самая частая ситуация. Исправление простое: не ограничивайтесь noindex, уберите URL из sitemap на уровне SEO-плагина или фильтра.
Правят не тот sitemap
На сайте может быть несколько источников карт сайта: SEO-плагин, кэш-плагин, отдельный модуль темы. Если вы меняете настройки в одном месте, а карта не меняется, проверьте, кто реально отдаёт XML.
Удаляют страницу, но она остаётся в индексе
Если URL уже был проиндексирован, его удаление из sitemap не гарантирует мгновенное исчезновение из поиска. Нужно дождаться переобхода, а при необходимости вернуть корректный ответ сервера: 404 или 410, если страница удалена окончательно.
Ставят код в файл темы Elementor
Если правка лежит в активной теме, она может исчезнуть после обновления. Для таких задач лучше использовать дочернюю тему или mu-plugin. Это особенно важно на сайтах, где Elementor обновляется вместе с шаблонами и глобальными стилями.
Что учесть для безопасности и производительности
Сама карта сайта почти не нагружает сервер, но ошибки в её генерации часто приводят к лишним запросам и путанице в индексации. Если на сайте много служебных страниц, лучше не маскировать проблему, а убрать источник дублей: черновики, тестовые шаблоны, лишние архивы, пустые таксономии.
Если вы регулярно чистите сайт от дублей и служебных URL, имеет смысл посмотреть в сторону инструментов, которые помогают управлять техническим мусором. Например, в Clearfy Pro есть набор функций для удаления дублей и технической чистки WordPress, но использовать его стоит только там, где вы понимаете, что именно отключаете.
Когда лучше не трогать sitemap кодом
Если сайт ведётся редакторами без доступа к коду, а лишние URL появляются редко, безопаснее решить вопрос через настройки SEO-плагина. Код нужен там, где есть повторяющийся сценарий и понятное правило исключения. Если правила нет, фильтр быстро превращается в набор исключений, который сложно поддерживать.
В Elementor-проектах это особенно заметно: лендинги, эксперименты с шаблонами и временные страницы появляются часто. Поэтому сначала наводят порядок в публикации контента, а уже потом точечно правят sitemap.