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-теги.
Маскирование символов
В файле Sitemap должна использоваться кодировка UTF-8 (обычно ее можно выбрать при сохранении данного файла). В XML-файлах для всех значений данных (включая URL-адреса) должно использоваться маскирование символов, перечисленных ниже в таблице.
Символ | Маскирование | |
---|---|---|
Амперсанд | & |
& |
Одинарные кавычки | ' |
' |
Двойные кавычки | " |
" |
Больше | > |
> |
Меньше | < |
< |
Кроме того, для всех 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 (для размещения на сервере, который использует эту кодировку) и с использованием маскирования:
Ниже приведен тот же URL-адрес, но с использованием маскирования:
В следующем примере показан файл Sitemap в XML-формате. Sitemap в этом примере содержит небольшое число URL-адресов, каждый из которых использует разное сочетание необязательных параметров.
Можно предоставить несколько файлов Sitemap, однако в каждом из этих файлов должно быть не более 50000 URL, а размер каждого из этих файлов не должен превышать 10 МБ. При необходимости файл Sitemap можно сжать с помощью архиватора gzip, чтобы его размер не превышал 10 МБ, и тем самым уменьшить требования к пропускной способности канала. Если необходимо перечислить более 50000 URL, следует создать несколько файлов Sitemap.
Если требуется передать несколько файлов Sitemap, необходимо перечислить каждый из этих файлов в файле индекса Sitemap. В файле индекса Sitemap может быть перечислено не более 1000 файлов Sitemap. Размер этого файла не должен превышать 10 МБ. Формат XML-файла индекса Sitemap очень похож на формат XML-файла Sitemap.
Файл индекса 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 дает возможность обеспечить поисковые системы подробной информацией о страницах, и мы рекомендуем его использовать, поскольку при этом можно указать дополнительные сведения о страницах сайта, а не только их URL. Помимо протокола XML мы также поддерживаем каналы RSS и текстовые файлы, которые предоставляют более ограниченную информацию.
Вы можете предоставить канал RSS 2.0, Atom 0.3 или 1.0. Как правило, этот формат используется только в том случае, если на сайте уже есть канал синдикации. Обратите внимание, что в этом случае поисковые системы, возможно, не получат информацию обо всех URL на вашем сайте, поскольку данный канал предоставляет информацию только по последним URL. Однако поисковые системы могут использовать эту информацию, чтобы обнаружить другие страницы сайта, переходя по ссылкам на страницах канала в процессе обычного сканирования. Убедитесь, что канал расположен в каталоге самого высокого уровня, который должен сканироваться поисковой системой. Поисковые системы извлекают информацию из канала следующим образом.
Вы можете предоставить простой текстовый файл, содержащий один URL в строке. Этот текстовый файл должен соответствовать следующим требованиям.
Ниже приведен пример строк текстового файла.
Протокол Sitemap можно расширить с помощью Вашего собственного пространства имен. Просто укажите это пространство имен в корневом элементе. Например:
После того как файл Sitemap создан и размещен на веб-сервере, необходимо сообщить о местонахождении этого файла поисковым системам, поддерживающим этот протокол. Это можно сделать следующим образом.
Затем поисковые системы смогут извлечь файл Sitemap и разрешить своим сканерам доступ к URL-адресам.
Чтобы отправить файл Sitemap напрямую в поисковую систему, которая предоставляет возможность получать информацию о статусе и ошибках обработки, обратитесь к документации поисковой системы.
Можно указать местоположение файла Sitemap, используя файл robots.txt. Для этого просто добавьте следующую строку:
URL <sitemap_location> должен быть полным URL для файла Sitemap, например: http://www.primer.ru/sitemap.xml
Эта инструкция не зависит от строки агента пользователя, поэтому неважно, где она размещается в файле. При наличии файла индекса Sitemap можно включить местоположение только этого файла. Перечислять каждый отдельный файл Sitemap, указанный в файле индекса, не нужно.
Чтобы отправить файл Sitemap с помощью HTTP-запроса (замените <searchengine_URL>на URL, указанный поисковой системой), создайте запрос для следующего URL-адреса.
Например, если файл Sitemap находится в архивном файле http://www.primer.ru/sitemap.gz, URL-адрес будет следующим:
Добавьте кодировку URL для всех символов после /ping?sitemap=:
Можно отправить http-запрос, используя "wget", "curl" или другой механизм по выбору. Успешный запрос возвратит код отклика HTTP 200; если получен другой отклик, необходимо повторно передать запрос. Код отклика HTTP 200 указывает только на то, что поисковая система получила Ваш файл Sitemap, но это не значит, что сам файл Sitemap или содержащиеся в нем URL допустимы. Самый простой способ — создать автоматическое задание для регулярного создания и передачи файлов Sitemap.
Протокол Sitemaps предоставляет поисковым системам информацию о содержании, которое необходимо включить в индекс. Чтобы сообщить поисковым системам о содержании, которое не следует включать в индекс, используйте файл robots.txt или метатег robots. Более подробную информацию о том, как исключить содержание из поисковых систем, см. на странице robotstxt.org.http://www.example.com/%C3%BCmlat.html&q=name
http://www.example.com/%C3%BCmlat.html&q=name
Пример XML-файла Sitemap
<?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&desc=vacation_hawaii</loc>
<changefreq>weekly</changefreq>
</url>
<url>
<loc>http://www.example.com/catalog?item=73&desc=vacation_new_zealand</loc>
<lastmod>2004-12-23</lastmod>
<changefreq>weekly</changefreq>
</url>
<url>
<loc>http://www.example.com/catalog?item=74&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&desc=vacation_usa</loc>
<lastmod>2004-11-23</lastmod>
</url>
</urlset>
Использование файлов индекса Sitemap (для создания группы из нескольких файлов Sitemap)
<sitemapindex>
, а в конце поставьте закрывающий тег </sitemapindex>
.<sitemap>
для каждого файла Sitemap как родительский XML-тег.<loc>
для каждого <sitemap>
родительского тега.<lastmod>
также доступен для файлов индекса Sitemap.
Другие форматы файла Sitemap
Канал синдикации
Текстовый файл
http://www.primer.ru/catalog?item=1
http://www.primer.ru/catalog?item=11М
Расширение протокола Sitemaps
<?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 в файле robots.txt
Sitemap: <sitemap_location>
Передача вашего файла Sitemap с помощью запроса HTTP
<searchengine_URL>/ping?sitemap=sitemap_url
<searchengine_URL>/ping?sitemap=http://www.example.com/sitemap.gz
<searchengine_URL>/ping?sitemap=http%3A%2F%2Fwww.vashsait.com%2Fsitemap.gz
Примечание. Предоставляя файл индекса Sitemap, необходимо инициировать только один http-запрос, который включает местоположение файла индекса Sitemap; отправлять отдельные запросы для каждого файла Sitemap, указанного в этом индексе, не нужно.
Как исключить содержание
Рекомендуем почитать
Комментарии
|