Карты сайта — это протокол в формате XML , предназначенный для веб-мастера для информирования поисковых систем об URL-адресах веб -сайта , доступных для сканирования . Он позволяет веб-мастерам включать дополнительную информацию о каждом URL-адресе: когда он последний раз обновлялся, как часто он меняется и насколько он важен по отношению к другим URL-адресам сайта. Это позволяет поисковым системам более эффективно сканировать сайт и находить URL-адреса, которые могут быть изолированы от остального содержимого сайта. Протокол Sitemaps – это протокол включения URL-адресов, который дополняет robots.txt
протокол исключения URL-адресов.
Google впервые представил Sitemaps 0.84 в июне 2005 года, чтобы веб-разработчики могли публиковать списки ссылок со всех своих сайтов. [1] Google, Yahoo! и Microsoft объявили о совместной поддержке протокола Sitemaps в ноябре 2006 года. [2] Версия схемы была изменена на «Sitemap 0.90», но никаких других изменений внесено не было.
В апреле 2007 года Ask.com и IBM объявили о поддержке файлов Sitemap. [3] Кроме того, Google, Yahoo, MSN объявили об автоматическом обнаружении файлов Sitemap через файлы robots.txt
. В мае 2007 года правительства штатов Аризона, Калифорния, Юта и Вирджиния объявили, что будут использовать файлы Sitemap на своих веб-сайтах. [4]
Протокол Sitemaps основан на идеях [5] из «Веб-серверов, удобных для сканирования» [6] с улучшениями, включая автоматическое обнаружение robots.txt
и возможность указывать приоритет и частоту изменения страниц.
Файлы Sitemap особенно полезны на веб-сайтах, где:
Формат протокола Sitemap состоит из тегов XML. Сам файл должен иметь кодировку UTF-8 . Файлы Sitemap также могут представлять собой простой текстовый список URL-адресов. Их также можно сжать в формате .gz.
Ниже показан пример файла Sitemap, который содержит только один URL-адрес и использует все дополнительные теги.
<?xml version='1.0'coding='UTF-8'?> <urlset xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www .sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns= "http://www.sitemaps.org/schemas/sitemap/0.9" > <url> <loc> https://example.com/ </loc> <lastmod> 18 ноября 2006 г. </lastmod> <changefreq> ежедневно </changefreq> <priority> 0,8 </priority> </url> </urlset>
Протокол Sitemap XML также расширен и теперь позволяет включать несколько файлов Sitemap в файл «индекса Sitemap». Максимальный размер карты сайта 50 МБ или 50 000 URL-адресов [8] означает, что это необходимо для больших сайтов.
Ниже приведен пример индекса Sitemap, ссылающегося на одну отдельную карту сайта.
<?xml version="1.0"coding="UTF-8"?> <sitemapindex xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www .sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" xmlns= "http://www.sitemaps.org/schemas/sitemap/0.9" > <sitemap> <loc> https://www.example.com/sitemap1.xml.gz </loc> <lastmod> 2014-10-01T18:23:17+00:00 </lastmod> </sitemap> < /sitemapindex>
Определения элементов приведены ниже: [8]
Поддержка необязательных элементов может варьироваться от одной поисковой системы к другой. [8]
Протокол Sitemaps позволяет файлу Sitemap представлять собой простой список URL-адресов в текстовом файле. Спецификации файлов XML-файлов Sitemap также применимы к текстовым файлам Sitemap; файл должен быть в кодировке UTF-8, его размер не может превышать 50 МБ (несжатый) или содержать более 50 000 URL-адресов. Файлы Sitemap, превышающие эти ограничения, должны быть разбиты на несколько файлов Sitemap с помощью индексного файла Sitemap (файла, который указывает на несколько файлов Sitemap). [9]
Фид синдикации – это разрешенный метод отправки URL-адресов сканерам; это рекомендуется в основном для сайтов, на которых уже есть каналы синдикации. Одним из заявленных недостатков является то, что этот метод может предоставить сканерам только недавно созданные URL-адреса, но другие URL-адреса все равно можно обнаружить во время обычного сканирования. [8]
Может быть полезно иметь канал синдикации в виде дельта-обновления (содержащего только самый новый контент) для дополнения полной карты сайта.
Если файлы Sitemap отправляются непосредственно в поисковую систему ( проверено ping ), она вернет информацию о состоянии и любых ошибках обработки. Детали, связанные с отправкой, будут различаться в зависимости от разных поисковых систем. Местоположение карты сайта также можно включить в robots.txt
файл, добавив следующую строку:
Sitemap: <sitemap_location>
Это <sitemap_location>
должен быть полный URL-адрес карты сайта, например:
https://www.example.org/sitemap.xml
Эта директива не зависит от строки пользовательского агента, поэтому не имеет значения, где она находится в файле. Если на веб-сайте имеется несколько карт сайта, в файл можно включить несколько записей «Sitemap:» robots.txt
или URL-адрес может просто указывать на основной индексный файл карты сайта.
В следующей таблице перечислены URL-адреса отправки карты сайта для нескольких основных поисковых систем:
URL-адреса файлов Sitemap, отправленные с использованием URL-адресов отправки файлов Sitemap, должны быть закодированы в URL- адресе , например: заменить :
(двоеточие) на %3A
, заменить /
(косая черта) на %2F
. [8]
Файлы Sitemap дополняют, а не заменяют существующие механизмы сканирования, которые поисковые системы уже используют для обнаружения URL-адресов. Использование этого протокола не гарантирует, что веб-страницы будут включены в поисковые индексы, а также не влияет на то, как страницы ранжируются в результатах поиска. Конкретные примеры приведены ниже.
Файлы карты сайта имеют ограничение в 50 000 URL-адресов и 50 МБ (52 428 800 байт) на карту сайта. Карты сайта можно сжимать с помощью gzip , что снижает потребление полосы пропускания. Поддерживается несколько файлов Sitemap, при этом индексный файл Sitemap служит точкой входа. Индексные файлы Sitemap не могут содержать более 50 000 файлов Sitemap, их размер не должен превышать 50 МБ, и их можно сжимать. У вас может быть несколько индексных файлов Sitemap. [8]
Как и во всех файлах XML, любые значения данных (включая URL-адреса) должны использовать escape-коды сущностей для символов амперсанда (&), одинарной кавычки ('), двойной кавычки ("), меньше (<) и больше (>). .
Лучшая практика оптимизации индекса карты сайта для сканирования поисковыми системами — обеспечить, чтобы индекс ссылался только на карты сайта, а не на другие индексы карты сайта. По мнению Google, вложение индекса карты сайта в индекс карты сайта недопустимо. [11]
Google поддерживает ряд дополнительных типов XML-карт сайта, выходящих за рамки протокола Sitemaps, что позволяет веб-мастерам предоставлять дополнительные данные о содержании своих веб-сайтов. Карты сайта для видео и изображений предназначены для улучшения ранжирования веб-сайтов в результатах поиска изображений и видео. [12] [13]
В файлах Sitemap для видео указаны данные, связанные с встраиванием и автоматическим воспроизведением, предпочтительные миниатюры для отображения в результатах поиска, дата публикации, продолжительность видео и другие метаданные. [13] Карты сайта для видео также используются для того, чтобы поисковые системы могли индексировать видео, встроенные в веб-сайт, но размещенные на внешних ресурсах, например, на Vimeo или YouTube .
Карты сайта изображений используются для указания метаданных изображения, таких как информация о лицензировании, географическое местоположение и подпись изображения. [12]
Google поддерживает тип карты сайта Google News для облегчения быстрого индексирования срочных новостей. [14] [15]
В декабре 2011 года Google объявил об аннотациях для сайтов, ориентированных на пользователей на многих языках и, при необходимости, странах. Несколько месяцев спустя Google объявил в своем официальном блоге [16] , что они добавляют поддержку указания аннотаций rel="alternate" и hreflang в файлах Sitemap. Вместо HTML-элементов ссылок (пока это был единственный вариант) вариант Sitemaps предлагал множество преимуществ, включая меньший размер страницы и более простое развертывание для некоторых веб-сайтов.
Один из примеров многоязычной карты сайта может быть следующим:
Если, например, у нас есть сайт, ориентированный на пользователей английского языка через https://www.example.com/en
и пользователей греческого языка через https://www.example.com/gr
, до этого момента единственным вариантом было добавить аннотацию hreflang либо в заголовок HTTP, либо в виде HTML-элементов в оба URL-адреса, например этот.
<link rel= "alternate" hreflang= "en" href= "https://www.example.com/en" /> <link rel= "alternate" hreflang= "gr" href= "https://www. example.com/gr" />
Но теперь в качестве альтернативы можно использовать следующую эквивалентную разметку в файлах Sitemap:
<url> <loc> https://www.example.com/en </loc> <xhtml:ссылка rel= "альтернативный" hreflang = "гр" href= "https://www.example.com/gr" /> <xhtml:ссылка rel= "альтернативный" hreflang= "ru" href= "https://www.example.com/en" /> </url> <url> <loc> https://www.example.com/gr </loc> <xhtml:ссылка rel= "альтернативный" hreflang = "гр" href= "https://www.example.com/gr" /> <xhtml:ссылка rel= "альтернативный" hreflang= "ru" href= "https://www.example.com/en" /> </url>
{{cite conference}}
: CS1 maint: несколько имен: список авторов ( ссылка )