Многие из вас слышали про необходимость наличия у сайта карты Sitemap (он же "сайтмап"), однако не все до конца понимают важность его присутствия на сайте. В данной статье мы проведем обзор файла формата Sitemap.xml, а также опишем варианты его генерации для различных типов сайтов.
Структура статьи:
- Для чего нужна карта сайта
- Описание формата Sitemap
- Маскирование символов
- Разбиение Sitemap на части
- Местоположение Sitemap.xml и его индексация
- Использование кириллических адресов
- Вопросы необходимости карты сайта
- Обзор вариантов генерации Sitemap.xml
Для чего нужна карта сайта Sitemap.xml
Карта сайта Sitemap – это файл XML либо текстового формата (TXT), содержащий в себе все URL сайта (ссылки на страницы либо изображения) и предназначенный для сообщения поисковым роботам информации о новых страницах на вашем ресурсе. В результате обхода по всем URL в сайтмап, поисковая система перейдет по всем актуальным страницам вашего сайта.
Конечно, поисковые системы проиндексируют ваш сайт и без сайтмапа, и зачастую сделают это не менее качественно, однако в некоторых случаях у поисковиков могут возникнуть сложности с индексацией страниц. Основными причинами неиндексации могут быть такие факторы, как:
- сайт имеет большую вложенность страниц (характерно для крупных веб-ресурсов)
- сайт имеет страницы без навигационных ссылок (на страницы невозможно перейти по внутренней навигации сайта)
- на сайте присутствуют динамические URL
Для подобных страниц из вышеописанных вариантов робот может не добраться никогда, так как в первом случае из-за глубокой вложенности он просто не дойдет до конечного URL, исчерпав краулинговые лимиты сайта, а во втором он физически их не увидит, так как не сможет на них перейти по ссылкам на сайте (например, это может быть вариант, когда ссылка есть, но проставлена при помощи JavaScript, CSS-стилем либо просто зашифрована, из-за чего в исходном коде страницы поисковый робот ее просто не увидит).
Однако, имея информацию о наличии файла Sitemap.xml, поисковый робот будет периодически его обходить и индексировать новые страницы сайта в нужном вам порядке, с необходимым приоритетом и именно по тем страницам, которые вам наиболее важны в данный момент.
Описание формата Sitemap
Sitemap может быть двух типов: текстового формата (TXT) и формата XML.
Текстовый формат представляет собой простой текстовый файл кодировки UTF-8 и содержащий в себе URL сайта в виде наборов строк (каждая ссылка с новой строки). Пример карты сайта текстового формата:
https://www.site.ru/page-1.html https://www.site.ru/page-2.html
Формат XML является расширенным форматом текстового варианта и позволяет передавать поисковым ботам дополнительную информацию. Пример файла Sitemap.xml:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.site.ru/</loc> <lastmod>2018-10-03</lastmod> <changefreq>monthly</changefreq> <priority>1.0</priority> </url> <url> <loc>http://www.site.ru/page-1.html</loc> <lastmod>2018-10-03</lastmod> <changefreq>monthly</changefreq> <priority>0.9</priority> </url> <url> <loc>http://www.site.ru/page-2.html</loc> <lastmod>2018-10-03</lastmod> <changefreq>monthly</changefreq> <priority>0.9</priority> </url> ... <url> <loc>http://www.site.ru/page-N.html</loc> <lastmod>2018-10-03</lastmod> <changefreq>monthly</changefreq> <priority>0.9</priority> </url> </urlset>
Описание элементов XML, на которые необходимо обратить внимание:
- url (обязательный параметр) – содержит все сведения о конкретном URL
- loc (обязательный параметр) – URL страницы. Для URL с параметрами необходимо маскирование
- lastmod – дата и время последнего изменения страницы в формате Datetime. При необходимости допускается опустить сегмент времени и использовать формат ГГГГ-ММ-ДД
- changefreq – указание рекомендательной частоты изменения страницы. Может принимать значения: always, hourly, daily, weekly, monthly, yearly, never
- priority – значимость страницы относительно других URL сайта. Допустимый диапазон значений 0.0 до 1.0. Чем страница важнее, тем приоритет больше. У главной страницы приоритет всегда равен 1, по умолчанию приоритет 0.5
Примечание: стоит упомянуть, что содержимое карты сайта является лишь рекомендацией поисковым роботам по обходу страниц (если установить периодичность обхода страниц раз в неделю, то робот может их обходить гораздо чаще, и наоборот, если установить частоту обхода ежечасно, то это не значит, что поисковики будут индексировать страницу каждый час).
Прочие форматы XML карты сайта:
- Файл Sitemap для изображений
- Отдельный сайтмап для изображений будет полезен, если изображения не доступны боту напрямую (например, если они загружаются с помощью JavaScript). Однако, зачастую, для этого можно использовать обычный Sitemap.xml и указывать в нем ссылки на изображения вместе с обычными URL. Подробнее о сайтмап для изображений в справке Google
- Файл Sitemap для новостей
- Используется для быстрой индексации новостных материалов вашего сайта, при этом ваш ресурс должен быть включен в каталог Google Новости. Требования к Sitemap: должен содержать не более 1000 URL, должен содержать URL новостей, опубликованных за последние два дня. Подробнее о сайтмап для новостей в справке Google
Маскирование
Маскирование в Sitemap.xml используется для URL-адресов и предназначено для интерпретации обычных символов в их псевдокоды в формате HTML:
- Амперсанд: & -> &
- Одинарные кавычки: ' -> '
- Двойные кавычки: " -> "
- Больше: > -> >
- Меньше: < -> <
Таким образом, всем привычный URL с параметрами и не маскированными спецсимволами по стандартам XML будет невалиден, пример:
Стандартный URL страницы (не валидный)
https://www.site.ru/index.php?page=news&date=22071981
Валидный URL в Sitemap с маскированием (символ "&" заменен на "&")
<loc>https://www.site.ru/index.php?page=news&date=22071981</loc>
Для символов в URL, отличных от ASCI, помимо & также необходимо применять маскирование. Пример для URL-адреса:
http://www.site.ru/контакты.html
Тот же URL-адрес с использованием маскирования, для размещения в Sitemap:
http://www.site.ru/%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D1%8B.html
Разбиение Sitemap на составные части
У файла Sitemap.xml есть ограничение как на объем содержащихся в нем URL, так и на сам размер файла. В каждом файле Sitemap.xml должно содержаться не более 50 000 URL, а его объем не должен превышать 50 Мб для Google и 10 Мб для Яндекса (при необходимости файл можно сжать в формат "gzip", но, тем не менее, в распакованном виде он также не должен превышать размер в 50 мегабайт), поэтому при необходимости указания более 50 000 URL-адресов, следует создать несколько файлов Sitemap.
Таким образом, за счет возможности разбиения Sitemap на части, можно обойти все эти ограничения и спокойно генерировать Sitemap для десятков и сотен тысяч страниц.
Разбиение происходит путем создания основного индексного файла Sitemap.xml, содержащего ссылки на дочерние файлы, которые в свою очередь являются стандартными файлами Sitemap.xml и содержат список конечных URL вашего сайта. В основном индексном файле для указания ссылок на дочерние сайтмап используется все тот же тег <loc>, обрамленный тегом <sitemap>, и содержащий ссылки на дочерние Sitemap.xml (названия дочерних сайтмап можно указывать произвольно).
Пример индексного файла XML Sitemap:
<?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>http://www.site.ru/sitemap-1.xml</loc> <lastmod>2018-09-25T21:38:17+00:00</lastmod> </sitemap> <sitemap> <loc>http://www.site.ru/sitemap-2.xml</loc> <lastmod>2018-09-21</lastmod> </sitemap> </sitemapindex>
Формат дочерних файлов карт сайта XML-формата аналогичен стандартным Sitemap.xml.
Местоположение Sitemap.xml и его индексация
Стандартным вариантом размещения сайтмап является корень сайта, пример:
https://www.site.ru/sitemap.xml
При размещении "sitemap.xml" необходимо учитывать тот факт, что набор URL-адресов, которые можно включить в Sitemap определяется именно расположением на сайте, то есть при размещении карты сайта по адресу http://site.ru/news/sitemap.xml она может включать только URL-адреса, начинающиеся с http://site.ru/news/, но не должен включать адреса, начинающиеся с http://site.ru/pages/. Примеры допустимых URL для http://site.ru/news/sitemap.xml:
http://site.ru/news/25092018/ http://site.ru/news/news-all/
К недопустимым URL-адресам в файле http://site.ru/news/sitemap.xml относятся:
http://site.ru/pages/page-1/ http://site.ru/images/1x1.gif http://site.ru/contacts/
Таким образом, во избежание проблем с некорректной индексацией, настоятельно рекомендуется размещать Sitemap.xml в корне сайта.
Индексация Sitemap
Поисковые роботы по умолчанию сканируют корневую директорию сайта, поэтому со временем они найдут ваш сайтмап и перейдут по всем его ссылкам.
Однако, для ускорения посещения файла Sitemap поисковыми ботами необходимо выполнить несколько шагов:
- разместить ссылку на карту сайта в файле "robots.txt"
- добавить ссылку на "sitemap.xml" в панели вебмастера Яндекс и Google
Ссылка на сайтмап в "robots.txt"
User-agent: * ... Sitemap: https://site.ru/sitemap.xml
Добавление сайтмап в панели вебмастера Яндекс и Google
Использование кириллических адресов
Для корректной интерпретации URL различными поисковыми системами рекомендуется все кириллические URL кодировать в формат Punycode (бесплатный конвертер) и использовать маскирование для кириллических адресов страниц.
То есть, вместо адреса:
http://www.ёэлектроника.рф/каталог/лампы/
Необходимо использовать кодированный URL:
http://www.xn--80ajjhbcqhrt1jzb.xn--p1a/%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/
Вопрос необходимости карты сайта
Бесспорно, что присутствие карты сайта желательно на любом сайте. Но, с одной стороны, в сайтмапе нет острой необходимости, так как со временем поисковый робот перейдет на ваш сайт и по ссылкам просканирует все доступные ему страницы. С другой стороны, для сайтов, у которых контент обновляется часто и которым важен порядок и приоритет обхода страниц (СМИ, новостные агентства, etc.), данный файл будет жизненно необходим, так как с помощью него они смогут указать поисковым роботам какие страницы индексировать в первую очередь, а какие после.
Поэтому, возникает справедливый вопрос: а так ли необходим Sitemap.xml конкретно для вашего сайта? Давайте разбираться.
Безусловно, данный файл будет актуален для сайтов объемом от 1000 страниц, а также для тех сайтов, объем страниц которых растет быстро и контент на которых нуждается в частой переиндексации, поэтому за счет данного файла поисковая система будет иметь под рукой всегда актуальный список страниц вашего сайта и с помощью него же будет своевременно индексировать все изменения. Таким образом, актуален данный файл для сайтов, контент на которых меняется часто и большими объемами (добавилось 50 страниц, удалилось 40, обновилось 175 и т.д.):
- СМИ, новостные порталы
- интернет-порталы
- каталоги товаров, агрегаторы
- интернет магазины
- форумы, отзовики, сайты вопросов-ответов
Для подобных сайтов данный файл необходимо иметь в первую очередь, так как от него зависит актуальность представляемой информации в выдаче поисковых систем.
Пример индексации через сайтмап при добавлении на сайт большого числа страниц:
Примечание: файлы Sitemap в таком случае необходимо генерировать на стороне сервера. Генерация карты сайта онлайн при помощи сервисов либо программ для ПК бессмысленна за счет низкой скорости и трудоемкости работ по выкладыванию данных файл на сервер (для крупных порталов, каталогов и интернет-магазинов подобные файлы должны обновляться чуть ли не каждый час (например, обновление цен в интернет-магазине)).
Вторая категория сайтов, для которых также необходим данный файл – это сайты от 100 до 1000 страниц и представляющие услуги бизнеса, а также просто информационные странички:
- сайты по продаже товаров и услуг
- сайты компаний и представительств
- блоги
На подобных сайтах обычно приток новых страниц происходит плавно, удаление страниц и разделов случается еще реже. Поэтому само собой подобные сайты должны иметь файлы Sitemap XML, однако в данном случае данный файл больше важен для первичной индексации сайта (чтобы за один обход файла поисковый робот узнал про все страницы сайта и оперативно их проиндексировал). Далее, новые страницы в виду их единичного добавления можно отсылать на переиндексацию даже через панель вебмастера Яндекса или Google и таким образом поддерживать актуальность страниц для поисковых систем. Файлы Sitemap для подобного рода сайтов можно генерировать специальными программами и сервисами, о которых будет написано ниже.
Третья категория сайтов – сайты с числом страниц до 100. К ним относятся:
- лендинги (одностраничные сайты для продажи конкретного товара либо услуги)
- промо-сайты (например, сайты коттеджных поселков)
- сайты-визитки
- домашние странички
Все эти сайты зачастую содержат небольшое число страниц о какой-то одной услуге, товаре, событии. Для подобного рода сайтов в наличии Sitemap нет какой-то жизненно важной необходимости. Так как контент на них обновляется достаточно редко и новые страницы добавляются с низкой интенсивностью, поисковые роботы такие сайты обходят не часто в виду малого числа страниц на них, поэтому для данных сайтов вполне подойдет как использование Sitemap.xml, так и его предшественника HTML карты сайта – это обычная HTML-страница стилизованная под дизайн сайта, на которой размещены все ссылки на внутренние страницы сайта в иерархическом виде (обычно в виде дерева). Таким образом, поисковый робот, посетив эту страницу, может обойти все страницы сайта и проиндексировать их либо обновить о них информацию. Пример такой страницы:
Примечание: на текущий момент создание подобных страниц перестало быть актуальным в виду перехода на формат XML, который не нужно создавать руками, а можно сгенерировать специальными программами либо сервисами (их примеры представлены ниже).
Таким образом, из всех вышеизложенных заключений можно сделать простой вывод, что чем больше объем страниц вашего сайта и чем чаще он обновляется, тем острее необходимость наличия на нем карты сайта Sitemap.xml, который в идеале должен генерироваться на сервере автоматически, без участия человека.
Важно!
Сайтмап должен включать в себя только актуальные страницы сайта необходимые для индексации и отдающие код ответа сервера 200. Все прочие служебные, технические либо страницы, запрещенные к индексации, не должны присутствовать в карте сайта.
Варианты генерации Sitemap.xml
Существует несколько методов генерации, перечислим их:
1. Генерация карты сайта при помощи онлайн-генератора (стоит учесть, что зачастую подобные генераторы платные)
В сети достаточно сервисов для генерации карты сайта, однако у них есть некоторые ограничения:
- обычно в подобных сервисах бесплатно можно сгенерировать не более 500 страниц
- для больших сайтов (от 5000 страниц) генерация может занять продолжительное время
- генерация сайтмап для крупных порталов может и вовсе произойти с ошибкой из-за нехватки ресурсов сервера, на котором расположен данный сервис
Пример онлайн-генератора MySitemapGenerator.com:
Примечание: Недостаток данного метода состоит в том, что при каждом обновлении сайта необходимо вручную генерировать сайтмап и заливать на сервер.
2. Автоматическая генерация Sitemap.xml средствами CMS (например в Bitrix, WordPress, Opencart и прочих системах управления сайтом доступна такая функция)
Наиболее приоритетный вариант, который позволяет настроить частоту обновления Sitemap средствами системы управления сайтом и избавляет вебмастера от ручного размещений сайтмап на сайте.
Пример модуля генерации Sitemap.xml для CMS Opencart:
3. Генерация карты сайта при помощи программы для ПК
Данный вариант подойдет для сайтов небольших и средних размеров, контент на которых обновляется периодически.
Недостатки подобного метода:
- после генерации сайтмап необходимо заливать его на сервер вручную
- большинство подобных программ-краулеров для ПК платные
Пример генерации Sitemap.xml при помощи бесплатной программы SiteAnalyzer:
- скачиваем дистрибутив программы
- после запуска программы вводим URL сайта и запускаем сканирование
- после сканирования в главном меню выбираем пункт Проекты -> Генерировать Sitemap
- в результате получаем карту сайта (одним файлом либо из нескольких файлов, если число страниц превышает 50 000)
- заливаем сайтмап в корень вашего сайта по FTP протоколу
4. Ручное создание сайтмап
Ручное создание возможно для сайтов с числом страниц до 10, однако для ускорения процесса проще воспользоваться любым онлайн-генератором либо программой для ПК.
Резюмируя все вышеописанное можно выделить основные моменты, на которые нужно обратить внимание при генерации карты сайта:
- для ресурсов с часто обновляемым контентом карта сайта должна генерироваться на стороне сервера
- sitemap.xml должен содержать только актуальные страницы сайта, отдающие код ответа сервера 200 и разрешенные к индексации
- для качественной индексации ресурса карта сайта должна обновляться каждый раз при обновлении контента на сайте
На этом все!
Благодарю за внимание и до новых встреч! :-)
Полезное
Сервисы для проверки корректности карты сайта:
- Яндекс Вебмастер: https://webmaster.yandex.ru/tools/sitemap/
- Google Вебмастер: https://www.google.com/webmasters/ (Ваш сайт -> Сканирование -> Файлы Sitemap -> Добавление/проверка файла Sitemap)
Ссылки на описание Sitemap:
- Справка Яндекса: https://yandex.ru/support/webmaster/controlling-robot/sitemap.html
- Справка Google: https://support.google.com/webmasters/answer/183668
- Описание протокола на русском: https://www.sitemaps.org/ru/protocol.html
Другие статьи:
- 18 этапов проверки сайта перед покупкой
- Актуальные способы продвижения сайтов ссылками в 2018 году
- Быстрый тест скорости загрузки страниц сайта