HTML :: Карта сайта и файл sitemap.xml
Пользовательская карта сайта
Пользовательская карта сайта - представляет собой отдельную html-страницу сайта, на которой содержится список ссылок на все важные страницы сайта.
Дело в том, что для очень больших сайтов, в которых навигационное меню имеет сложную структуру и множество различных подменю, иногда имеет смысл создавать отдельную html-страницу (т.е. пользовательскую карту сайта) с набором ссылок на разделы, подразделы и отдельные страницы сайта. Если такая карта будет хорошо составленна и оформленна, пользователи смогут всего лишь в пару кликов попасть практически на любую глубоко вложенную или труднодоступную страницу сайта.
На нашем сайте отдельная пользовательская карта сайта отсутствует, поскольку по мнению автора навигационное меню довольно продуманное и получить доступ к нужным страницам сайта через главное или боковое меню даже проще и быстрее, чем при использовании карты сайта. Тем не менее, частичные карты сайта на нашем сайте все таки представлены. Их вы можете увидеть в разделах в виде оглавлений учебников, задачников, видеоуроков или сборника статей. Так что читателю достаточно кликнуть, например, по кнопке «Учебник» любого пункта бокового меню и перед ним откроется не что иное, как самая настоящая пользовательская карта соответствующего раздела сайта.
Следует отметить, что карта сайта в виде html-страницы предназначена для пользователей сайта, но не для поисковых роботов, которые не только равнодушны к внешнему оформлению карты, но и негативно относятся к наличию в одном месте большого числа одних лишь ссылок, пусть даже и внутренних. Точных ограничений конечно же никто не сообщает, но желательно чтобы их число не исчислялось сотнями. Если же ссылок будет очень много, роботы просто напросто многие из них не будут индексировать или вообще исключат страницу из поиска.
Таким образом, желательно ограничивать количество ссылок пользовательской карты сайта в пределах сотни, используя при этом не просто адреса или изображения, а понятные текстовые ссылки, сопровождающиеся по-возможности кратким описанием, чтобы пользователи знали куда они ведут, а роботы лучше индексировали как саму ссылку, так и страницу в целом.
Служебный файл sitemap.xml
В настоящее время, когда употребляется термин «карта сайта» в первую очередь подразумевается служебный файл sitemap.xml, который предназначен для поисковых роботов и может содержать значительно большее количество ссылок. Соответственно и определение карты сайта в этом случае имеет другой вид.
Карта сайта - это специальный служебный файл sitemap.xml содержащий список ссылок на все важные страницы сайта, которые должны быть проиндексированы поисковыми роботами.
Файл sitemap.xml (т.е. карта сайта) имеет важное значение для продвижения сайта в поисковых машинах, поэтому пренебрегать им точно не стоит. Конечно, роботы рано или поздно все равно посетят нужные страницы сайта, поскольку обычно они находят страницы как по внутренним ссылкам на самом сайте, так и по внешним ссылкам на других сайтах. Однако наличие файла sitemap.xml позволяет роботам напрямую получать информацию о страницах, которые требуется проиндексировать. Это в разы ускоряет процесс сканирования страниц и попадания их в поисковую выдачу, в особенности на первом этапе размещения сайта в Интернете, когда доверия к сайту нет, а внешних ссылок либо катастрофически не хватает, либо они вообще отсутствуют.
Если говорить более конкретно, то в случае правильной настройки файла sitemap.xml поисковые роботы смогут оперативно узнать:
- какие из страниц сайта являются новыми и требуют первоначального индексирования;
- когда последний раз изменялись страницы сайта, которые уже были проиндексированы ранее;
- как часто следует индексировать те или иные страницы сайта;
- какие страницы сайта следует считать более приоритетными для сканирования, а какие наоборот.
Использование файла sitemap.xml не является гарантией того, что веб-страницы сайта будут проиндексированы поисковыми системами в обязательном порядке. Он является всего лишь дополнительной (пусть и весьма важной) подсказкой для роботов, которые смогут выполнить более тщательное сканирование сайта.
Ограничения файла sitemap.xml
Не смотря на то, что файл sitemap.xml может содержать значительно большее количество ссылок, чем обычная пользовательская карта сайта, на него все равно накладываются определенные ограничения:
- файл должен быть сохранен в кодировке UTF-8;
- размер файла не должен превышать 50 Мб;
- файл не должен содержать более 50 000 URL-адресов;
- если файл находится в каталоге https://site.name/catalog/sitemap.xml, то и все URL-адреса в нем должны начинаться с https://site.name/catalog/....
В случае, когда размер файла или количество URL-адресов в нем превысят допустимые пределы, разрешается разбивать файл на несколько более мелких. Кроме того, во избежание противоречий с последним пунктом требований, карту сайта обычно размещают в корневой папке сайта.
Синтаксис файла sitemap.xml
Для того, чтобы самостоятельно создать карту сайта, необходимо создать в текстовом редакторе пустой файл и сохранить его в кодировке UTF-8 с именем sitemap.xml. Разрешается использовать в качестве карты сайта и простой текстовый файл, но такой вариант не является распространенным, поэтому мы его рассматривать не будем.
После того, как пустой файл будет готов, можно приступать к его разметке. Для этих целей используется небольшой набор специальных тегов (см. пример №1), которые как раз и позволяют получить роботам всю необходимую информацию о перечисленных в файле страницах сайта.
<!-- Указываем версию синтаксиса xml и кодировку файла --> <?xml version="1.0" encoding="UTF-8"?> <!-- Данный парный тег обязателен, он сообщает стандарт --> <!-- текущего протокола Sitemap и указывает, где --> <!-- начинается и заканчивается содержимое карты сайта --> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <!-- Обязательный родительский тег, содержащий --> <!-- информацию для каждой отдельной страницы сайта --> <url> <!-- URL-адрес страницы (не более 2048 символов) --> <loc>https://site.name/index.html</loc> <!-- Дата последнего изменения текущей страницы --> <lastmod>2017-12-26</lastmod> <!-- Вероятная частота изменения этой страницы --> <changefreq>monthly</changefreq> <!-- Приоритетность URL относительно других URL на сайте --> <priority>0.9</priority> </url> </urlset>
Пример №1 Структура файла sitemap.xml
Теперь давайте рассмотрим основные теги разметки файла sitemap.xml более подробно:
- <?xml version="1.0" encoding="UTF-8"?> - этот одиночный тег непосредственно к протоколу Sitemap отношения не имеет. Он сообщает роботам и браузерам, что данный файл использует синтаксис языка XML (расширяемый язык разметки) версии 1.0 и сохранен в кодировке UTF-8.
- <urlset> - указывает стандарт текущего протокола Sitemap, а также задает начало и конец содержимого непосредственно карты сайта. Данный тег является обязательным. Кроме того, этот и все последующие теги являются парными. В настоящий момент открывающий тег должен иметь вид <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">.
- <url> - обязательный тег, в котором в виде дочерних тегов как раз и содержится вся информация о каждой отдельной странице сайта, указанной в карте. Если вебмастер желает указать в карте сайта 1000 страниц, значит и таких тегов тоже должно быть тысяча.
- <loc> - в этом обязательном теге указывается полный абсолютный URL-адрес страницы, информацию о которой вебмастер желает сообщить поисковым роботам. При этом длина адреса не должна превышать 2048 символов.
- <lastmod> - необязательный тег, который используется для указания времени последнего изменения страницы. Дата должна быть указана в формате W3C Datetime. При этом сегмент времени может быть опущен, а дата изменения страницы указана в формате ГГГГ-ММ-ДД (см. пример №1).
- <changefreq> - необязательный тег, который используется для указания вероятной частоты изменения данной страницы. Возможны значения: always, hourly, daily, weekly, monthly, yearly, never. При этом значение always должно использоваться только тогда, когда страница изменяется при каждом доступе к ней. Что касается значения never, то его следует применять к архивным страницам. Опять же, следует помнить, что значения этого и других тегов являются всего лишь подсказками для поисковых роботов, а не командами для исполнения.
- <priority> - еще один необязательный тег, который используется для указания приоритетности индексации данной страницы относительно других страниц сайта. В качестве параметра приоритетности используется число из диапазона 0.0 - 1.0 (см. пример №1). Здесь следует иметь в виду, что приоритетность величина относительная, поэтому не имеет смысла назначать всем страницам наивысший приоритет. Если страница действительно важная и часто изменяется, то ей следует дать более высокий приоритет. Кроме того, приоритет учитывается только среди страниц данного сайта и никак не влияет на их положение в результатах поиска относительно страниц других сайтов. Вместе с тем, если две страницы одного и того же сайта окажутся в поиске по одному и тому же запросу, данный тег вполне можно использовать для увеличения вероятности более высокого положения в поиске более важных страниц сайта.
В конце хотелось бы кратко добавить, что служебные символы амперсанда, одинарных и двойных кавычек, а также знаков больше и меньше должны заменяться в коде файла мнемониками, которые можно посмотреть в нашей справочной статье здесь.
Более подробную первичную информацию о протоколе Sitemap можно получить на официальном сайте https://www.sitemaps.org/ru/index.html. Пример реальной карты сайта можно посмотреть, загрузив код любого из учебных сайтов в разделе загрузок здесь.