XML-формат файла Sitemap

В этом документе приведено описание XML-схемы протокола Sitemap.

 

Формат протокола Sitemap состоит из XML-тегов. Для всех значений данных в файле Sitemap должно использоваться маскирование. В файле необходимо использовать кодировку UTF-8.

Sitemap должен:

  • В начале поставьте открывающий тег <urlset>, а в конце поставьте закрывающий тег </urlset>.
  • Укажите область имен (стандарт протокола) в теге <urlset>.
  • Включите запись <url> для каждого URL-адреса как родительский тег XML.
  • Включите дочернюю запись <loc> для каждого <url> родительского тега.

Все теги необязательны. Поддержка необязательных тегов может отличаться в зависимости от поискового сервера. Чтобы получить более подробную информацию, обратитесь к документации поискового сервера.

Пример XML-файла Sitemap

Ниже приведен пример файла Sitemap, в котором содержится только один URL-адрес и использованы все необязательные теги. Необязательные теги выделены курсивом.

<?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>2005-01-01</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>
</urlset> 

См. также пример с несколькими URL-адресами.

Определения XML-тегов

Ниже описаны доступные XML-теги.

Атрибут   Описание
<urlset> обязательный Инкапсулирует этот файл и указывает стандарт текущего протокола.
<url> обязательный Родительский тег для каждой записи URL-адреса. Остальные теги являются дочерними для этого тега.
<loc> обязательный URL-адрес страницы. Этот URL-адрес должен начинаться с префикса (например, HTTP) и заканчиваться косой чертой, если Ваш веб-сервер требует этого. Длина этого значения не должна превышать 2048 символов.
<lastmod> необязательно Дата последнего изменения файла. Эта дата должна быть в формате W3C Datetime. Этот формат позволяет при необходимости опустить сегмент времени и использовать формат ГГГГ-ММ-ДД.

Обратите внимание, что этот тег не имеет отношения к заголовку "If-Modified-Since (304)", который может вернуть сервер, поэтому поисковые системы могут по-разному использовать информацию из этих двух источников.

<changefreq> необязательно Вероятная частота изменения этой страницы. Это значение предоставляет общую информацию для поисковых систем и может не соответствовать точно частоте сканирования этой страницы. Допустимые значения:
  • always
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never

Значение "всегда" должно использоваться для описания документов, которые изменяются при каждом доступе к этим документам. Значение "никогда" должно использоваться для описания архивных URL-адресов.

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

<priority> необязательно Приоритетность URL относительно других URL на Вашем сайте. Допустимый диапазон значений — от 0,0 до 1,0. Это значение не влияет на процедуру сравнения Ваших страниц со страницами на других сайтах — оно только позволяет указать поисковым системам, какие страницы, по Вашему мнению, более важны для сканеров.

Приоритет страницы по умолчанию — 0,5.

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

Кроме того, следует учитывать, что назначение высокого приоритета всем URL на Вашем сайте не имеет смысла. Поскольку приоритетность – величина относительная, этот параметр используется для того, чтобы определить очередность обработки URL в пределах сайта.

Маскирование символов

В файле Sitemap должна использоваться кодировка UTF-8 (обычно ее можно выбрать при сохранении данного файла). В XML-файлах для всех значений данных (включая URL-адреса) должно использоваться маскирование символов, перечисленных ниже в таблице.

Символ Маскирование
Амперсанд & &amp;
Одинарные кавычки ' &apos;
Двойные кавычки " &quot;
Больше > &gt;
Меньше < &lt;

Кроме того, для всех URL (включая URL из Вашего файла Sitemap) должны использоваться маскирование и кодировка для удобочитаемости веб-сервером, на котором они размещаются. Однако, если для создания своих URL Вы используете какой-либо вид скрипта, инструментального средства или журнала (любой способ кроме ввода их вручную), то маскировка и кодировка применяются автоматически. Убедитесь в том, что все URL соответствуют стандарту RFC-3986 для URI, стандарту RFC-3987 для IRI и XML-стандарту.

Ниже приведен пример URL-адреса, в котором используется символ, отличный от ASCII (ü), а также символ, для которого необходимо маскирование (&):

http://www.primer.ru/ümlat.html&q=name

Ниже этот же URL-адрес приведен в кодировке ISO-8859-1 (для размещения на сервере, который использует эту кодировку) с маскированием:

http://www.primer.ru/%FCmlat.html&q=name

Ниже этот же URL-адрес приведен в кодировке UTF-8 (для размещения на сервере, который использует эту кодировку) и с использованием маскирования:

