Выберите Ваш город

Санкт-ПетербургМоскваБелгород Другой город
Svettsova.com
Санкт-ПетербургМоскваБелгород

А что Вы знаете о sitemap?

А что Вы знаете о sitemap?

Карта сайта в формате XML должна быть на любом сайте, это как минимум правило хорошего тона для вебмастера. Кроме этого, sitemap помогает поисковым машинам в индексации сайта, потому как время от времени поисковики карту сайта обходят.

Технически реализовать карту сайта не сложно, в популярных CMS есть для этого плагины. Однако с настройкой sitemap нужно быть осторожным. Если в карту сайта попадет мусор (изображения, PDF файлы, технические страницы, несуществующие страницы) — они все будут проиндексированы. А так как большинство таких страниц недостаточно качественные — они не будут участвовать в результатах поиска, но поисковая машина будет о них знать, что понизит общий рейтинг сайта.

Содержание:

Формат карты сайта. Есть ли альтернативы?

Смущает формат XML? Меня тоже интересовал этот вопрос. Объясняю.

Яндекс, к примеру, допускает использование фалов sitemap в формате txt. Почитайте сами.

Google тоже допускает использование формата txt, а также использование фидов (на последнее ругается Яндекс). Довольно подробно здесь.

XML рекомендованный, но не единственный

Яндекс об этом заявляет прямо — использование XML рекомендуется. Google говорит нам о том, что использование txt формата возможно только для указания адреса страницы. Но обычно нам важно передать как можно больше информации поисковой системе, а формат XML как раз позволяет нам это сделать. Об этом слегка позже.

Какие бывают карты сайта

Помимо обычной карты сайта протокол позволяет реализовать еще следующие виды sitemap

Sitemap для изображений

Первым, как и практические всё в интернете, карту сайта для графического контента начал использовать Google. Это создавало некоторые проблемы
отечественным веб мастерам, поскольку валидацию в Яндексе такая карта сайта не проходила, а популярные плагины (например YoastSEO для wordpress) генерировали карту сайта для изображений внутри основной карты сайта (что допустимо было раньше для Google, если вникнуть в документацию Google и что допустимо сейчас для обоих ПС). Так как Яндекс не поддерживал пространство имен sitemap image, то в Веб Мастере вылазили ошибки.

Сейчас Яндекс поддерживает пространство имен, разработанное Google для sitemapimage.

Sitemap для видео контента

Эта история поддерживается только Google, технологии индексации видео контента Яндекса пока не связаны с файлами sitemap. Документация по этому файлу от Google лежит здесь

Еще один инструмент, рекомендуемый Google для улучшения рейтингов в выдаче видео контента — использование микроразметки.

Пространство имен для Sitemap Video также создано Google.

Sitemap для новостей

Из названия понятно, что это для новостей и, конечно, только для Google новостей. Яндекс ходит мимо и будет ругаться на такую карту сайта. Подходит для новостных порталов и сайтов с большим потоком новостей или другого текстового контента. Согласно рекомендациям в sitemap news не должно быть записей старше двух дней.

Index Sitemap

Не то, чтобы это отдельный вид карты сайта. Дело в том, что файл sitemap имеет вполне физические ограничения — не более 50000 урлов, вес не более 50Мб. Понятно, что есть сайты с гораздо большим количеством урлов и для этого создатели протокола sitemap придумали индексные карты сайта. SitemapIndex по сути представляет из себя карту сайта с картами сайта. Выглядит это так:

Индекс карты сайта sitemap.xml в битрикс
Так выглядит индекс карты сайта в Битрикс CMS

Многие CMS имеют встроенные инструменты генерации sitemap и многие же из них делают по умолчанию индекс, вне зависимости от размера сайта. Так делает BitrixCMS, практически все плагины для WordPress. Это удобно в том понимании, что веб мастеру не нужно создавать индекс, когда это «вдруг» потребуется, но с файлами будет сложнее работать.

Где располагается файл с картой сайта?

Обычно карта сайта располагается по адресу https://site.ru/sitemap.xml, но это вовсе не обязательно. Карту сайта можно расположить на любом адресе. При этом, есть несколько способов указать поисковым машинам на адрес расположения карты сайта:

