Коротко
Что такое sitemap.xml
Яндекс определяет Sitemap как файл со ссылками на страницы сайта, который сообщает поисковым системам об актуальной структуре сайта. Google описывает то же: файл содержит информацию о том, как организован контент сайта, а роботы читают его, чтобы эффективнее сканировать ресурс. В обиходе такой файл называют картой сайта.
Название sitemap.xml - привычное имя файла в формате XML. Яндекс поддерживает два формата: XML (рекомендуемый) и TXT, где в каждой строке по одному адресу. Для файла, созданного вручную, Google просит, чтобы имя состояло из символов, разрешённых в URL.
Нужен ли файл вашему сайту
Роботы находят страницы по ссылкам, поэтому на небольшом сайте с понятной навигацией файл может быть не нужен. Критерии у систем похожи, но не одинаковы.
| Яндекс | ||
|---|---|---|
| Когда нужен | много страниц; есть страницы без ссылок из навигации; глубокая вложенность | крупный сайт; новый сайт, на который почти нет внешних ссылок; много видео, изображений или новостей |
| Когда можно обойтись | Яндекс этого прямо не описывает | не больше 500 страниц, которые должны быть в поиске; продуманная внутренняя перелинковка; сравнительно мало видео, изображений и новостных страниц |
| Гарантия индексации | не гарантирует, что все URL попадут в поиск | не гарантирует, что все страницы будут просканированы и проиндексированы |
Если сайт сделан на WordPress, Wix или Blogger, Google отмечает, что система управления сайтом, возможно, уже создала файл. Наш совет: откройте ваш-сайт/sitemap.xml в браузере, прежде чем делать новый.
Что требуют Яндекс и Google
В таблице три необязательных тега: priority (значимость страницы), changefreq (частота изменения страницы) и lastmod (дата последнего обновления).
| Требование | Яндекс | |
|---|---|---|
| Форматы | XML и TXT; RSS и Atom через Sitemap не поддерживает | XML, RSS/mRSS/Atom, текстовый файл |
| Кодировка | UTF-8 | UTF-8 |
| Размер и число адресов | до 50 000 ссылок, до 50 МБ без сжатия | до 50 000 URL, до 50 МБ без сжатия |
| Адреса | только того домена, где лежит файл; файл из каталога должен содержать адреса этого же каталога или вложенных | полные абсолютные URL с протоколом и доменом |
| Ответ сервера | HTTP-код 200 | Google этого не указывает |
Тег priority | необязательный; по справке робот загружает страницы поочерёдно с учётом значения от 0.0 до 1.0 | игнорируется |
Тег changefreq | необязательный; как используется, Яндекс не описывает | игнорируется |
Тег lastmod | необязательный; неверная дата даёт предупреждение, формат W3C Datetime | учитывается, если дата гарантированно точная и отражает значительное изменение страницы |
| Расположение | на том же домене, что и сайт | лучше в корне: если файл отправлен не через Search Console, он действует только на каталоги уровнем ниже |
Заметнее всего системы расходятся в теге priority: Яндекс называет его значимостью страницы и учитывает при загрузке, а Google теги priority и changefreq игнорирует. Если сайт важен в основном для Яндекса, priority можно указать для самых нужных страниц. Мы не нашли в справке Яндекса обещания, что это ускорит индексацию.
Как выглядит файл
Минимальный XML-файл из документации Google:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/foo.html</loc>
<lastmod>2022-06-04</lastmod>
</url>
</urlset>Обязателен только тег loc с адресом страницы. Если нужно сообщить лишь адреса, подойдёт текстовый файл: по одному полному адресу в строке, расширение .txt.
Когда страниц больше 50 000 или файл тяжелее 50 МБ, его делят на несколько файлов и перечисляют их в индексном файле Sitemap - это отдельный файл-список, в котором вместо страниц указаны адреса частей карты. По справочнику ошибок Яндекса, в индексном файле может быть не больше 50 000 ссылок на файлы Sitemap, и он не может ссылаться на другие индексные файлы. Яндекс советует отметить тегом lastmod те файлы, которые часто обновляются.
Что включать в карту
И Яндекс, и Google просят начинать с канонических адресов. Канонический адрес - основной URL страницы: если одинаковый или очень похожий контент доступен по нескольким адресам, выберите один и укажите в файле только его. Яндекс отдельно советует определить такие адреса до создания файла, если на сайте есть несколько страниц со схожей информацией.
Яндекс пишет, что в файл обычно включают все значимые страницы сайта, а на большом сайте можно убрать уже известные Яндексу страницы и вносить только новые и часто обновляемые. Какие страницы уже известны, видно в Яндекс Вебмастере: Индексирование, Статистика обхода. Google просит включать адреса, которые вы хотите видеть в результатах поиска.
Наш совет, которого нет в документах этих систем: не включайте в карту адреса, которые отдают редирект или ошибку, и страницы, закрытые от индексации. Файл должен перечислять страницы, которые вы хотите показывать в поиске.
Как создать и подключить
Проверьте, есть ли файл
Откройтеваш-сайт/sitemap.xml. Google отмечает, что WordPress, Wix и Blogger иногда создают файл сами. Если файл открывается и содержит нужные адреса, создавать новый, скорее всего, не нужно.Определите канонические адреса
Выберите для каждой страницы основной URL. Этот список и станет содержимым файла.Создайте файл
Google предлагает три пути: средствами системы управления сайтом, вручную (если адресов несколько десятков или меньше) и автоматически, например выгрузкой адресов из базы данных сайта. Файл должен быть в кодировке UTF-8.Разместите на сайте
Яндекс требует разместить файл на том же домене, для которого он составлен. Для Google корень сайта нужен, чтобы файл, отправленный не через Search Console, действовал на весь сайт.Проверьте файл до отправки
В Яндекс Вебмастере есть инструмент «Анализ файлов Sitemap». Ошибки, которые он находит, описаны в справочнике ошибок обработки Sitemap.Сообщите поисковым системам
Яндекс предлагает указать ссылку на файл в robots.txt или в разделе «Файлы Sitemap» Яндекс Вебмастера. Google принимает файл через отчёт о файлах Sitemap в Search Console, через Search Console API или строкой в robots.txt. Строка выглядит так:Sitemap: https://example.com/sitemap.xml. Google разрешает вставить её в любое место файла и указывать несколько файлов. Мы советуем сделать всё сразу: указать строку в robots.txt и добавить файл в оба кабинета.
Если доступ к файлу Sitemap запрещён директивой Disallow в robots.txt, Яндекс не сможет его загрузить. О том, как устроен файл правил обхода, читайте в статье как составить robots.txt.
Как проверить результат
В Яндекс Вебмастере после добавления файл попадает в очередь, робот загрузит его в течение двух недель. Затем напротив файла появится один из статусов.
| Статус в Вебмастере | Что значит | Что делать |
|---|---|---|
| «OK» | файл сформирован правильно и загружен в базу робота | по справке Яндекса, проиндексированные страницы могут появиться в поиске в течение двух недель |
| «Редирект» | адрес файла перенаправляет на другой | убрать редирект и сообщить роботу об обновлении |
| «Ошибка» | файл сформирован неправильно | открыть подробности по ссылке «Ошибка», исправить и сообщить роботу об обновлении |
| «Не проиндексирован» | сервер вернул не 200 | проверить ответ сервера инструментом «Проверка ответа сервера» |
| Доступ к файлу запрещён | в robots.txt стоит директива Disallow | разрешить доступ и сообщить роботу об обновлении |
Если вы изменили добавленный файл, удалять и загружать его заново не нужно: робот регулярно проверяет обновления. Чтобы ускорить обход, нажмите значок обновления. Эту функцию можно использовать до 10 раз для одного хоста. Когда все попытки израсходованы, следующая станет доступна через 30 дней после первой; точная дата показана в интерфейсе Вебмастера.
В Google Search Console отчёт о файлах Sitemap показывает, когда Googlebot получил файл, и сообщает об ошибках обработки. Google подчёркивает, что отправка файла - лишь подсказка и не гарантирует даже скачивание файла.
Если сам файл Sitemap окажется в Вебмастере среди исключённых страниц, это не ошибка. По справке Яндекса, такое отображение - лишь информация: оно не влияет на индексирование и обработку, а файлы Sitemap не участвуют в поиске.
Частые ошибки
- Закрыть файл Sitemap директивой Disallow в robots.txt.
- Отдать при запросе файла редирект или ошибку сервера вместо кода 200.
- Указать адреса с другим протоколом или с другим вариантом домена (с www или без), чем у сайта, добавленного в Вебмастер. Яндекс просит проверить совпадение протокола и префикса www.
- Включить адреса другого домена: Яндекс просит указывать ссылки только того домена, где лежит файл.
- Использовать относительные адреса вроде
/mypage.html: Google просит полные URL с протоколом и доменом. - Сохранить файл не в UTF-8. В справочнике Яндекса это отдельная ошибка или предупреждение.
- Превысить 50 000 адресов или 50 МБ и не разбить файл.
- Указать неверную дату в
lastmod: Яндекс выдаёт предупреждение и ждёт формат W3C Datetime. - Ждать результата сразу. Яндекс называет срок до двух недель на обработку нового файла.
С чего продолжить
Файл Sitemap помогает роботу находить страницы, но не заменяет остальную работу над сайтом. О том, с чего вообще начинается продвижение, рассказано в обзоре SEO-продвижения.
О Head Promo
Head Promo - агентство поискового маркетинга. Подробнее об услуге - на странице SEO-продвижения на нашем сайте.
Хотите, чтобы специалисты посмотрели ваш сайт?
Получить бесплатный экспресс-аудитЧастые вопросы
Частые вопросы
Источники
- Яндекс Вебмастер. Использование файла Sitemap: https://yandex.ru/support/webmaster/ru/controlling-robot/sitemap
- Яндекс Вебмастер. Файлы Sitemap: https://yandex.ru/support/webmaster/ru/indexing-options/sitemap
- Яндекс Вебмастер. Справочник по ошибкам обработки файла Sitemap: https://yandex.ru/support/webmaster/ru/error-dictionary/sitemap.html
- Google Search Central. Общие сведения о файлах Sitemap: https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview
- Google Search Central. Как создать файл Sitemap и сделать его доступным для Google: https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap
- Head Promo: https://head-promo.ru/