http://www.example.com/%C3%BCmlat.html&q=name

Ниже приведен тот же URL-адрес, но с использованием маскирования:

http://www.example.com/%C3%BCmlat.html&amp;q=name

Пример XML-файла Sitemap

В следующем примере показан файл Sitemap в XML-формате. Sitemap в этом примере содержит небольшое число URL-адресов, каждый из которых использует разное сочетание необязательных параметров.

<?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>2005-01-01</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>
   <url>
      <loc>http://www.example.com/catalog?item=12&amp;desc=vacation_hawaii</loc>
      <changefreq>weekly</changefreq>
   </url>
   <url>
      <loc>http://www.example.com/catalog?item=73&amp;desc=vacation_new_zealand</loc>
      <lastmod>2004-12-23</lastmod>
      <changefreq>weekly</changefreq>
   </url>
   <url>
      <loc>http://www.example.com/catalog?item=74&amp;desc=vacation_newfoundland</loc>
      <lastmod>2004-12-23T18:00:15+00:00</lastmod>
      <priority>0.3</priority>
   </url>
   <url>
      <loc>http://www.example.com/catalog?item=83&amp;desc=vacation_usa</loc>
      <lastmod>2004-11-23</lastmod>
   </url>
</urlset>

Использование файлов индекса Sitemap (для создания группы из нескольких файлов Sitemap)

Можно предоставить несколько файлов Sitemap, однако в каждом из этих файлов должно быть не более 50000 URL, а размер каждого из этих файлов не должен превышать 10 МБ. При необходимости файл Sitemap можно сжать с помощью архиватора gzip, чтобы его размер не превышал 10 МБ, и тем самым уменьшить требования к пропускной способности канала. Если необходимо перечислить более 50000 URL, следует создать несколько файлов Sitemap.

Если требуется передать несколько файлов Sitemap, необходимо перечислить каждый из этих файлов в файле индекса Sitemap. В файле индекса Sitemap может быть перечислено не более 1000 файлов Sitemap. Размер этого файла не должен превышать 10 МБ. Формат XML-файла индекса Sitemap очень похож на формат XML-файла Sitemap.

Файл индекса Sitemap должен:

  • В начале поставьте открывающий тег <sitemapindex>, а в конце поставьте закрывающий тег </sitemapindex>.
  • Добавьте запись <sitemap> для каждого файла Sitemap как родительский XML-тег.
  • Включите дочернюю запись <loc> для каждого <sitemap> родительского тега.

Необязательный тег <lastmod> также доступен для файлов индекса Sitemap.

Примечание. Файл индекса Sitemap может указывать только файлы Sitemap, которые находятся на том же сайте, что и файл индекса Sitemap. Например, файл индекса http://www.vashsait.ru/sitemap_index.xml может включать файлы Sitemap, размещенные на сайте http://www.vashsait.ru, но не на сайте http://www.primer.ru или http://vashkhost.vashsait.ru. Для файла индекса Sitemap, как и для файлов Sitemap, необходимо использовать кодировку UTF-8.

Другие форматы файла Sitemap

Протокол Sitemap дает возможность обеспечить поисковые системы подробной информацией о страницах, и мы рекомендуем его использовать, поскольку при этом можно указать дополнительные сведения о страницах сайта, а не только их URL. Помимо протокола XML мы также поддерживаем каналы RSS и текстовые файлы, которые предоставляют более ограниченную информацию.

Канал синдикации

Вы можете предоставить канал RSS 2.0, Atom 0.3 или 1.0. Как правило, этот формат используется только в том случае, если на сайте уже есть канал синдикации. Обратите внимание, что в этом случае поисковые системы, возможно, не получат информацию обо всех URL на вашем сайте, поскольку данный канал предоставляет информацию только по последним URL. Однако поисковые системы могут использовать эту информацию, чтобы обнаружить другие страницы сайта, переходя по ссылкам на страницах канала в процессе обычного сканирования. Убедитесь, что канал расположен в каталоге самого высокого уровня, который должен сканироваться поисковой системой. Поисковые системы извлекают информацию из канала следующим образом.

  • поле <Ссылка> – указывает URL
  • поле даты изменения (поле <Дата публикации> для каналов RSS и дата <изменения> для каналов Atom) – указывает, когда каждый URL был изменен в последний раз. Использовать поле даты изменения необязательно.

Текстовый файл