В файле robots.txt

В этом файле можно указать на адрес карты сайта, его постоянно просматривают роботы, где для них содержатся инструкции по сканированию сайта.

Указание на адрес карты сайта в файле robots.txt
адрес карты сайта в файле robots.txt

В панелях для веб мастеров

Яндекс Вебмастер

В яндекс веб мастере это раздел индексирование -> файлы sitemap

ДОбавление файла sitemap.xml через ЯндексВебмастер
Как добавить sitemap в ЯндексВебмастер

Перед добавлением ссылки на файл последний можно проверить теми же сервисами Яндекса, здесь для не авторизованных пользователей, для авторизованных в ВебМастере можно проверить как указано на картинке.

Проверка корректности карты сайта сервисом Яндекса
Где проверять карту сайта в Яндекс Веб мастере

Обратите внимание на то, что проверить карту сайта можно тремя способами — проверить файл, проверить сам код (или его кусок), либо проверить URL. В большинстве случаев достаточно проверить URL, поскольку сам файл формируется инструментами CMS, а на его содержимое можно влиять лишь в контексте попадания или не попадания конкретной страницы в файл sitemap.

Однако, если Вы разрабатываете свой собственный модуль для формирования карты сайта, у Вас самописная CMS, или к карте сайта есть определенные технические требования (например совместить карту сайта страниц и карту сайта для изображений), то тогда есть смысл проверять на валидность как сам файл, так и отдельные его куски.

На всякий случай, если Вы еще не видели документацию по протоколу Sitemap — она здесь https://www.sitemaps.org/ru/protocol.html.

Google Search Console

В SearchConsole, разумеется, тоже можно добавить файлы sitemap и в некотором смысле Google дает нам больше инструментов для управления индексированием через sitemap. Добавить можно как указано на изображении ниже

Добавление карты сайта через Google Search Console
Где добавлять карту сайта в Google Search Console

Способы организации файлов Sitemap

Часто у веб мастеров возникают вопросы об организации файлов sitemap в случае, если используются несколько видов файлов на одном сайте. Но начнем с простого

Один обычный sitemap.xml

Проще всего разместить файл в директории «по умолчанию» site.ru/sitemap.xml. Далее следует указать адрес карты сайта в файле robots.txt и панелях веб мастеров. Все будет ок, только периодически надо проверять, обновляется ли сам файл.

Одновременно используются sitemap.xml и sitemap image

Сейчас, когда Яндекс стал поддерживать пространство имен, разработанное Google вариантов стало несколько.

Сделать и страницы и изображения в одном файле

Выглядеть это будет примерно так:

[php] <?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://site.ru/page/</loc>
<image:image>
<image:loc>http://site.ru/kartinka.jpg</image:loc>
</image:image>
<image:image>
<image:loc>http://site.ru/photo.jpg</image:loc>
<image:title>Работа в Париже</image:title>
<image:geo_location>Париж, Франция</image:geo_location>
</image:image>
</url>
</urlset>
[/php]

В этой карте размещена одна ссылка на страницу и адреса с файлами изображений.

Соответственно, мы можем помимо адреса самой страницы передавать поисковику и информацию об изображениях, размещенных на этой странице.

Это корректный способ использоватения по сути двух видов файла в одном. Однако он не самый оптимальный, поскольку управлять измнеениями в такой реализации будет сложно. На наш взгляд оптимальный следующий способ:

Сделать отдельные файлы

Понятно, что можно генерировать два файла, один для изображений, другой для страниц. Более того, возможно и допустимо генерировать разные файлы для разных роботов, если для продвижения используются сложные схемы управления индексированием и этот процесс разделяется для Яндекса и Гугла.

В этом случае нужно не указывать на файл sitemap в файле robots.txt, а в панелях для веб мастеров указать адреса сайтмапов для той или иной поисковой системы.

Вот как это выглядит

Указание на карту сайта в файле robots.txt
Указание на общий sitemap в robots
Указание на карту сайта для изображений в GoogleSearchConsole
В SearchConsole добавлена карта сайта для изображений
Указание на карту сайта в панели Яндекс Веб мастер
Карта сайта добавлена в панели веб мастера Яндекса

