Sitemap - это файл в формате XML или TXT, содержащий ссылки на все страницы сайта которые должны посетить роботы поисковых систем. Данный стандарт поддерживают все популярные поисковики (Яндекс, Google, Bing, Mail.ru и даже китайский Baidu).
Автообновляемый sitemap обязательно нужен сайтам на которых часто создаются новые страница, а также имеются проблемы с их доступностью (глубокая вложенность, большое количество или отсутствие внутренних ссылок). В особенности он важен для новостных сайтов и интернет-магазинов.
Поисковые системы могут находить новые страницы на сайте не только на основе файла xml карты сайта. Источниками информации о новых страницах могут быть как ссылки на них внутри сайта, так и внешние ссылки, а также данные со счетчиков аналитики поисковиков.
Формат файла
Файл sitemap может иметь формат XML или TXT. Первый позволяет передать больше полезной информации поисковой системе, а потому является рекомендуемым.
При этом адрес файла не обязательно должен иметь на конце соответствующее разрешение, достаточного того что само содержимое файла придерживается нужного формата. Например, XML карту сайта можно разместить по адресу /sitemap.php
и поисковые системы его не будут считать ошибочным или недоступным.
Ограничения
Файл должен иметь кодировку UTF-8.
Максимальное количество ссылок в файле - 50 000. Если вам необходимо указать больше страниц, то нужно разбить карту сайта на несколько файлов.
Максимальный размер файла — 50 МБ (в несжатом виде).
Файл должен содержать ссылки только на страницы вашего домена.
Файл должен быть расположен на том же домене для которого он создан.
Все символы в URL должны быть экранированы (например, &
нужно заменить на &
).
Код ответа сервера при обращении к файлу должен быть 200 ОК.
Указывайте только абсолютные ссылки на страницы сайта с корректным указанием домена (www/no-www, http/https).
XML формат
Формат XML является наилучшим выбором благодаря своей функциональности. Именно на этом стандарте создают sitemap большинство сайтов интернета.
Данный формат позволяет создавать не только сам файл карты сайта со ссылками на страницы сайта, но и файл индекса sitemap (в котором содержатся ссылки на все карты сайта).
Sitemap со страницами
Файл должен начинаться с XML-пролога:
<?xml version="1.0" encoding="UTF-8"?>
После пролога необходимо указать тег <urlset>
, содержащий атрибут xmlns с указанием пространства имён:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Далее должно идти описание каждой странице в отдельном теге <url>
, в него включаются указанные в таблице теги:
Тег | Обязателен | Описание |
---|---|---|
<loc> |
Да | URL страницы сайта, с указанием домена и протокола http/https. |
<lastmod> |
Нет | Дата последнего изменения страницы в формате W3C Datetime. Максимальный размер — 100 байтов |
<changefreq> |
Нет | Частота с которой меняется содержимое страницы. Максимальный размер — 100 байтов. Доступные варианты: always, hourly, daily, weekly, monthly, yearly и never. |
<priority> |
Нет | Приоритет страницы в сравнении с другими. Устанавливается как значение от 0.1 до 1.0. Приоритет страницы по умолчанию — 0.5. Максимальный размер — 100 байтов. |
Пример содержимого такого файла:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://ilyagorbachev.com/page.html</loc>
<lastmod>2020-05-20</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
…
</urlset>
Индекс карт sitemap
Файл индекса sitemap имеет немного другой синтаксис, тут вместо контейнера <urlset>
используется <sitemapindex>
и некоторые другие теги. Описание каждой карты сайта должно быть в отдельном теге <sitemap>
.
Тег | Обязателен | Описание |
---|---|---|
<loc> |
Да | Указывает абсолютный URL по которому расположен файл карты сайта. |
<lastmod> |
Нет | Дата последнего обновления карты сайта, в формате W3C Datetime. |
Пример файла индекса sitemap:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://ilyagorbachev.com/sitemap-posts.xml</loc>
<lastmod>2020-05-20T13:37:12+03:00</lastmod>
</sitemap>
…
</sitemapindex>
Sitemap с изображениями
Карта сайта с изображениями особенно актуальна если изображения которые необходимо проиндексировать у вас на сайте загружаются через JavaScript (или находятся на страницах закрытых от сканирования), ведь поисковые системы могут их не увидеть.
Синтаксис такого файла карты сайта немного отличается от обычного. Для контейнера <urlset>
требуется дополнительно указать атрибут xmlns:image
со ссылкой на пространство имен (тегов изображений). Также в контейнер <url>
помимо тега <loc>
для изображений добавляются свои специфические теги.
Тег | Обязателен | Описание |
---|---|---|
image:image |
Да | Контейнер, содержит информацию об изображении. Одна страница (тег loc) может содержать до 1000 тегов image:image. |
image:loc |
Да | Абсолютный URL изображения. Изображение должно быть доступно для индексации: открыто в robots.txt и не иметь X-Robots-Tag с noindex. |
image:caption |
Нет | Подпись для изображения. Максимальный размер — 384 байта. |
image:geo_location |
Нет | Место фотосъемки. Максимальный размер — 256 байтов. |
image:title |
Нет | Название изображения. Максимальный размер — 384 байта. |
image:license |
Нет | URL лицензии изображения. Максимальный размер — 256 байтов. |
Пример содержимого файла карты сайта с картинками:
<?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>https://ilyagorbachev.com/page.html</loc>
<image:image>
<image:loc>https://ilyagorbachev.com/image.png</image:loc>
<image:title>Медный всадник</image:title>
<image:caption>Памятник Петру I на Сенатской площади</image:caption>
<image:geo_location>Санкт-Петербург</image:geo_location>
</image:image>
...
</url>
...
</urlset>
Sitemap с локализованными страницами
Помимо обычного тега hreflang
связать локализованные страницы можно с помощью карты сайта. Синтаксис похож на обычный файл sitemap для страниц сайта, но в теге <urlset>
указывается атрибут xmlns:xhtml
со ссылкой на пространство имен xhtml.
В контейнере <url>
по-прежнему указывается тег <loc>
, но к нему добавляются теги <xhtml:link>
для каждой локализованной версии (включая основную).
Атрибут | Обязателен | Описание |
---|---|---|
rel |
Да | Всегда указывается как "alternate". Означает отношение между текущим документом и документом в теге <loc> . |
hreflang |
Да | Код языка локализации по стандарту ISO 639-1 и региона (если нужно) по стандарту ISO 3166-1 Alpha 2. Допускается совместное написание языка и региона через дефис. |
href |
Да | URL локализованной страницы, с указанием домена и протокола http/https. |
Пример файла sitemap с локализованными версиями страницы:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://ilyagorbachev.com/page.html</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://ilyagorbachev.com/page.html"/>
<xhtml:link rel="alternate" hreflang="en-gb" href="https://ilyagorbachev.com/great-brit/page.html"/>
<xhtml:link rel="alternate" hreflang="ru" href="https://ilyagorbachev.com/ru/page.html"/>
</url>
...
</urlset>
В примере страница /page.html
размечена как англоязычная, а страница /great-brit/page.html
как англоязычная для жителей Великобритании. Страница /ru/page.html
размечена для русскоязычных пользователей.
Sitemap с видео
С помощью sitemap для видео можно передавать заголовок видео, его изображение миниатюру, стоимость и много чего другого.
Более подробно - https://support.google.com/webmasters/answer/80471
Sitemap с новостями
Карта сайта XML с новостями позволяет им быстрее попадать в результаты поиска Google Новости. Но, конечно же, не гарантирует им высокое ранжирование в результатах поиска. Файл должен содержать ссылки на новости за последние два дня и содержать не более 1000 страниц новостей.
Подробнее - https://support.google.com/webmasters/answer/9606710.
TXT формат
Формат TXT у файла sitemap позволяет лишь передать информацию об адресах страниц сайта, без указания последней даты их обновления и других параметров который позволяет XML формат.
Ссылки указываются списком, как в примере:
https://ilyagorbachev.com/page1.html
https://ilyagorbachev.com/page2.html
https://ilyagorbachev.com/page3.html
Файл обязательно должен иметь расширение .txt, поддерживать кодировку UTF-8 и содержать только адреса страниц.
Как настроить
Где же взять файл sitemap? Лучше всего настроить его генерацию на сайте установив соответствующий плагин (если вы используете популярную CMS) или заказать настройку генерации файла sitemap у программиста.
Онлайн-генераторы
Стоит понимать что если онлайн-генератор сможет найти все страницы вашего сайта, то и поисковая система сможет. Но вас все равно это не остановит, так как висит ошибка в Яндекс.Вебмастере, верно? Тогда держите таблицу сравнения бесплатных сервисов для генерации sitemap под его ручное размещение на сайте.
Генератор | Страниц | Недостатки | Преимущества |
---|---|---|---|
countwordsfree.com/ generate-sitemap | до 1000 | Не найдены | Быстро, показывает прогресс и текущую страницу. Настройка учета рекомендаций из robots.txt и атрибутов nofollow у ссылок. |
www.xml-sitemaps.com | до 500 | Не найдены | Быстро, показывает прогресс и текущую страницу. |
www.mysitemap generator.com | до 500 | Ввод CAPTCHA | Быстро, показывает прогресс и текущую страницу |
Сформировав файлы XML карты через генераторы скачайте их себе и разместите на сайта для которого их сделали.
Десктопные программы
Сформировать sitemap можно и на своем компьютере, для этого достаточно поставить любую из указанных программ-краулеров, запустить обход сайта и затем сделать экспорт в формате sitemap XML.
Так как мы традиционно не привыкли платить за программное обеспечение, далее будут рассмотрены бесплатные программы.
Xenu's Link Sleuth
Официальный сайт - http://home.snafu.de/tilman/xenulink.html
Бесплатная программа от немецкого разработчика, нацеленная на поиск битых ссылок на сайте. Позволяет сделать экспорт карты сайта в формате XML. Правда, не подходит для сайтов внутренние ссылки которых загружаются через JavaScript.

В отличие от других программ представленных далее у XENU нет ограничения по количество сканируемых страниц.
Screaming Frog SEO Spider
Официальный сайт - https://www.screamingfrog.co.uk/seo-spider/Очень удобный инструмент созданный британцами. Правда, сканирование в нем ограничивается 500 страницами. Позволяет сделать экспорт карты сайта страниц и изображений в формате XML. Очень гибкие настройки экспорта sitemap.

В платной версии нет ограничения по количеству сканируемых страниц и есть возможность учитывать ссылки, создаваемые через JavaScript. У меня самого установлена платная версия "лягушки".
G-Mapper
Официальный сайт - http://g-mapper.co.uk/sitemap-generator.aspx
Бесплатный инструмент специально заточенный под создание карты сайта. Экспортирует данные в любом формате: XML, TXT, HTML и RSS. Формирует sitemap как для страниц, так и для изображений.
Из минусов стоит отметить что для каждой страницы (или изображения) нужно вручную проставлять все нужные параметры: lastmod, changefreq и другие. То есть для больших сайтов это не самый лучший выбор.

Настройка в популярных CMS
Если вы используете одну из популярных CMS, то проблему генерации файла sitemap за вас уже наверняка давно решили. Это могут быть плагины или примеры кода, с которыми настройка карты сайта не займет много времени.
Плагины для Wordpress
Wordpress является самой популярной CMS в мире и для неё есть целая куча отличных плагинов для генерации XML карты сайта.
Yoast SEO - бесплатный плагин. Генерирует не только карту страниц сайта, но и карту с изображениями. На моём сайте используется именно этот плагин.
All in One SEO Pack - также бесплатные плагин. Продвинутые настройки генерации карты сайта (в том же Yoast есть только кнопка вкл/выкл). Подключил его на одном статейном сайте, работает отлично.
XML Sitemap & Google News - бесплатный плагин заточенный только под генерацию карты сайта. Не является комплексным SEO плагином, в отличие от предыдущих. Менее популярен, а потому если возникнут ошибки рекомендую не заморачиваться с ним и выбрать другой плагин.
Плагины для Joomla
Сами разработчики Joomla на официальном сайте рекомендуют следующие плагины для формирования карты сайта.
Xmap - бесплатный компонент генерации sitemap. Формирует карту на основе меню сайта. Можно исключить ненужные пункты меню из карты.
SEF Service Map - аналогичный бесплатный компонент. Также формирует карту сайта на основе меню. Имеется интеграция со базовыми компонентами Joomla (контент, ссылки, новости и контакты).
Настройка в Тильда
Если вы продвигаете сайт на конструкторе Тильда, то можете расслабиться. Конструктор сам создает и обновляет карту сайта. Найти её можно дописав к адресу сайта /sitemap.xml
на конце.
Хотите изменить карту сайта? Слезайте с конструктора на полноценную CMS, так вы и оптимизировать сайт сможете лучше.
Настройка в Битриксе
В 1С-Битрикс у вас автоматически создается карта сайта, по умолчанию. Настроить её можно в админ-панели, перейдя по следующими пунктам в меню: маркетинг > поисковая оптимизация > настройка sitemap.xml.
Настройка для OpenCart
По умолчанию в OpenCart уже имеется модуль Google Sitemap. Включить модуль можно в разделе: меню > модули > каналы продвижения. Если у вашего интернет-магазина более 10 000 товаров, то раньше вы могли столкнуться с ошибками при обновлении карты сайта. Тогда требуется выбрать более продвинутый платный модуль.
Настройка в Drupal
Для CMS Drupal существует модуль XML sitemap. После его скачивания и установки нужно включить все требуемые модули: общий, engines, node, taxonomy и user. Подробные настройки находятся по адресу admin/settings/xmlsitemap
.
Настройка в Prestashop
В Prestashop для настройки карты сайта нужно скачать модуль Google sitemap. После установки и настройки модуля нам придется самим настраивать обновление карты сайта через планировщик cron, либо после добавления каждого товара на сайт вручную обновлять карту сайта.
Для настройки автоматического обновления нужно зайти в свою хостинг-панель и настроить событие cron выполнения указанного в модуле скрипта со временем 0 * * * *
(если хотите чтобы карта обновлялась раз в час).
В случае, если у вас очень много товаров и обновление карты сайта вызывает ошибку следует в настройках хостинга установить большее время для выполнения php-скриптов.
Добавить для поисковых систем
Включение ссылки на карту сайта в файле robots.txt позволяет отправить её на обход во все поисковые системы. В том числе файл посетят и не особо популярные поисковики, которые мы дальше не будем разбирать отдельно.
В файле robots.txt в списке директив для User-agent: *
указываем директиву Sitemap:
, после которой указываем абсолютную ссылку на карту сайта.
Пример:
User-agent: *
...
Sitemap: https://ilyagorbachev.com/sitemap_index.xml
Добавить в Яндекс
Добавить карту сайта можно через сервис Яндекс.Вебмастер. Добавьте в сервис свой сайт, подтвердите на него права. А затем перейдите в раздел: индексирование > файл sitemap.

