Помощник веб-разработчикаСтатьиИнструменты

XML карта сайта: создание и правила.

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

Что такое карта сайта и для чего она нужна?

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

Местоположение карты сайта

По стандарту, URL карты сайта влияет на набор URL, которые можно включить в эту карту сайта, если карта сайта находится в каталоге https://example.com/files/, то все адреса должны начинаться с https://example.com/files/, ввиду чего рекомендуется располагать карту сайта в корне, например: https://example.com/sitemap.xml. Стоит отметить, что многие крупные поисковые системы игнорируют этот стандарт и нормально обрабатывают все URL в файле в независимости от местонахождения файла.

Чтобы указать URL, по которому доступна карта сайта, нужно в файле robots.txt, указать директиву с URL карты сайта;

Sitemap: http://www.example.com/sitemap.xml

Кроме того, многие поисковые сервисы имеют специальный интерфейс, в котором можно указать этот URL.

Общие требования к карте сайта

Требования предъявляемые к файлу карты сайта:

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

Для создания карты сайта, сначала необходимо создать пустой текстовый файл с расширением .xml, название может быть любым, чаще всего этот файл называют sitemap.xml, затем открыть его в любом текстовом редакторе в кодировке UTF-8 (в карте сайта может использоваться только UTF-8), желательно с поддержкой синтаксиса HTML. В самое начало файла нужно вписать строку:

<?xml version="1.0" encoding="UTF-8"?>

Этот тег, так называемая шапка документа, указывает на его тип, атрибут «version» указывает на версию языка, в карте сайта используется только версия 1.0, а атрибут «encoding» указывает на кодировку файла, в карте сайта используется только UTF-8, как видите, в этом теге никаких вариаций нет.
Далее нужно указать элемент:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
</urlset>

Эти два тега являются телом карты сайта, первый — открывающий, объявляет о начале тела, второй — закрывающий, об его окончании. Все записи (информация о страницах) добавляются между этими двумя тегами. Атрибут «xmlns» — это идентификатор пространства имён, так что, здесь тоже нет ни каких вариантов. Теперь мы имеем готовую XML карту сайта, не содержащую ни одной записи. Чтобы добавить запись, в тело карты сайта (т.е между тегами «<urlset>» и «</urlset>»), нужно добавить два тега:

<url>
</url>

Тег «<url>» — объявляет начало записи, а «</url>» — её окончание. В одном файле должно быть не более 50000 записей. В записи может содержаться информация только об одной странице. В каждой записи обязательно должен быть элемент <loc>, а в нём указан URL страницы, которую нужно индексировать, это единственный обязательный элемент. Вся информация о странице содержится в четырёх элементах:

Хоть элементы <lastmod>, <changefreq> и <priority> не являются обязательными, указание этой информации может влиять на выдачу и индексацию в поисковой системе.

Элемент <loc>, URL страницы

<loc> — обязательный элемент, в нём между открывающим и закрывающим тегами должен быть указан URL страницы, которую нужно индексировать, ниже приведён пример:

<loc>https://wda.site/редактор_карты_сайта.html</loc>

Требования к URL в карте сайта:

<lastmod>

Элемент <lastmod> — не обязательный элемент, используется для указания даты последнего изменения контента, в файле выглядит примерно так:

<lastmod>гггг-мм-ддTчч:мм:сс+03:00</lastmod>

Здесь можно указать как только дату, так и дату со временем последнего изменения. Дата должна быть в формате гггг-мм-дд, если контент на странице обновляется достаточно часто, то помимо даты, можно указать ещё и время, чтобы указать время, необходимо после даты указать разделитель, латинскую букву «T» (обязательно должна быть в верхнем регистре), затем указать время в формате чч:мм:сс, после времени нужно указать какое время указано, если указано время UTC (так называемое мировое время), то сразу после времени нужно вписать латинскую букву «Z» (обязательно в верхнем регистре), если время указано в GMT (со смещением часового пояса), то сразу после времени нужно указать смещение часового пояса в формате +/-чч:мм, например Московский часовой пояс смещён относительно мирового времени на +3 часа, что мы и видим в примере выше.

<changefreq>

Элемент <changefreq> — не обязательный элемент, используется для указания предполагаемой частоты обновления контента на странице, в файле выглядит примерно так:

<changefreq>Значение</changefreq>

Значение, указанное в этом теге, носит рекомендательный характер, поисковый бот может посещать страницу как реже, так и чаще чем указывает значение, более того, бот может периодически сканировать страницы помеченные значением «never» (никогда).

Список допустимых значений в теге <changefreq>:

<priority>

Элемент <priority> — не обязательный элемент, используется для указания приоритета страницы относительно других на Вашем сайте, чтобы указать приоритет, нужно вписать:

<priority>0.4</priority>

Приоритет, который вы назначили странице, указывает поисковому боту, какие страницы по Вашему мнению, более или менее важны. Диапазон значений от 0 до 1, по умолчанию, оно равно 0.5. Стоит отметить, что указанный приоритет не влияет на сравнение страниц Вашего сайта, со страницами других сайтов и ни как не влияет на позиции выдачи в поисковых системах, сравнение происходит только между страницами Вашего сайта. Не нужно назначать всем страницам самый высокий приоритет, т.к приоритет является относительной величиной.

Добавление комментариев в карту сайта

Так же в карту сайта можно вставлять комментарии, они ни как не влияют на индексацию и обычно, используются как заметка. Комментарий должен начинаться с «<!--» и заканчиваться «-->», комментарий не должен содержать два и более дефиса подряд. В комментарии нет ни какой необходимости маскировать символы, ниже приведён пример комментария:

<!--Это комментарий-->

В завершение, в качестве примера, приведён готовый файл карты сайта с двумя записями.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<!--Это комментарий-->
	<url>
		<loc>https://example.com/file1.html</loc>
		<lastmod>2019-08-17</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.6</priority>
	</url>
	<url>
		<loc>https://example.com/file2.html</loc>
	</url>
</urlset>