Конкретно здесь такая реализация из-за того, что Яндекс некоторое время назад еще не поддерживал пространство имен для Sitemap image, поэтому мы и не добавили эту карту сразу в robots, а добавили только в GSC. Когда Яндекс стал поддерживать этот формат мы добавили карту через ЯВМ, ибо так быстрее.

Сейчас можно в файл robots.txt добавлять несколько ссылок на файлы карты сайта и поисковые системы обойдут их все.

В файле robots.txt

Обычный файл robots для обычного сайта выглядит стандартно. Как правило в таком обычном файле директивы используются для всех Usar-agent, в том числе ссылка на карты сайта для всех роботов одна.

При этом надо понимать, что сканированием графического контента на сайте занимаются специальные роботы — Googlebot-Image и YandexImages. Для этих агентов можно прописать свои директивы и свои карты сайта.

Указание на свои карты сайта для роботов индексирующих картинки
еще так можно управлять индексацией картинок

Индекс и много файлов

Индекс сам по себе предполагает несколько файлов внутри. Однако по нашему мнению не стоит в индекс вкладывать ссылки на файлы sitemap для изображений, видео и новостей, а расположить их отдельными файлами и добавить в панелях веб мастеров.

Вот так выглядит индекс карты сайта в Веб мастере

Индекс карты сайта в панели Яндекс Веб мастер (BitrixCMS)
Так видит яндекс индексный файл карты сайта

А вот так в GoogleSearchConsole

Индекс карты сайта в панели GoogleSearchConsole(BitrixCMS)
Так индексный файл смотрится из панели GSC

Файлы внутри индекса технически не считаются как отдельные карты сайта, поэтому Яндекс предлагает к индексному файлу добавить еще 10 ссылок на файлы sitemap

Можно добавить еще 10 файлов sitemap
Яндекс позволяет добавить еще 10 файлов, несмотря на то, что в индексном файле их уже 6

Так что индекс — хорошо, но для специфичного контента лучше делать свои отдельные файлы, не входящие в основной индекс. Кроме того, ничто не мешает веб мастеру делать индексы для разных типов карт сайта, если он имеет дело с очень большим количеством контента.

Как и для чего исследовать sitemap.xml

Первое, что я делаю, когда делаю технический аудит сайта — открываю его sitemap и рассматриваю его пару минут. Жестянка сразу бросается в опытный глаз.

Но ищем сейчас мы вовсе не жестянку, а исследуем сайт на потенциальные проблемы с индексированием, а учитывая общий уровень веб мастеров в России, да и за рубежом, честно говоря, эти проблемы касаются каждого второго сайта. Считаем количество URL в карте сайта и в индексе. Если разница большая (а большая она может быть в любую сторону) — надо выявлять проблему дальше, возможно она напрямую и не связана с sitemap. Тут уже следует смотреть взаимосвязи, потому как Вы помните что SEO? SEO — это явно рефлексивный процесс.

Использование sitemap — серьезный инструмент по управлению индексированием страниц сайта. Если у Вас большой сайт с регулярным добавлением нового контента в значительной объеме — этот инструмент едва ли не самый главный в работе веб мастера

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

Протокол, зеркало

Довольно часто встречается история, когда сайт доступен по протоколу https, а URL в карте сайта строятся по протоколу http

Ошибка в карте сайта, когда сайт доступен по HTTPS, а урлы в карте сайта строятся по HTTP
Ошибка в sitemap.xml

В данному случае проблема в скрипте. Разработчик указал протокол вручную и когда сайт переехал на https никто не обратил внимание на файл sitemap. То же самое касается и другого зеркала — сайта с www или без www.

В общем, при исследовании Вашего sitemap обратите внимание на то, чтобы был корректный адрес страниц.

Лишние страницы, технические страницы, заброшенные страницы

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

  • Особенности работы CMS
  • Особенности работы скрипта
  • Наличие на сайте брошенных, старых страниц, страниц, созданных для тестов и т.д.

