Карта сайта sitemap.xml для SEO — все что нужно знать

SEO , Индексирование
457

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

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

Зачем нужна карта сайта и нужна ли она вообще

Основное назначение карты сайта — дать поисковому роботу полный список страниц (адресов изображений, видео, файлов), которые ему следует обходить и индексировать. По умолчанию предполагается, что, если УРЛ есть в карте сайта, его надо обходить и индексировать. В общем, это инструмент сканирования и индексирования.

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

Наличие или отсутствие карты сайта не влияет на ранжирование.

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

Лучшая практика — это карта сайта в формате XML, но есть и другие форматы.

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

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

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

Яндекс об этом заявляет прямо — использование XML рекомендуется.

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

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

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

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

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

Так как Яндекс не поддерживал пространство имен sitemap image, то в Веб Мастере вылазили ошибки.

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

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

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

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

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

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

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

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

Index Sitemap

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

Так выглядит индекс карты сайта в Битрикс CMS:

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

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

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

В файле robots.txt

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

 

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

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

Фото ниже иллюстрирует, как добавить sitemap в Яндекс Вебмастер.


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

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

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

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


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

Настройка Sitemap xml — различные способы

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

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

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

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

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

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

[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, а в панелях для веб-мастеров указать адреса сайтмапов для той или иной поисковой системы.

Вот как это выглядит (указание на общий sitemap в robots):


В Search Console добавлена карта сайта для изображений:


Карта сайта добавлена в панели веб-мастера Яндекса:

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

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


В файле robots.txt

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

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

 

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

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

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


А вот так индексный файл смотрится из панели Google Search Console:

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

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

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

 

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

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

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

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

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

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

Довольно часто встречается история, когда сайт доступен по протоколу https, а URL в карте сайта строятся по протоколу http. На фото ниже ошибка в sitemap.xml:


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

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

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

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

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

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

Давайте смотреть картинки.


Ненужная страница в карте сайта:


Видим, что есть некая страница с URL /404. Идем по адресу и… Так выглядит страница 404 из sitemap:

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

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

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

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

Проще всего коды ответа сервера урлов из sitemap проверить, используя ScreamingFrog.

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

В файле robots можно закрывать от сканирования (НЕ ОТ ИНДЕКСАЦИИ) как отдельные страницы, так и целые папки. Но надо быть последовательным и исключить их из карты сайта. Потому что робот приходит сначала в robots, а потом идет в sitemap и видит закрытые от сканирования страницы…

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

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

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

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

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

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

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

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

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

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

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

Все ли это?

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

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

Важно!

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

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

Еще больше полезного на нашем YouTube-канале
Подписаться
Читайте нашу книгу «Digital-маркетинг массового поражения. От основ до практических кейсов»

Другие полезные статьи