Обновлено: 17.03.2024
Практика показывает, что карты сайта в формате sitemap.xml остаются недооцененными вебмастерами и даже SEO-специалистами. Рассмотрим, как и для чего можно использовать карты сайта в продвижении.
Что такое XML-карта сайта
Карта сайта в формате XML — это файл, размещенный в корне веб-сайта, со списком страниц сайта, в соответствии с протоколом sitemaps.org . Этот протокол, читаемый ботами, был разработан, чтобы предоставить веб-мастерам стандартизированный способ перечисления страниц, которые должны быть просканированы и проиндексированы поисковыми системами.
Кроме списка страниц, которые робот должен обойти и внести в индекс поисковой системы, sitemap.xml содержит дополнительные метаданные о каждой странице.
Важно понимать: индексный файл – это только список рекомендуемых вами URL, предлагаемых поисковой системе. Это не приказ. Поисковик может проигнорировать эти ссылки. В sitemap.xml не должны попадать заблокированные для сканирования, закрытые для индексации страницы или URL страниц-дублей, или отдающие любой код кроме 200. В этом списке могут быть только качественные посадочные страницы, которые должны иметь трафик из поисковых систем.
Поисковые роботы обнаруживают новые страницы по ссылкам. Робот находит ссылку и добавляет её в список на обход. Не каждая ссылка имеет ценность для людей и роботов. С помощью sitemap.xml вебмастер может предложить роботу список страниц сайта в машиночитаемом виде.
Стандарт был обнародован в 2005 году как совместный проект Google, Yahoo! и Microsoft. В 2007 была добавлена поддержка автообнаружения sitemap с помощью robots.txt.
Какие данные содержит индексный файл
Формат подразумевает следующие данные:
- URL страниц, которые должны быть проиндексированы (loc)
- Дата последнего обновления (lastmod)
- Частота изменений (changefreq)
- Приоритет странницы (priority) в числовом диапазоне от 0 до 1. Например, главной странице сайта чаще всего присваивается приоритет 1.0. Категориям верхнего уровня – 0.8.
Отдельные карты сайта могут быть объединены в общий индексный файл. Пример:
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>https://www.site.ru/sitemap-files.xml</loc> <lastmod>2023-02-07T14:30:12+03:00</lastmod> </sitemap> <sitemap> <loc>https://www.site.ru/sitemap-iblock-2.xml</loc> <lastmod>2023-07-03T12:47:18+03:00</lastmod> </sitemap> </sitemapindex>
Поисковые системы фактически не учитывают дополнительные данные, считая их «мешком шума». Виной тому – вебмастера и оптимизаторы, использовавшие sitemap.xml для спама. В настоящий момент справка Google рекомендует обновлять lastmod только в случае существенного изменения основного контента. Changefreq и Priority официально не поддерживаются.
Аналогичные требования можно найти и в официальной документации Яндекс об использовании индексных файлов: единственный обязательный тег – <loc>.
XML-карта сайта не предназначена для людей, и используется только поисковыми роботами.
Синтаксис индексного файла
Первой строкой в файле sitemap указывается ссылка на пространство имен языка XML (описание стандарта, на основе которого составлен файл). Строка стандартная и всегда выглядит вот так:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
XML-карта сайта должна иметь кодировку UTF-8 и содержать следующие теги:
- <urlset> — открывающий/закрывающий тег, содержащий все ссылки sitemap.
- <url> — информация о каждой ссылке: сам URL, с какой периодичностью обновляется информация по этому адресу, дату последнего обновления и приоритет в индексировании.
- <loc> — ограничивает конкретный URL
- <changefreq> — задает периодичность обновления информации на странице: always, hourly, daily, weekly, monthly, yearly, never (всегда, ежечасно, ежедневно, еженедельно, ежемесячно, ежегодно, никогда). Тег необязателен и фактически бесполезен.
- <lastmod> — дата последнего обновления страницы. Так робот понимает, изменилось ли что-нибудь с момента его предыдущего посещения.
- <priority> — дает роботам рекомендацию о приоритете индексирования.
Пример sitemap.xml
<?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>https://www.example.com/sitemap1.xml</loc> <lastmod>2024-03-02</lastmod> </sitemap> <sitemap> <loc>https://www.example.com/sitemap2.xml</loc> <lastmod>2024-03-02</lastmod> </sitemap> </sitemapindex>
Каждому ли сайту необходима карта сайта sitemap.xml
Официальная документация Google отмечает 3 случая, в которых карта сайта необходима:
- Сайт объёмом более 500 страниц
- Сайт, ещё не проиндексированный поисковыми системами или имеющий проблемы с перелинковкой и входящими ссылками
- Сайт представлен в Google News и имеет много мультимедийного контента
Рекомендации Яндекс:
- Большое количество страниц;
- Отдельные страницы без навигационных ссылок;
- Глубокая вложенность.
Во всех прочих случаях sitemap.xml как список ссылок для обхода поисковыми роботами не обязателен.
Ограничения
Карты сайта в формате xml имеют ограничения:
- sitemap.xml не может содержать более 50 000 URL
- Размер файла индексной карты не может превышать 52 428 800 байт
- В Search Console может быть загружено не более 500 индексных файлов для одного сайта
Как загрузить sitemap.xml в поисковые системы
На сегодняшний день существует 2 основных способа:
- Указать расположение карты сайта в robots.txt: Sitemap: https://www.example.com/sitemap.xml
- Указать адрес в консоли поисковой системы
Ранее была доступна отправка через HTTP-запрос средствами анонимного метода REST. Этот способ больше не поддерживается, поскольку его используют преимущественно спамеры. Запрос выглядел следующим образом:
http://www.google.com/ping?sitemap=https://www.example.com/sitemap.xml
Какие XML-карты сайта бывают
Google поддерживает карты сайта в формате XML для обычных HTML-страниц, файлов изображений, видеофайлов, локализованных версиях страниц. Есть отдельный формат для новостных ресурсов.
Яндекс на сегодняшний день поддерживает sitemap для индексирования изображений и видеофайлов. Вместо отдельного индексного файла можно использовать микроразметку Schema.org соответствующего типа. Пример индексного файла для изображений, которые необходимо проиндексировать:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"> <url> <loc>http://example.com/primer.html</loc> <image:image> <image:loc>http://example.com/image.png</image:loc> <image:geo_location>Новиград</image:geo_location> </image:image> </url> </urlset>
Как создать карту сайта
Современные CMS имеют встроенные модули, способные генерировать полноценные карты сайта. В ряде случаев вопрос решается дополнительными плагинами (как, например, в случае WordPress, где до сих пор весь SEO-функционал по умолчанию отсутствует).
Это оптимальный вариант, поскольку подразумевает динамическую генерацию, которой можно управлять.
Можно использовать внешние генераторы: онлайн-сервисы или с помощью ПО типа Screaming Frog SEO Spider.
Минус такого способа: вам придётся вручную регулярно обновлять индексный файл после добавления или удаления страниц.
Отправка новых URL в поиск
Одним из основных и наиболее очевидных способов использования карты сайта является передача URL-адресов поисковым системам. Новые URL могут быть добавлены как в существующую карту сайта, так и в новую.
Добавление новых URL-адресов в карту сайта фактически стало рекомендуемым средством уведомления Google о наличии новых страниц . Это предупреждает Google об изменениях на вашем веб-сайте вне графика, установленного для обхода вашего сайта.
Хотя Google уведомляется о новых страницах, когда вы отправляете новую карту сайта, содержащую их, Google не обязан сканировать или индексировать их немедленно.
Вы также можете использовать этот метод для объявления об изменениях на страницах, используя тег <lastmod> в карте сайта, чтобы указать дату обновления.
Как уже было сказано, ошибки использования <lastmod> могут привести к тому, что поисковые системы прекратят учитывать эти данные в пределах домена.
Уменьшение слишком большой глубины вложенности
Сканирование основано на ссылках. От того, как реализована архитектура сайта, зависит сканирование и индексирование вашего сайта. Избыточная глубина вложенности может стать причиной того, что значительные части вашего сайта могут оставаться вне досягаемости поисковых роботов-краулеров.
Простой пример: страница, содержащая большое количество ссылок, может быть по каким-то причинам закрыта для индексирования, а значит, ссылки на ней не учтутся.
Сама по себе избыточная глубина вложенности может иметь следующие последствия:
- Негативное влияние на ранжирование за счет более низкого показателя популярности, используемого в алгоритме PageRank.
- Глубина влияет на время, необходимое для сканирования страниц поисковыми краулерами.
- Глубина может помешать пользователям посещать страницы или снизить частоту визитов. Чем глубже страница расположена, тем выше вероятность того, что трафика она не получит.
Хотя карты сайта не могут решить проблемы «ссылочного веса», популярности и посетителей, вы можете использовать карту сайта, чтобы предоставлять ботам URL-адреса страниц, расположенных глубоко на вашем сайте.
Управление страницами-«сиротками»
В ряде случаев ссылки из карты сайта становятся для некоторых страниц единственным способом перейти на такую страницу. Эти страницы принято называть «страницами-сиротками» (orphan page). Ценность таких страниц для поисковых систем околонулевая, люди могут обнаружить их только из поисковой выдачи либо по реферральным ссылкам. Они выпадают из схемы PageRank и редко ранжируются высоко. Эти страницы следует удалить или добавить на них ссылки со страниц структуры вашего сайта.
Ключом к управлению потерянными страницами является их поиск. Один из лучших способов поиска потерянных страниц — сравнить URL-адреса в карте сайта с URL-адресами, которые можно найти при сканировании вашего сайта. Если страница имеет ссылки только из индексной страницы, но ни одной входящей с открытых для индексирования страниц – это проблема, и её нужно решать.
Управление мультиязычным сайтом
Карты сайта XML поддерживают объявления hreflang. Есть причины, по которым вы можете предпочесть объявлять hreflang в картах сайта, а не на отдельных страницах. Эти причины могут включать сокращение кода на страницах за счет исключения его из заголовков страниц или работу с большим и часто меняющимся сайтом.
Лучшие практики для объявлений hreflang остаются прежними:
- Соблюдайте обязательный язык и дополнительные коды регионов.
- Перечислите все переводы страницы, включая саму страницу.
- Не направляйте все страницы на главную
- Используйте код x-default для страниц, которые позволяют пользователям выбирать язык или регион.
Если вы используете объявления hreflang в картах сайта, избегайте использования объявлений hreflang в заголовках страниц или в HTML-коде страницы.
Управление дублями
Если в процессе аудита сайта вы обнаружили дубли страниц, вам предстоит либо уникализировать эти дубли, либо склеить их. Как минимум, вам придётся указать поисковикам, что оставить в индексе.
URL, включенные в карту сайта, имеют приоритет для поисковых систем и считаются каноническими.
Если у вас есть проблемы с каноническими адресами – причина может крыться в sitemap. Убедитесь, что неканонических страниц в карте сайта нет.
Канонизированные URL в карте сайта
Канонизированный URL имеет канонический элемент, указывающий на другой URL-адрес. Sitemap должен содержать только те URL-адреса, которые должны быть в индексе поисковых систем. Если URL-адрес канонизирован, это означает, что URL-адрес не должен быть в индексе, он должен быть склеен (консолидирован) с указанным в canonical URL.
Включение канонизированного URL-адреса в карту сайта предоставляет поисковым системам противоречивую информацию и может повлиять на то, что они выберут каноническим URL-адресом, что, в свою очередь, может означать, что непредусмотренные URL-адреса будут проиндексированы.
Конкурентный анализ с помощью sitemap
Благодаря карте сайта, выгруженной с сайта конкурентов, вы можете узнать, как часто и в каких объёмах конкурент публикует контент, категории этого контента, даты публикации и многое другое.
Google не принимает sitemap в Search Console
Довольно распространенное явление. Причиной того, что Гугл никак не хочет учитывать карту сайта, могут быть несколько основных причин.
- Сайт только пошёл в индекс, и список URL на обход пока не нуждается в пополнении. Ресурсы поисковой системы не безграничны, и нужно просто подождать, когда бюджет на сканирование позволит роботу-краулеру учесть новые данные для обхода.
- У сайта есть проблемы с настройкой главного зеркала и поисковик пока не выбрал приоритетный вариант. Проверьте, что попадает в индекс, и если в списке страниц вы увидите разнобой (скажем, с www и без www) – это вероятная причина проблем с картой сайта. Настройте 301-й редирект на главное зеркало.
- Проверьте валидность карты сайта. Если она заполнена с грубыми ошибками, поисковик может отказаться её учитывать.
- Кодировка должна быть UTF-8 (без BOM). Другие кодировки недопустимы.
- Убедитесь, что sitemap.xml физически доступна для роботов. Представители Google утверждали, что гуглобот может ждать отклика и 2 минуты. На это не стоит надеяться: убедитесь, что время отклика не превышает 10-15 секунд.