Вне зависимости от природы этих ошибок результат всегда один — попадание в sitemap того, что не должно быть там. Только что попросили сделать аудит одного сайта и тут есть что показать Вам. Давайте смотреть картинки.

Мусорные страницы в карте сайта
Ненужная страница в карте сайта

Видим, что есть некая страница с URL /404. Идем по адресу и…

Страница 404 из карты сайта
Так выглядит страница 404 из sitemap

Есть даже некая ирония в том, что страница 404 возвращает код ответа 200 (а должна 404, если что). Дело в том, что таких страниц на этом сайте, непонятных, которые в принципе не нужны ни пользователю, ни поиску, ни кому другому несколько. Все они явно недостаточно качественные для индексации, все они не должны ранжироваться и это понимает поисковая система. Если таких страниц у нас 2-3 — ничего страшного, а если 200?

Верный код ответа сервера

Что такое код ответа сервера? Читайте, Екатерина старалась. Прочитали? Или и так знаете?

Подробно обсуждать коды ответов сервера мы здесь не будем. Если коротко, то все все страницы, входящие в sitemap должны возвращать код ответа сервера 200. Проверить код ответа сервера можно при помощи сервиса Яндекса здесь

Если сайт создан давно, то есть смысл исследовать страницы из карты сайта на предмет кода ответа, потому что запросто может быть как 404 (страница фактически удалена, но почему-то застряла в карте), так и 301 (поменяла адрес по разным причинам). Это самые популярные альтернативы 200-му ответу, но может быть вообще все что угодно. За это мы и любим веб технологии, — здесь полно сюрпризов и всякой жести порой. И это классно.

Страницы так или иначе скрытые от индексации

В файле robots можно закрывать от индексации как отдельные страницы, так и целые папки. Но надо быть последовательным и исключить их из карты сайта. Потому что робот приходит сначала в robots, а потом идет в sitemap и видит закрытые от индексации страницы… То же самое касается, если Вы управляете индексированием с помощью мета тега robots, или заголовков X-Robot tag. То, что лежит в карте сайта по умолчанию предназначено для сканирования и индексирования. Поэтому надо внимательно относиться к тому, что генерируют Ваши скрипты.

Файл sitemap не обновляется

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

Точно так же стоит обратить внимание на атрибут файла lastmod, если он не обновляется, а страница обновляется — поисковый робот может и не переобойти страницу, обратившись к атрибуту lastmod и вычислив, что страница не изменена.

Ошибки валидации

Из панели веб мастера Яндекс или Google могут Вам сообщать о том, что карта сайта сгенерирована с нарушениями и проч. Здесь трудно что-то разобрать на примерах, потому как на наших сайтах таких ошибок не бывает, да и вообще они довольно редкие. Такое если происходит, то вследствие ошибок при разработке, когда неверно применена или понята документация протокола. 99% сайтмапов сгенерированы CMS и если и содержат ошибки, то содержательные.

Как создать sitemap.xml

Сегодня с этим нет проблем совершенно. Большая часть сайтов работает на коммерческих CMS, которые из коробки имеют функционал по созданию sitemap. Конечно, когда Вам нужно сделать sitemap для видео, картинок, новостей, а плагины CMS этого решения не предлагают — нужно заниматься самостоятельной разработкой такого функционала, либо искать готовые решения и внедрять их в свой проект.

Если говорить об общих требованиях к карте сайта, то важными для SEO специалиста представляются следующие инструменты работы с sitemap:

  • Возможность исключать из sitemap отдельную страницу в админке
  • Возможность исключать из sitemap целые папки (/katalog/ например)
  • Возможность выставление приоритета сканирования страниц как для конкретных страниц, так и для папок

При выполнении таких требований с sitemap работать будет удобно, такой подход реализован во многих плагинах и CMS.

Все ли это?

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

Эта информация будет уже мало кому интересна. Часть будет разобрана в других статьях нашего блога, посвященных работе поисковых роботов.

Ну и конечно, если Вы желаете заказать самый большой технический аудит сайта — пишите svetsov@svettsova.com.

Если хотите сделать сами — мы подготовили Вам лучший чек-лист для технического аудита, пользуйтесь.

Полезные ссылки