Кратко: XML-карта сайта (sitemap) — это файл со списком важных страниц в формате, который понимают поисковые роботы. WordPress с версии 5.5 создаёт её автоматически: адрес — /wp-sitemap.xml, отдельно включать ничего не нужно. Чтобы карта заработала, отправьте её адрес в Яндекс Вебмастер и Google Search Console — по одному разу, дальше поисковики читают файл сами. Если нужно управлять составом карты (исключить страницы, убрать лишние разделы, поменять лимит URL), ставьте SEO-плагин или добавьте пару сниппетов из этой статьи. Ниже — пошаговая настройка для Яндекса и Google, код для новичков и таблица типовых ошибок.
Что такое XML-карта сайта и зачем она нужна
XML-карта сайта — это текстовый файл в формате XML, где перечислены адреса страниц, которые вы хотите показать поисковикам. Робот заходит на карту и видит полный список URL: ему не нужно блуждать по ссылкам, чтобы найти глубоко запрятанную страницу. Внутри каждого адреса можно указать дату последнего изменения (lastmod) — так робот понимает, что обновилось, и возвращается точечно.
Важно понимать: карта — это подсказка, а не команда. Наличие URL в sitemap не гарантирует индексацию — страница всё равно должна быть доступна, уникальна и полезна. Но без карты поисковик может неделями не находить новые материалы, особенно на молодом сайте, где на свежие страницы почти нет ссылок.
Не путайте XML-карту с HTML-картой. XML-версия — для роботов, её не показывают людям. HTML-карта — отдельная страница со списком ссылок для посетителей; она тоже имеет право на жизнь, но к индексации отношения почти не имеет. В этой статье речь только про XML.
Так выглядит минимальная карта, собранная вручную (для понимания формата — в WordPress генерировать её руками не придётся):
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.ru/uslugi/</loc>
<lastmod>2026-09-11</lastmod>
</url>
<url>
<loc>https://example.ru/blog/sitemap-wordpress/</loc>
<lastmod>2026-09-10</lastmod>
</url>
</urlset> Встроенная карта WordPress: где найти и что внутри
С версии 5.5 ядро WordPress умеет генерировать карту само. Откройте адрес ваш-сайт.ru/wp-sitemap.xml — увидите индексную карту, разбитую на разделы: обычные записи, страницы, категории, теги и даже профили авторов. Каждый раздел — отдельный файл: wp-sitemap-posts-post-1.xml, wp-sitemap-pages-page-1.xml, wp-sitemap-taxonomies-category-1.xml. В одном файле — не больше 2000 адресов; если записей больше, появятся продолжения (-2, -3 и так далее).
Отдельно включать карту не нужно — она работает по умолчанию. Но проверьте одну настройку: «Настройки → Чтение → Видимость для поисковых систем». Если стоит галочка «Просить поисковые системы не индексировать сайт», карта отдаётся пустой, а сам сайт закрывается от Яндекса и Google целиком. Галочка нужна только на время разработки — на рабочем сайте её быть не должно.
Если вы ставите SEO-плагин (Rank Math, Yoast и другие), они при активации обычно предлагают отключить встроенную карту, чтобы не было дублей. Сделать это вручную можно одной строкой — например, в functions.php дочерней темы:
// Отключить встроенную карту WordPress
add_filter('wp_sitemaps_enabled', '__return_false'); Раздел авторов в карте часто лишний (особенно на сайтах с одним редактором) — убирается вторым фильтром:
// Убрать карту профилей пользователей из /wp-sitemap.xml
add_filter('wp_sitemaps_add_provider', function ($provider, $name) {
return ('users' === $name) ? false : $provider;
}, 10, 2); Карта сайта через SEO-плагин: Rank Math и Yoast
Встроенная карта закрывает базу, но у SEO-плагинов больше контроля. В Rank Math карта настраивается в разделе «Sitemap Settings»: там выбирают типы записей и таксономии, включают картинки, задают исключения. В Yoast путь такой: «Yoast SEO → Настройки → Карты сайта (XML sitemaps)». Интерфейсы периодически меняются, но суть одна: вы решаете, что попадает в карту, а что нет.
Что даёт плагин по сравнению со встроенной картой:
- корректный
lastmodпо дате правки контента; - исключение отдельных страниц и рубрик без кода;
- добавление произвольных URL — например, лендингов, которые не являются записями WordPress;
- автоматическое отключение встроенной карты WordPress, чтобы дубли не появлялись.
Сравнение по главным возможностям:
| Возможность | Встроенная /wp-sitemap.xml | Rank Math | Yoast |
|---|---|---|---|
| Работает сразу после установки | Да | Да | Да |
| Исключение страниц без кода | Нет | Да | Да |
| Произвольные URL в карте | Нет | Да | Через доп. настройки |
| Картинки в карте | Нет | Да | Да |
| Кому подходит | Блогу или визитке | Тем, кто занимается SEO | Тем же, кто занимается SEO |
Практический вывод: если сайт небольшой и карты «как есть» достаточно — оставьте встроенную, ничего не ставьте. Если планируете системное продвижение — ставьте SEO-плагин и настраивайте карту в нём.
Как отправить sitemap в Яндекс Вебмастер
Карта на сайте — полдела; дальше её надо «показать» поисковику. Для Яндекса порядок такой:
- Зайдите на
webmaster.yandex.ruпод своим аккаунтом Яндекса. - Добавьте сайт: укажите домен и подтвердите права — удобнее всего мета-тегом или HTML-файлом в корне, подойдут и DNS-записи.
- В меню слева откройте «Индексирование → Файлы Sitemap».
- Вставьте адрес карты:
https://ваш-сайт.ru/wp-sitemap.xmlи нажмите «Добавить». - Дождитесь статуса: сначала файл попадёт в очередь, потом появится отметка «OK» и число найденных страниц.
Два нюанса. Первый: Яндекс иногда держит статус «файл не проиндексирован» несколько дней и даже недель — если файл отдаётся без ошибок, просто ждите, это нормально. Второй: карту стоит продублировать директивой в robots.txt — тогда её увидят и роботы, которые ещё не заходили в вебмастер:
Sitemap: https://vash-sayt.ru/wp-sitemap.xml Строку добавляют в конец robots.txt. Если файл управляется SEO-плагином, там есть отдельное поле для этой директивы; если правите вручную — действуйте аккуратно, robots.txt чувствителен к синтаксису.
Как отправить sitemap в Google Search Console
С Google всё аналогично, часто даже быстрее:
- Откройте
search.google.com/search-consoleи войдите под Google-аккаунтом. - Добавьте ресурс и подтвердите права — способы те же, что и у Яндекса.
- В левом меню выберите «Sitemaps» (Файлы Sitemap).
- Введите
wp-sitemap.xmlпосле домена — полный адрес можно не писать, Search Console дополнит сама. - Нажмите «Submit» и дождитесь статуса «Success».
Google быстрее Яндекса показывает результат: обычно в течение пары дней в отчёте видно количество обнаруженных URL. Статус «Couldn’t fetch» в первый час после отправки — тоже норма: робот поставил файл в очередь. А вот если статус не меняется неделю, возвращайтесь к таблице ошибок ниже.
Поисковики не требуют отправлять карту повторно: один раз добавили — и всё, дальше они перечитывают файл по своему расписанию. Новые статьи, рубрики и страницы попадут в карту автоматически, потому что WordPress пересобирает её на лету.
Управляем картой сниппетами: исключения, лимиты, лишние разделы
Если SEO-плагин вы не ставите, а состав карты подправить надо — хватит трёх сниппетов. Место для них — functions.php дочерней темы; больше готового кода — в подборке полезных сниппетов для functions.php.
Исключить конкретные страницы (служебные, дубли, посадочные, которые не должны быть в поиске) — по ID:
// Убрать страницы с ID 12 и 47 из карты сайта
add_filter('wp_sitemap_exclude_posts', function ($posts) {
return array_merge($posts, array(12, 47));
}); Уменьшить число URL в одном файле карты — по умолчанию 2000, на больших сайтах файл получается тяжёлым:
// Не больше 500 адресов в одном файле карты
add_filter('wp_sitemaps_max_urls', function () {
return 500;
}); Убрать из карты тип записей, который там не нужен, — например, вложения:
// Исключить тип записи attachment из карты
add_filter('wp_sitemaps_post_types', function ($types) {
unset($types['attachment']);
return $types;
}); Быстро проверить, сколько адресов попало в раздел карты, можно прямо в консоли браузера (F12 → Console), не открывая файл глазами:
// Вставьте в консоль на своём сайте
(async () => {
const xml = await (await fetch('/wp-sitemap-posts-post-1.xml')).text();
const doc = new DOMParser().parseFromString(xml, 'text/xml');
console.log('URL в карте:', doc.getElementsByTagName('loc').length);
})(); Скрипт скачает раздел карты и выведет количество тегов loc. Так же удобно проверять карту плагина — просто подставьте её адрес.
Частые ошибки с картой сайта и их решения
Собрали проблемы, с которыми чаще всего сталкиваются новички:
| Ошибка | Причина | Решение |
|---|---|---|
| На /wp-sitemap.xml ошибка 404 | Карта отключена кодом или плагином; либо отдаётся закэшированная старая страница | Проверьте фильтр wp_sitemaps_enabled и настройки SEO-плагина, затем сбросьте кэш WordPress |
| Карта открывается, но она пустая | Стоит галочка «Просить поисковые системы не индексировать сайт» в «Настройках → Чтение» | Снимите галочку и сохраните настройки |
| Две карты: встроенная и от плагина | SEO-плагин установлен, но встроенная карта не отключена | Оставьте одну карту — лучше плагинскую, а встроенную отключите фильтром |
| «Не удалось получить» в Search Console | Сервер отдаёт ошибку или таймаут; карта слишком тяжёлая | Проверьте доступность файла в браузере, уменьшите лимит URL, разбейте карту на разделы |
| Яндекс долго пишет «файл не проиндексирован» | Нормальное поведение: очередь робота занимает дни, иногда недели | Убедитесь, что файл отдаётся с кодом 200, и просто ждите |
| В карте страницы, которых нет на сайте | Кэш карты; в неё попадают черновики и устаревшие URL после миграции | Сбросьте кэш, проверьте типы записей в настройках карты |
Отдельный совет: после переезда на новый домен, перехода на HTTPS или крупной реструктуризации карту стоит проверить заново и отправить в вебмастера повторно — так поисковики быстрее узнают про изменения.