В поле ввода укажите ссылку на карту сайта и нажмите "Добавить". Если карт несколько, можно добавить каждую отдельно (в случае если у вас нет карты индекса sitemap, иначе достаточно добавить только её).
На основе технологий Яндекса работает поиск Рамблера, а также его результаты поиска использует поисковая система DuckDuckGo.
Добавить в Google
Отправить запрос на обработку карты сайта можно через сервис Google Search Console (ex. Google Webmaster). Для этого добавляем сайт и подтверждаем права. После подтверждения - заходим в раздел "Файлы Sitemap" и добавляем все имеющиеся файлы карты сайта (или файл индекса sitemap). После анализа карта либо будет успешно добавлена, либо появится сообщение об ошибке.

Добавить в Mail
Добавить карту сайта в Поиск Mail.Ru можно через их Кабинет Вебмастера. Подтверждение прав на сайт сразу может не дать доступ к самому кабинету, только после того как роботы поисковой системы обойдут сайт появится возможность добавить карту сайта. Это делается в разделе: мета информация > sitemap, форма добавления появиться при клике по кнопке "добавить".

У некоторых сайтов у меня больше года висит статус "Робот уже в пути" и нет возможности указать карту сайта, но популярные сайты добавляются быстро.
Добавить в Bing
Если вы добавили карту сайта для Google в Search Console, то для Bing достаточно перейти в сервис "Bing веб-мастер" и настроить интеграцию сайтов с Google Search Console. В результате переносится вся информация, в том числе и о файлах sitemap.

