Что такое карта XML Sitemap и как её использовать

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


В отличие от Robots.txt и разных страниц сайта, файлы sitemap читаются намного чаще. Не путайте две вещи. Есть очень старый прием, называется карта сайта. Для этого создается страничка и на неё просто ссылки на нужные страницы. Это обычная страница.

Это прием, который использовался лет 10 назад. Сегодня их никто не использует. Почему? Пришел на смену более могучий способ, машиночитаемый способ – XML Sitemap. Такая карта сайта не для человека. Она для робота. С помощью языка XML, то есть специальным синтаксисом, описывается набор страниц, которые нужно индексировать.

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

Помимо просто УРЛов, карта сайта может указывать и дополнительные параметры. Но это XML.

Выглядит примерно таким образом

<?xml version="1.0" encoding="UTF-8"?>
<urlset
      xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
            http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<!-- created with Free Online Sitemap Generator www.xml-sitemaps.com -->

<url>
  <loc>http://www.site.ru/</loc>
  <lastmod>2012-10-07T16:19:22+00:00</lastmod>
  <changefreq>montly</changefreq>
  <priority>1.0</priority>
</url>

</urlset>

Очень всё просто. Тегов мало.
<urlset … >
….
</urlset>


Это главный контейнер. Он состоит из набора УРЛов. Каждый блок
<url> .. </url>

это одна страница.

В ней указывается — адрес страницы.

lastmod


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

changefreq


Частота обновления. Что это значит? Это значит, вы рекомендуете роботу проверять эту страницу раз в такое-то время. Каждый день, раз в неделю, раз в месяц. Но это всего лишь рекомендация, а не строгое указание. Он может на неё наплевать.

priority


Приоритет. Вот это обычно самое непонятное. Что такое приоритет? Этот приоритет с важностью страницы никакого отношения не имеет.

Приоритет это следующее. Вот к вам приходит робот и видит что на вашем сайте 500 страниц. Например, робот может взять только 100. А все 500 изменились. Какие страницы будет брать робот? По общему счету – как бог на душу пошлет. А вот когда есть приоритет, вы можете указать ему очередность.

Смысл простой. По умолчанию робот считает, что любая страница сайта имеет приоритет 0.5. При помощи карты сайта вы можете принудительно либо опустить, либо повысить этот приоритет.

Что делает робот? Он просто сортирует эти страницы по приоритету в очереди на индексирование. Далеко не обязательно, чтобы все страницы имели приоритет. И не нужно думать, чтобы в сумме было 100. Это не так. Вы хоть всем укажите 1.0, но в этом случае смысл приоритета потеряется.

В чем красота карты сайта? В ней не обязательно писать все страницы вашего сайта. Вы пишите только главные страницы, приземляющие. И ставите им высокий приоритет. Это гарантирует, что он именно с них и будет начинать. Только приземляющие страницы. И ставите им 1.0, 0.8.

Среди всех этих параметров, обязательным является только “loc”.

Важно

В отличие от robots.txt, в sitemap.xml всегда указываются полные ссылки.
http://site.ru/блаблабла.

Интересно


Таких карт на сайте может быть много. То есть, нет ограничения, что 1 сайт – 1 карта xml. Более того, эта карта может быть в любом месте. Иметь любое имя. Хотите в папке любой, хотите в корне. Называться может как угодно, и их количество может быть любым!

Как о них узнает робот? Легко! При помощи robots.txt. Там вы указываете путь до этой карты. Более того, карта сайта может даже находиться на другом сайте.

Тут есть два способа. Вы можете ему явно указать. Указываем руками, принудительно. Или автоматически.

Можно указать

Sitemap: http://www.site.ru/sitemap.xml

Важно понимать, что путь надо указывать полностью. Нельзя указывать вот так
Sitemap: sitemap.xml

Имя карты


Можно указать даже вот так
Sitemap: http://www.site.ru/maps/sitemap

Это всего лишь URL. Самое главное, чтобы когда робот обратился по этой ссылке, ему вернулась XML карта сайта.

Имя и расширение файла не играют никакой роли вообще.

Содержимое

Карты сайта могут быть весьма длинными. Но имейте в виду, даже не смотря на то, что в спецификации нет каких-то специальных ограничений по количеству ссылок, не рекомендуется делать в одной карте более 500 страниц.

Если ссылок много, то лучше делать 2-3 и более карт сайта. Можно делать отдельную карту на каждый раздел. Количество карт не ограничено.

Есть вариант, к примеру, указать 17 раз sitemap в роботс.тхт, либо сделать карту карт сайта. И в robots.txt указать именно её. Только нужно писать не “urlset”, а “sitemapindex” и перечислять все карты сайта.

Создание карт сайта

Для этого есть специальные он-лайн сервисы. Причем в большом количестве. Например, www.xml-sitemaps.com





Пользоваться невероятно просто.
Вводим адрес сайта.



Указываем, какую частоту обновления стоит использовать.



Что это значит? Вы просто просите поисковик приходить на эту страницу с указанной периодичностью.

Затем, какую дату последней модификации использовать.



Указываем приоритет.



Запускаем и ждем. В результате вам будет сгенерирована карта сайта.

3 комментария

avatar
Я само собой для ботов использую карту в формате xml, однако не брезгую для пользователей и картой html только закрываю её от индекса
avatar
А из каких соображений закрываете от индексации? Она по сути предназначена для перелинковки всех/большинства материалов сайта.
avatar
Да какая там перелинковка — страница с сотнями ссылок никому и ничего не даёт — задача карты в html — это помощь пользователю, если он хочет посмотреть материалы сайта.