Частые вопросы о XML-карте сайта
Обязательна ли XML-карта сайта для WordPress?
Формально — нет: поисковые роботы умеют находить страницы по ссылкам. Но на практике карта ускоряет обнаружение новых материалов в разы, особенно на молодых сайтах с небольшой ссылочной массой. Это одна из самых дешёвых SEO-настроек: делается один раз и работает сама.
Чем XML-карта отличается от HTML-карты?
XML-карта — файл для поисковых роботов со списком URL и датами обновления, посетители её обычно не видят. HTML-карта — страница для людей со ссылками на разделы сайта. Для индексации важна именно XML-версия.
Как часто WordPress обновляет карту сайта?
Автоматически: опубликовали статью — URL появился в карте, отредактировали — обновилась дата lastmod. Отдельного пересбора не требуется: файл генерируется на лету при обращении робота.
Нужно ли указывать sitemap в robots.txt?
Не обязательно, но полезно: директива Sitemap: https://ваш-сайт.ru/wp-sitemap.xml подскажет адрес карты любому роботу, даже без доступа к вебмастеру. Указывать карту и в robots.txt, и в вебмастере можно одновременно — это не конфликтует.
Сколько страниц может быть в карте сайта?
Один файл sitemap вмещает до 50 000 URL или 50 МБ. WordPress по умолчанию делит карту на части по 2000 адресов, поэтому на больших сайтах карта распадается на несколько файлов — это нормальное поведение, ограничений сверху нет.
Карта отправлена, но страницы не попадают в индекс — что не так?
Карта — только список адресов, а не гарантия индексации. Робот сам решает, стоит ли держать страницу в поиске: мешать могут дубли, слабый контент, закрытие в meta robots, ошибки сервера. Проверьте статус страниц в вебмастере и качество самих материалов.
Вывод
XML-карта сайта — настройка на один вечер, которая остаётся с сайтом навсегда. Порядок простой: убедитесь, что карта открывается по адресу /wp-sitemap.xml, отправьте её в Яндекс Вебмастер и Google Search Console, один раз проверьте состав — и дальше всё работает без вашего участия. Понадобился тонкий контроль над картой — ставьте SEO-плагин или применяйте сниппеты из шестого раздела.
Карта — только фундамент. Дальше начинается системная работа: SEO-продвижение сайта и его альтернатива — контекстная реклама. А если времени на технические тонкости нет совсем, посмотрите наши услуги по разработке и продвижению сайтов, примеры работ — в портфолио, свежие практики по WordPress выходят в блоге delai-sait.ru. Вопросы по настройке — через форму контактов: подскажем и поможем.