Поисковую базу Bing использует и Yahoo, поэтому сделав это вы убили двух зайцев.
Часто встречаемые ошибки
О многих ошибках в файле sitemap вас оповестят поисковые системы при проверке добавленного файла. Но есть и такие ошибки, которые они не видят. Давайте разберем самые часто встречаемые из них.
Некорректный ответ сервера
В случае если вы включили в карту сайта ссылки на недоступные страницы (с ответом сервера не равным 200 OK), значительных проблем у сайта конечно не возникнет. Но, в таком случае поисковой системе придется потратить свои усилия на обход этих страниц, а она могла бы их направить на обход новых. Поэтому рекомендуется исключать такие страницы из файла sitemap.
Быстро проверить файл на такие ошибки можно через Screaming Frog. Для этого заходим в режим сканирования (Mode) List и выбираем в качестве источника "Download Sitemap" (или "Download Sitemap Index"), затем ждем завершения процесса и заходим во вкладку "Response Codes".

Сортируем по параметру "Status Code" и получаем список страниц в карте сайта с некорректным ответом сервера (всё что отлично от 200).
Стоит отметить что можно создать отдельную XML карту сайта для удаления страниц из индекса поисковика, туда как раз могут попадать страницы с ответом сервера отличным от 200.
Закрытие в robots.txt
Иногда случается что директивами Disallow
в файле robots.txt может быть по случайному совпадению запрещен обход каких-то важных страниц сайта. Выявить их поможет обход карты сайта инструментом Screaming Frog. После обхода нам нужно зайти во вкладку "Response Codes" и выбрать фильтр "Blocked by Robots.txt".

Если это мусорные страницы - исключайте из карты сайта, а если нужные - открывайте их в robots.txt.
Технические страницы
При некорректной генерации в вашу карту сайта могут попасть технические страницы сайта (например, страница корзины) или что-то похуже - страницы с данными ваших пользователей. Обязательно сами бегло посмотрите все файлы sitemap и убедитесь что такие страницы не попали в них.
Закрывайте технические страницы через мета-тег robots (или X-Robot-Tag) со значением noindex. А страницы с данными пользователя должны отображаться только после его авторизации (например, с кодом ответа сервера 401 Unauthorized).
Заключение
Пользуйтесь всеми возможностями файлов sitemap для управления индексацией сайта. И не забывайте периодически возвращаться к нему для проверки ошибок.
Надеюсь этот материал помог вам!