Что такое карта сайта?

Это один из элементов внутренней SEO-оптимизации веб-сайта. Карта сайта представляет собой список страниц сайта для поисковых систем или пользователей и аналогична разделу «Содержание» обычной книги. Используется как элемент навигации, показывает взаимосвязь между страницами сайта. Это полный перечень разделов и/или всех страниц в иерархическом порядке. В XML-формате используется для поисковых систем, а в HTML - для пользователей, чтобы помочь найти нужную информацию, которая есть на сайте.

Так выглядит обобщённое определение термина, о котором пойдёт речь в этой статье.

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

HTML-карта сайта

Карта в HTML-формате делается прежде всего для посетителей сайта, является обычной веб-страницей, где представлены ссылки на все страницы сайта. Если ресурс не очень большой, страниц не много, то такую карту можно сделать и вручную (как, например, сделана эта карта сайта https://www.uck.ru.com/sitemap.html). Для больших сайтов такую карту лучше делать динамической, в автоматическом режиме, т.е. средствами программирования (как например генерируется (долго, т.к. на сайте тысячи страниц) эта https://www.light-group.info/karta-sajta). При помощи такой карты сайта посетитель может быстро понять, что может найти на данном сайте, да и поисковики (точнее их боты) при индексировании идут по ссылкам, а в html-карте обычно содержатся именно ссылки на все важные страницы сайта.

XML-карта сайта

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

Из каких элементов состоит XML-карта сайта

В первой строке документа указывается версия xml и кодировка - UTF-8.

Также используются специальные тэги XML:

  • <sitemapindex> - родительский тэг в начале и конце файла;
  • <sitemap> - родительский тэг для каждого файла sitemap, указанного в файле (при этом данный тэг - дочерний относительно sitemapindex);
  • <url> - блок, который содержит значение самого URL и прочие элементы;
  • <loc> - непосредственно URL страницы;
  • <changefreq> - как часто данная страница может изменяться. Возможные значения: always, hourly, daily, weekly, monthly, yearly, never;
  • <priority> - приоритет структурных элементов, помогает определить, какие страницы более приоритетные для краулинга (ему присваивается значение до единицы, например: 0,5);
  • <lastmod> - время последнего обновления контента страницы, не обязательный параметр (для сайтов со статическим контентом достаточно использовать changfreq).

Пример структуры файла c XML-картой сайта:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
     <loc>http://www.example.com/</loc>
     <lastmod>2019-01-23</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.9</priority>
  </url>
</urlset>

Пример XML-карты сайта - https://www.uck.ru.com/sitemap.xml

Для больших сайтов лучше сформировать несколько XML-карт и объединить их в файле в том же формате. Например, в этот индекс в формате XML входят два файла sitemap:

<?xml version="1.0" encoding="UTF-8"?>
  <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
     <loc>http://www.example.com/sitemap1.xml</loc>
  </sitemap>
  <sitemap>
     <loc>http://www.example.com/sitemap2.xml.</loc>
  </sitemap>
  </sitemapindex>

Ещё совсем недавно главный Российский поисковик Яндекс понимал только стандартные списки страниц (URL) сайта в XML-формате и карты, описанные ниже, делались только для Гугла. На данный момент Яндекс научился понимать XML-карты изображений и видео наравне с остальными поисковиками, смысла создавать такие сайтмэпы (для Рунета) стало больше.

XML-sitemap для изображений

Данные XML-карты могут помочь поисковым системам найти контент, который иначе нельзя было бы обнаружить (например, если он загружается с помощью JavaScript), и указать изображения, которые необходимо сканировать и индексировать.

Для карт изображений используются тэги:

Обязательные:

  • <image:image> - cодержит всю информацию об одном изображении (каждый URL (тег <loc>) может включать до 1000 тегов <image:image>);
  • <image:loc> - URL изображения.

Кроме того, можно использовать необязательные тэги:

  • <image:caption> - подпись к изображению;
  • <image:geo_location> - место съемки (страна, город, и так далее);
  • <image:title> - название изображения;
  • <image:license> - URL лицензии изображения.

Пример структуры файла XML-карты для изображений:

<?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>http://example.com/primer.html</loc>
    <image:image>
      <image:loc>http://example.com/kartinka.jpg</image:loc>
    </image:image>
    <image:image>
      <image:loc>http://example.com/photo.jpg</image:loc>
    </image:image>
  </url> 
</urlset>

Пример XML-карты для изображений - https://www.uck.ru.com/sitemap_images.xml

XML-sitemap для видео

Обязательные тэги:

  • <loc> - страница, где находится видео;
  • <video:title> - название видео, до 100 символов;
  • <video:player_loc> - место размещения плеера для видео;
  • <video:content_loc> - место размещения конкретного видео;
  • <video:thumbnail_loc> - превью (миниатюра) видео, не менее чем 120х90 px;
  • <video:video> - контейнер для описания видео;
  • <video:description> - описание видео, до 2000 символов.

Необязательные тэги:

  • <video:duration> - длительность видео, до 8 часов, пишется в секундах;
  • <video:category> - категория видео, например, техника;
  • <video:uploader> - имя человека (компании), добавившего видео. Допускается указание одного имени для файла;
  • <video:requires_subscription> - указывается, требуется ли для просмотра видео подписка. Как платная, так и бесплатная, с доступными значениями: yes, no;
  • <video:publication_date> - дата публикации, в формате YYYY-MM-DD или YYYY-MM-DDThh:mm:ss+TZD;
  • <video:family_friendly> - здесь указывается, может ли видео быть доступным для безопасного поиска или нет;
  • <video:restriction> - список стран, в которых видео может воспроизводиться или не воспроизводиться. Допустимые значения - коды стран в формате ISO 3166. Для каждого видео может отображаться только один тег <video: restriction>. Если тэг <video: restriction> отсутствует, предполагается, что видео можно воспроизводить на всех территориях;
  • <video:gallery_loc> - ссылка на галерею;
  • <video:expiration_date> - дата и время, когда видео становится неактуальным;
  • <video:price> - стоимость с указанием валюты в формате ISO 4217;
  • <video:tag> - тэги видео;
  • <video:view_count> - количество просмотров видео;
  • <video:rating> - рейтинг видео (от 0 до 5);
  • <video:platform> - список площадок, где видео может воспроизводиться и не воспроизводиться. Доступные значения: web, mobile, tv. При отсутствии тега предполагается, что видео может воспроизводиться на всех платформах;
  • <video:live> - указывает на то, является ли видео прямой трансляцией (live). Доступные значения: yes, no.

Пример структуры файла карты сайта для видео:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
   <url>
     <loc>http://www.example.com/videos/some_video_landing_page.html</loc>
     <video:video>
       <video:thumbnail_loc>http://www.example.com/thumbs/123.jpg</video:thumbnail_loc>
       <video:title>Как приготовить отличный шашлык</video:title>
       <video:description>Алла учит правильно готовить шашлык</video:description>
       <video:content_loc>
           http://streamserver.example.com/video123.mp4</video:content_loc>
       <video:player_loc>
         http://www.example.com/videoplayer.php?video=123</video:player_loc>
       <video:duration>600</video:duration>
       <video:expiration_date>2021-11-05T19:20:30+08:00</video:expiration_date>
       <video:rating>4.2</video:rating>
       <video:view_count>12345</video:view_count>
       <video:publication_date>2007-11-05T19:20:30+08:00</video:publication_date>
       <video:family_friendly>yes</video:family_friendly>
       <video:restriction relationship="allow">IE GB US CA</video:restriction>
       <video:price currency="EUR">1.99</video:price>
       <video:requires_subscription>yes</video:requires_subscription>
       <video:uploader
          info="http://www.example.com/users/grillymcgrillerson">GrillyMcGrillerson
       </video:uploader>
       <video:live>no</video:live>
     </video:video>
   </url>
</urlset>

Пример XML-карты для видео - https://www.uck.ru.com/sitemap_video.xml

XML-карта для мультиязычных сайтов

Файлы sitemap можно использовать, чтобы передать атрибут rel="alternate" hreflang="x". Благодаря этому пользователям показываются страницы на нужном языке и с URL-адресами с правильной региональностью.

Пространство имен XHTML должно быть указано так:

xmlns:xhtml="http://www.w3.org/1999/xhtml"

Также необходимо создать отдельный элемент URL для каждого адреса. В свою очередь каждый элемент должен включать:

Тэг loc, который указывает на URL-адреса;

Подэлемент xhtml:link rel="alternate" hreflang="XX" для каждой альтернативной версии страницы, обязательно включая текущую версию.

Например, на сайте есть раздел на русском языке, предназначенный для пользователей со всего мира. Кроме того, существуют две версии этой страницы: на английском и на французском.

Полный набор URL выглядит так:

  • example.com/ru/
  • example.com/en/
  • example.com/fr/

Файл sitemap, который приведен на примере ниже, сообщает поисковикам о том, что у страницы example.com/ru/ существует соответствующая версия на английском и французском языках:

<?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>http://example.com/ru/</loc>
   <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/" />
   <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/" />
   <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/ru/" />
 </url>
</urlset>

Строчка с атрибутом hreflang="x-default" указывает на вариант страницы по умолчанию. В примере выше это русскоязычная страница.

Пример карты мультиязычного сайта - https://www.uck.ru.com/sitemap.xml

Рекомендации Яндекса

Яндекс поддерживает два формата файлов sitemap:

  • XML (рекомендуется);
  • текстовый файл.
Требования для карт от Яндекс:
  • размер в несжатом виде не должен превышать 10 Мб;
  • Яндекс распознает Punycode (пуникод) как в закодированном виде, так и в оригинале.

Рекомендации Google

Форматы, которые поддерживает Google в качестве sitemap:

  • XML — стандартный файл;
  • RSS, media RSS и Atom 1.0 — подходит для блогов с фидом RSS или Atom;
  • Текстовый файл .txt.
Требования для карт от Google:
  • до 50 000 ссылок на файлы sitemap;
  • общий размер до 50 Мб (в несжатом виде).
Основные требования к текстовым файлам:
  • кодировка UTF-8;
  • файл не должен содержать ничего, кроме списка URL;
  • текстовому файлу можно дать любое имя, но только с расширением .txt (например, sitemap.txt).

Как внедрить XML-карту сайта

  1. Файл с XML sitemap следует поместить в корневую директиву сайта: http://<адрес сайта>/sitemap.xml.
  2. Если карт сайта несколько, необходимо создать индекс карт, где должны быть перечислены ссылки на все XML-файлы.
  3. Добавить директиву sitemap в файл robots.txt.
  4. Указать URL файла в панелях вебмастеров интересующих поисковых систем, например:
  • Яндекс.Вебмастер;
  • Google Search Console;
  • Кабинет вебмастера MailRu;
  • любого другого поисковика кабинет.

Файлы sitemap учитываются при индексировании сайта роботом, однако ни одна из поисковых систем не гарантирует, что все URL, указанные в файле, будут добавлены в поисковый индекс.

Стоит отметить, что карты сайта в XML-формате являются важной составляющей внутренней SEO-оптимизации сайта. Если заниматься этим нет времени, Вы всегда можете заказать создание карт сайта нам. Пишите, звоните или укажите, что хотите карты сайта в . Мы создадим вам все необходимые виды карт вашего сайта и в будущем они будут у вас генерироваться автоматически, т.е. всегда будут в актуальном состоянии.