Карта сайта для поисковых роботов.

Что за файл: "SiteMap.XML"? Это карта сайта для поисковых роботов, написана на языке XML. Этим файлом мы управляем такими роботами, т.е. прописываем сколько у нас есть реально страниц и как часто к нам нужно заходить. Все дело в том, что если этого файла нет, поисковый робот индексирует вашу индексную(главную страницу), потом через неделю или месяц индексирует ссылки страниц которые есть на главной, а потом через неделю месяц динамические или ссылки которые есть на остальных страницах. Процес довольно долгий, при том что некоторые страницы вы можете редактировать каждый день. А с этим файлом все на много проще!!!

XML - это язык подобие HTML, разница в том, что у XML нет стандартных тегов, вы сами их можете создать и подключать библиотеки к вашим страницам. Но библиотеки мы с вами сейчас создавать не будем, а воспользуемся стандартом(библиотекой) Google. Почему ним? Дело в том, что этот поисковик первым начал использовать такого типа карты, а сейчас и Yandex прекрасно работает с этим стандартом.

Ладно не будем разводить демагогий. А расмотрим основной шаблон:

1) <?xml version="1.0" encoding="UTF-8"?>
2)   <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
3)    <url>
4)        <loc>http://www.my_site.com/index.html</loc>
5)          <lastmod>2005-01-01</lastmod>
6)         <changefreq>monthly</changefreq>
7)         <priority>0.8</priority>
8)    </url>
9)</urlset>
Теперь его разберем:
1) первая строка говорит, что этот файл создан на языке xml, версии 1.0 в кодировке UTF-8. Эта строка является обязательной;
2) Вторая строка инкапсулирует этот файл и указывает стандарт текущего протокола. Эта строка является обязательной;
3) Третья строка говорит, что это родительский тег для каждой записи URL-адреса. Остальные теги являются дочерними для этого тега. Эта строка является обязательной;
4) Четвертая строка говорит о URL-адрес страницы. Этот URL-адрес должен начинаться с префикса (например, HTTP) и заканчиваться косой чертой, если Ваш веб-сервер требует этого. Длина этого значения не должна превышать 2048 символов. Эта строка является обязательной;
5) Пятая строка говорит о дате создания или дате последнего редактирования данного URL-адреса(файла). Обратите внимание в каком формате задается дата и ни как по другому! Правта можно так: <lastmod>2009-03-24T21:24:41+00:00</lastmod> т.е.указать час,минуты и секунды относительно гринвича. Эта строка не является обязательной;
6)Шестая строка говорит как часто этот URL модифицируется. Принимает следующие значения:
always - всегда, если это предположим форум или чат и т.д.
     hourly - раз в час
     daily  - раз в сутки
     weekly - раз в неделю
     monthly - раз в месяц
     yearly - раз в год
     never - ни когда.
Эта строка не является обязательной;
7) А седьмая строка устанавливает приоритеты, для наших страниц в пределах от 0.0 до 1.0. Эти проиритеты совершено не влияют на рейтинги вашего сайта относительно других ресурсов, а только устанавливают значимость страниц с вашей точки зрения. Устанавливать всем страницам одинаковый приоритет нет смысла. Это должно выглядеть так: допустим, индексной(index.html) странице мы ставим приоритет "1.0" т.к. это главная страница сайта, а странице friend.html мы ставим "0.9" т.к. она уже подчиняется главной, а странице friend.html?fiend=vasia ставим "0.7" т.к. она не может существовать без предыдущей. Эта строка не является обязательной;
8) и 9) понятно, конец действию тегов-контейнеров.

Далее продемонстрирую карту сайта с нескольками URL:

<?xml version="1.0" encoding="UTF-8"?>
   <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
    <url>
        <loc>http://www.my_site.com/index.html</loc>
          <lastmod>2005-01-01</lastmod>
          <changefreq>monthly</changefreq>
          <priority>1.0</priority>
    </url>
    <url>
        <loc>http://www.my_site.com/friend.html</loc>
          <lastmod>2005-01-01</lastmod>
          <changefreq>monthly</changefreq>
          <priority>0.9</priority>
    </url>
    <url>
        <loc>http://www.my_site.com/friend.html?fiend=vasia</loc>
          <lastmod>2005-01-01</lastmod>
          <changefreq>monthly</changefreq>
          <priority>0.8</priority>
    </url>
</urlset>

Я умышленно показал динамический URL, т.е. страница которая изменяется взависимости от того какую она получила переменую, дело в том, что некоторые спец символы нужно маскировать:

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

т.е.
<loc>http://www.my_site.com/friend.html?fiend=vasia&soname=petrov </loc> это не правильная запись!, а правильно:
<loc>http://www.my_site.com/friend.html?fiend=vasia&amp;soname=petrov </loc>
С остальными спец.символами играйтесь сами.

Единственное, что хочу сказать, файл sitemap.xml не может содержать более 1000 URL и объемом превышать 10мБ. А если у вас более 1000 ссылок, то нужно создать один главный файл sitemap.xml и прописать в нем вспомогательные, вот таким образом:

<?xml version="1.0" encoding="UTF-8"?>
   <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
    <sitemap>
        <loc>http://www.my_site.com/sitemap1.xml</loc>
          <lastmod>2005-01-01</lastmod>
          <changefreq>monthly</changefreq>
          <priority>1.0</priority>
    </sitemap>
    <sitemap>
        <loc>http://www.my_site.com/sitemap2.xml</loc>
          <lastmod>2005-01-01</lastmod>
          <changefreq>monthly</changefreq>
          <priority>0.9</priority>
    </sitemap>
</urlset>

Обратите внимание что тег <URL> я заменил на <sitemap>
Но лучше всего использовать одну карту сайта, т.к. яндекс на тег <sitemap> ругается. Основную прописать в Robot.txt, а дополнительные в акаунтах Google и Yandex.

По карте сайта у меня все... После создания, этого файла пропишите его в robot.txt, чтобы поисковые роботы его находили. Как это сделать?, это отдельная тема моего сайта Robot.txt.


Перейти к выбору следующей страницы