Вы можете предоставить простой текстовый файл, содержащий один URL в строке. Этот текстовый файл должен соответствовать следующим требованиям.

  • В этом текстовом файле в каждой строке должен быть только один URL. Эти URL не могут содержать новые внедренные строки.
  • Необходимо указать URL полностью, включая префикс http.
  • Каждый текстовый файл может содержать не более 50000 URL. Если сайт включает более 50000 URL, можно разделить этот список на несколько текстовых файлов и передать каждый файл отдельно.
  • Для этого текстового файла необходимо использовать кодировку UTF-8. Ее можно задать при сохранении файла (например, в программе "Блокнот" она указана в меню "Кодировка" диалогового окна "Сохранить как").
  • Этот текстовый файл не должен включать никаких других данных, кроме списка URL.
  • Этот текстовый файл не должен содержать данных заголовка или нижнего колонтитула.
  • Этому текстовому файлу можно присвоить любое имя.
  • Загрузите этот текстовый файл в каталог самого высокого уровня, который должен сканироваться поисковой системой, и убедитесь, что в файл не внесены адреса URL, находящиеся в каталоге более высокого уровня.

Ниже приведен пример строк текстового файла.

http://www.primer.ru/catalog?item=1
http://www.primer.ru/catalog?item=11М

Расширение протокола Sitemaps

Протокол Sitemap можно расширить с помощью Вашего собственного пространства имен. Просто укажите это пространство имен в корневом элементе. Например:

<?xml version='1.0' encoding='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"
         xmlns:example="http://www.example.com/schemas/example_schema"> <!-- namespace extension -->
   <url>
      <example:example_tag>
         ...
      </example:example_tag>
      ...
   </url>
</urlset>

Уведомления для сканеров поисковых систем

После того как файл Sitemap создан и размещен на веб-сервере, необходимо сообщить о местонахождении этого файла поисковым системам, поддерживающим этот протокол. Это можно сделать следующим образом.

  • передача файла Sitemap с помощью интерфейса передачи поисковой системы
  • как указать местоположение файла Sitemap в файле robots.txt
  • отправка HTTP-запроса
     

Затем поисковые системы смогут извлечь файл Sitemap и разрешить своим сканерам доступ к URL-адресам.

Передача вашего файла Sitemap с помощью интерфейса поисковой системы
 

Чтобы отправить файл Sitemap напрямую в поисковую систему, которая предоставляет возможность получать информацию о статусе и ошибках обработки, обратитесь к документации поисковой системы.

Как указать местоположение файла Sitemap в файле robots.txt
 

Можно указать местоположение файла Sitemap, используя файл robots.txt. Для этого просто добавьте следующую строку:

Sitemap: <sitemap_location>

URL <sitemap_location> должен быть полным URL для файла Sitemap, например: http://www.primer.ru/sitemap.xml

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

Передача вашего файла Sitemap с помощью запроса HTTP
 

Чтобы отправить файл Sitemap с помощью HTTP-запроса (замените <searchengine_URL>на URL, указанный поисковой системой), создайте запрос для следующего URL-адреса.

<searchengine_URL>/ping?sitemap=sitemap_url

Например, если файл Sitemap находится в архивном файле http://www.primer.ru/sitemap.gz, URL-адрес будет следующим:

<searchengine_URL>/ping?sitemap=http://www.example.com/sitemap.gz

Добавьте кодировку URL для всех символов после /ping?sitemap=:

<searchengine_URL>/ping?sitemap=http%3A%2F%2Fwww.vashsait.com%2Fsitemap.gz

Можно отправить http-запрос, используя "wget", "curl" или другой механизм по выбору. Успешный запрос возвратит код отклика HTTP 200; если получен другой отклик, необходимо повторно передать запрос. Код отклика HTTP 200 указывает только на то, что поисковая система получила Ваш файл Sitemap, но это не значит, что сам файл Sitemap или содержащиеся в нем URL допустимы. Самый простой способ — создать автоматическое задание для регулярного создания и передачи файлов Sitemap.
Примечание. Предоставляя файл индекса Sitemap, необходимо инициировать только один http-запрос, который включает местоположение файла индекса Sitemap; отправлять отдельные запросы для каждого файла Sitemap, указанного в этом индексе, не нужно.

Как исключить содержание

Протокол Sitemaps предоставляет поисковым системам информацию о содержании, которое необходимо включить в индекс. Чтобы сообщить поисковым системам о содержании, которое не следует включать в индекс, используйте файл robots.txt или метатег robots. Более подробную информацию о том, как исключить содержание из поисковых систем, см. на странице robotstxt.org.




Рекомендуем почитать


Комментарии

http://mail.ru

10.05.2018 - 13:39:56

Текс daspenare11989@mail.ru http://mail.ru №86203537

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка