Войти
БлогТехническая оптимизация

Sitemap: все про файл карты сайта

2020-06-01
10601
(229)
Sitemap: все про файл карты сайта

Sitemap - это файл в формате XML или TXT, содержащий ссылки на все страницы сайта которые должны посетить роботы поисковых систем. Данный стандарт поддерживают все популярные поисковики (Яндекс, Google, Bing, Mail.ru и даже китайский Baidu).

Автообновляемый sitemap обязательно нужен сайтам на которых часто создаются новые страница, а также имеются проблемы с их доступностью (глубокая вложенность, большое количество или отсутствие внутренних ссылок). В особенности он важен для новостных сайтов и интернет-магазинов.

Поисковые системы могут находить новые страницы на сайте не только на основе файла xml карты сайта. Источниками информации о новых страницах могут быть как ссылки на них внутри сайта, так и внешние ссылки, а также данные со счетчиков аналитики поисковиков.

Формат файла

Файл sitemap может иметь формат XML или TXT. Первый позволяет передать больше полезной информации поисковой системе, а потому является рекомендуемым.

При этом адрес файла не обязательно должен иметь на конце соответствующее разрешение, достаточного того что само содержимое файла придерживается нужного формата. Например, XML карту сайта можно разместить по адресу /sitemap.php и поисковые системы его не будут считать ошибочным или недоступным.

Только ли XML и TXT
Не только, sitemap можно передавать в виде фида (например, RSS или Atom), но Яндексе не поддерживает такой формат карты сайта

Ограничения

Файл должен иметь кодировку UTF-8.

Максимальное количество ссылок в файле - 50 000. Если вам необходимо указать больше страниц, то нужно разбить карту сайта на несколько файлов.

Максимальный размер файла — 50 МБ (в несжатом виде).

Файл должен содержать ссылки только на страницы вашего домена.

Файл должен быть расположен на том же домене для которого он создан.

Все символы в URL должны быть экранированы (например, & нужно заменить на &).

Код ответа сервера при обращении к файлу должен быть 200 ОК.

Как проверить код ответа сервера
Проверить его можно с помощью сервиса bertal.ru. Введите адрес файла, выберите в выпадающем списке YandexBot (или GoogleBot), установите галочку для "Показать html-код страницы" и нажмите на кнопку проверки

Указывайте только абсолютные ссылки на страницы сайта с корректным указанием домена (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.

Создание файла sitemap в Xenu's Link Sleuth

В отличие от других программ представленных далее у XENU нет ограничения по количество сканируемых страниц.

Screaming Frog SEO Spider

Официальный сайт - https://www.screamingfrog.co.uk/seo-spider/

Очень удобный инструмент созданный британцами. Правда, сканирование в нем ограничивается 500 страницами. Позволяет сделать экспорт карты сайта страниц и изображений в формате XML. Очень гибкие настройки экспорта sitemap.

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

В платной версии нет ограничения по количеству сканируемых страниц и есть возможность учитывать ссылки, создаваемые через JavaScript. У меня самого установлена платная версия "лягушки".

G-Mapper

Официальный сайт - http://g-mapper.co.uk/sitemap-generator.aspx

Бесплатный инструмент специально заточенный под создание карты сайта. Экспортирует данные в любом формате: XML, TXT, HTML и RSS. Формирует sitemap как для страниц, так и для изображений.

Из минусов стоит отметить что для каждой страницы (или изображения) нужно вручную проставлять все нужные параметры: lastmod, changefreq и другие. То есть для больших сайтов это не самый лучший выбор.

Создание карты сайта через G-Mapper

Заключение

Пользуйтесь всеми возможностями файлов sitemap для управления индексацией сайта. И не забывайте периодически возвращаться к нему для проверки ошибок.

Надеюсь этот материал помог вам!

Оцени статью
Комментарии
Михаил
2022-12-07
В WP Sitemap.xml с версии wp 5.5 автоматически генерится должен, но не всегда работает корректно к сожалению. Поэтому приходится плагином делать. А html карту обычно делаю с помощью плагина WP Sitemap Page, как по мне самый лучший он. И стараюсь как-то ещё апгрейдить, что ли, оживить, https://sverchokcorm.ru/sitemap/тут например пару картинок добавил, все повеселее)
Илья Горбачев
2022-12-08
Спасибо, отлично вышло. Как вариант можно ещё поработать с оформлением HTML карты, чтобы получилось что-то вроде www.apple.com/sitemap/ или divan.ru/site/site-map-full.
Оставить комментарий
Отправить