Выглядит sitemap xml. Создание Sitemap

Карта сайта (sitemap) — это html страница сайта или специальный xml файл , в котором отражены ссылки на все важные страницы сайта. Чтобы понять, что такое карта сайта, достаточно представить книжное оглавление и сразу же станет ясно, зачем нужна карта сайта . Карта сайта помогает посетителю, будь это человек или поисковый робот, быстро найти любую страницу сайта, совершая минимальное число переходов. На простых, небольших сайтах все страницы могут быть доступны через 1-2 клика от главной страницы, но что делать, если сайт большой и структура его непроста? Подобный сайт будет неудобен не только посетителям, но и неочевиден для поисковых систем.

Какие бывают карты сайта

Поисковые системы индексируют сайт постепенно, уровень за уровнем, начиная с главной страницы. Если на сайте много уровней вложенности страниц, то пока все страницы сайта проиндексируются пройдут многие месяцы. Значит, необходимо создать карту сайта , на которой будут все ссылки на все страницы сайта сразу, чтобы робот не тратил время на переходы по уровням вложенности, верно? И да и нет. Ответ зависит от того зачем делается карта и какой она будет. Давайте рассмотри, какие бывают карты сайта .

Карта сайта HTML Sitemap

Карты сайта делятся на 2 основных вида или формата: карта сайта html и карта сайта файл xml. HTML карта сайта — это страница сайта , на которой перечислены ссылки. Обычно это ссылки на самые важные разделы и страницы сайта. HTML карта сайта больше рассчитана на людей , нежели на роботов и помогает быстрее ориентироваться в основных разделах сайта. Для карты сайта в виде html-страницы существуют серьезные ограния по количеству ссылок на одной странице. Если на странице будет слишком много ссылок, далеко не все ссылки могут быть проиндексированы или вовсе страница карты сайта может быть исключена из поиска за чрезмерное количество ссылок, пусть даже .

Для того, чтобы карта сайта html правильно индексировалась и адекватно воспринималась посетителями не стоит размещать на странице более 100 ссылок. Этого более чем достаточно, чтобы разместить на странице все разделы и подразделы, которые не влезли в основное меню.

Обычно, карта сайта в формате HTML имеет древовидную структуру, где указаны развернутые разделы и подразделы. Излишне громоздкие HTML карты сайта, зачастую оформляются графическими элементами, CSS-стилями и дополняются Java-script. Однако, карта сайта html не имеет большого значения для поисковых систем.

HTML карта сайта — это не есть полноценный sitemap. Как же быть, если на сайте сотни, тысячи, десятки тысяч страниц? Для этого необходимо разместить ссылки на все страницы в карте сайта в формате xml.

Карта сайта XML Sitemap

XML карта сайта — это файл формата xml, вида sitemap.xml , который обычно находится в корне сайта. У карты сайта в формате xml есть множество преимуществ перед html картой сайта. Sitemap xml — это специальный формат карты сайта , который определяется всеми популярными поисковыми системами, например Google и Яндекс. В xml sitemap можно указать до 50.000 ссылок . Более того, в sitemap xml можно указать относительный приоритет и частоту обновления страниц.

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

Карта сайта xml имеет определенный синтаксис, давайте рассмотрим структуру xml карты сайта подрбнее.

Пример файла карты сайта sitemap.xml

Правильный sitemap.xml должен иметь кодировку UTF8 . Содержимое файла карты сайта sitemap.xml выглядит следующим образом:

http://mysite.ru/ 2014-09-18T18:54:13+04:00 always 1.0 http://mysite.ru/category/ 2014-09-18T18:57:09+04:00 hourly 0.8 http://mysite.ru/page/ 2014-09-18T18:59:37+04:00 daily 0.6

Где используются следующие обязательные теги:

  • — родительский тег, в него заключаются все url-адреса;
  • — тег, в котором указываются сведения о конкретном url-адресе;
  • — в данном теге указывается непосредственно url.
  • — этот тег заключает в себе дату последнего изменения страницы;
  • — тег используется, чтобы указать насколько часто изменяется страница: always, hourly, daily, weekly, monthly, yearly, never;
  • — указывает приоритет определенной страницы, относительно других страниц сайта от 0,1 – низкий приоритет, до 1 – высокий приоритет.

Так же, в файле карты сайта в формате xml должно содержаться указание на пространство имен языка XML:

Xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"

Если файл карты сайта включает более 50 тысяч ссылок или размер sitemap.xml превышает 10 мб, рекомендуется разделить карту сайта на несколько файлов. В таком случае, в карте сайта необходимо указать несколько ссылок на разные файлы карт.

http://mysite.ru/sitemaps/sitemap01.xml 2014-09-18T18:54:13+04:00 http://mysite.ru/sitemaps/sitemap02.xml 2014-09-18T18:54:13+04:00

Здесь используются уже знакомые нам теги и , а так же обязательные теги:

  • — родительский тег, в который заключаются адреса всех карт сайта;
  • — тег, в котором заключается параметры для каждой карты сайта.

Пример файла карты сайта sitemap.txt

Еще одним способом оформления карты сайт в виде файла может быть карта сайта в формате txt:

1. http://mysite.ru/ 2. http://mysite.ru/page/ 3. http://mysite.ru/page1/

Все просто. В файле sitemap.txt построчно перечисляются все необходимые ссылки. Карта сайта в формате txt — это «вариант для ленивых». Здесь работает аналогичное sitemap xml ограничение в 50.000 ссылок. Однако, TXT карта сайта лишена возможностей указания даты последнего изменения и приоритета страницы.

Как создать карту сайта

Создание карты сайта важный процесс, в котором необходимо четко указать, какие страницы сайта нужно индексировать и как лучше их индексировать. В зависимости от того о каком типе карты сайта идет речь, используются различные способы создания карты сайта . Как создать html карту сайта обсуждать отдельно смысла нет. Рассмотрим как сделать карту карта в формате xml файла. Существует несколько основных способов создания карты сайта, но все их объединяет то, где находится карта сайта и как файл sitemap определяется поисковыми системами.

Как уже было написано выше — файл карты сайта размещается в корне сайта . Поисковые системы способны самостоятельно обнаружить файл карты сайта. Но существует несколько способов указания прямой ссылки на файл(ы) карты сайта(ов) для более скорого обнаружения поисковыми системами. Самый простой способ указать место расположения файла карты сайта — это непосредственное указание ссылки или нескольких ссылок на файлы карт сайта в инструментах для вебмастеров от Yandex и Google. Там же можно проверить карту сайта , провести анализ карты сайта на корректность , соответствие того, какие страницы из карты сайта найдены поисковой системой и сколько из них находится в индексации.

Второй способ указать поисковым системам на расположение файла карты сайта — это .

Sitemap: http://mysite.ru/sitemap.xml

В robots.txt можно указать несколько файлов sitemap, после чего, он автоматически будут добавлены в инструменты для вебмастеров. Как найти карту сайта мы рассмотрели, теперь перейдем к тому, как создать карту сайта.

Основные способы создания карты сайта

  1. Генерация карты сайта силами системы управления сайта, если CMS имеет подобную встроенную возможность.
  2. Скачать карту сайта со стороннего онлайн сервиса. Существует множество online генераторов карт сайта с различным возможностями и ограничениями. Напрмер xml-sitemaps.com обладает возможностью настройки параметров карты сайта, но имеет ограничение по количеству ссылок в файле sitemap.xml в 500 штук.
  3. Скачать программу-генератор карты сайта . Подобные программы генераторы обычно платные, но при их помощи можно можно регулярно генерить sitemap xml для одного или нескольких сайтов. Вот пара примеров подобных программ-генераторов: SiteMap XML Dynamic SiteMap Generator, WonderWebWare SiteMap Generatior.
  4. Автоматическое создание sitemap карты сайта в Joomla (Джумла), WordPress (Вордпресс), Bitrix (Битрикс).
  5. Создание карты сайта вручную .

Карта сайта — один из важнейших инструментов . Не важно, как будет создана карта сайта. Важно — какие ссылки будут перечислены в карте сайта и как часто она будет обновляться. Иногда, в карту сайта выгружается все подряд и даже те ссылки, которые запрещены в robots.txt или . А обновление карты сайта происходит раз в месяц или реже. Подобное отношение к карте сайта может не просто сделать ее бесполезной, но того хуже — запутать поискового робота, что негативно отразится на индексации и позициях сайта в поиске.

Создайте карту сайта для своего ресурса. Но будте внимательны и хорошо подумайте, что выгружать в sitemap, а что нет.

Файлы robots.txt и sitemap.xml дают возможность организации индексации сайта. Эти два файла хорошо дополняют друг друга, хотя в то же время решают противоположные задачи. Если robots.txt служит для запрета индексации целых разделов или отдельных страниц, то sitemap.xml, напротив, подсказывает поисковым роботам, какие именно УРЛ-адреса нужно индексировать. Разберем каждый из файлов в отдельности.

Файл robots.txt

robots.txt - это файл, в который записываются правила, ограничивающие доступ поисковым роботам к каталогам и файлам сайта для того, чтобы избежать попадания их содержимого в индекс поисковых систем. Файл обязательно должен располагаться в корневой директории сайта и быть доступен по адресу: site.ru/robots.txt.

В robots.txt нужно закрывать от индексации все дублирующиеся и служебные страницы сайта. Часто общедоступные CMS создают дубли, статьи могут быть доступны по нескольким УРЛ-адресам одновременно, например; в категориях site.ru/category/post-1/ , тегах site.ru/tag/post-1/ и архиве site.ru/arhive/post-1/ . Для того, чтобы не было дублей, необходимо запретить индексацию тегов и архива, в индексе останутся только категории. Под служебными страницами, я имею в виду, страницы администраторской части сайта и автоматически генерируемые страницы, например: выдачу при поиске на сайте.

От дублей просто необходимо избавляться, так как они лишают страницы сайта уникальности. Ведь если в индексе находятся несколько страниц с одинаковым содержимым, но доступные по разным УРЛ-адресам, то контент ни одной из них не будет считаться уникальным. В следствие этого поисковые системы принудительно будут занижать позиции таких страниц в выдаче.

Директивы robots.txt

Директивы - это правила или можно еще сказать команды для поисковых роботов. Самой главной является User-agent , с ее помощью можно установить правила для всех роботов или для конкретного бота. Эта директива прописывается вначале, а после нее указываются все остальные правила.

# Для всех роботов User-agent: * # Для робота Яндекса User-agent: Yandex

Еще одной обязательной директивой является Disallow , с ее помощью закрываются разделы и страницы сайта, а ее противоположностью является директива Allow , которая напротив принудительно разрешает индексировать указанные разделы и страницы сайта.

# Запрещаем индексацию раздела Disallow: /folder/ # Разрешаем индексацию подраздела с картинками Allow: /folder/images/

Для того, чтобы указать главное зеркало сайта, например: с www или без, используется директива Host . Стоит отметить, что главное зеркало прописывается без указания http:// протокола, а вот https:// протокол необходимо указывать. Host понимают только боты Яндекса и Mail.ru и прописывать директиву нужно только один раз.

# Если главное зеркало работает по http протоколу без www Host: site.ru # Если главное зеркало работает по https протоколу c www Host: https://www.site.ru

Sitemap - директива, указывающая путь к файлу sitemap.xml, путь необходимо указывать полностью с протоколом, прописывать данную директиву разрешается в любом месте файла.

# Указываем полный путь к файлу sitemap.xml Sitemap: http://site.ru/sitemap.xml

Для упрощения написания правил существуют специальные символьные операторы:

  • * - обозначает любое кол-во символов, а так же их отсутствие;
  • $ - обозначает, что символ стоящий перед знаком доллара, последний;
  • # - обозначает комментарий, все что находиться в строке после данного оператора будет проигнорировано поисковыми роботами.

После знакомства с основными директивами и специальными операторами уже можно набросать содержимое простенького файла robots.txt.

User-agent: * Disallow: /admin/ Disallow: /arhive/ Disallow: /tag/ Disallow: /modules/ Disallow: /search/ Disallow: *?s= Disallow: /login.php User-agent: Yandex Disallow: /admin/ Disallow: /arhive/ Disallow: /tag/ Disallow: /modules/ Disallow: /search/ Disallow: *?s= Disallow: /login.php # Разрешаем роботом Яндекса индексировать изображения в разделе modules Allow: /modules/*.png Allow: /modules/*.jpg Host: site.ru Sitemap: http://site.ru/sitemap.xml

Ознакомиться с подробным описанием всех директив с примерами их использования можно в публикации на сайте Яндекса в разделе помощь .

Файл sitemap.xml

sitemap.xml - это так называемая карта сайта для поисковых систем. Файл sitemap.xml содержит информацию для поисковых роботов, о страницах сайта, которые необходимо индексировать. В содержимом файла обязательно должны быть указанны УРЛ-адреса страниц, а необязательно можно указать приоритет страниц, частоту переобхода страниц, дату и время последнего изменения страниц.

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

Вывод напрашивается один: что файлы robots.txt и sitemap.xml необходимы. Правильная настройка индексации - это один из факторов нахождения страниц сайта на более высоких местах в поисковой выдаче, а это цель любого более-менее серьезного сайта.

Если основное предназначение robots.txt – это запрет индексации, то карта сайта sitemap.xml выполняет прямо противоположные задачи. Она отвечает за ускорение индексации сайта и полноту индексации сайта.

Sitemap.xml указывает поисковой системе частоту, с которой возникает необходимость в переиндексации страниц. В этом плане карта сайта особенно важна для сайтов с регулярно обновляющимся контентом (новостные порталы и т. п.). Кроме того, sitemap.xml содержит все важные страницы сайта с указанием их приоритета.

Требования, предъявляемые к карте сайта

Файл Sitemap представляет собой XML-файл, в котором перечислены URL-адреса веб-сайта в сочетании с метаданными, связанными с каждым URL-адресом (дата его последнего изменения; частота изменений; его приоритетность на уровне сайта), чтобы поисковые системы могли более грамотно сканировать этот сайт.

Общее число sitemap.xml на сайте не должно превышать 1000, при этом число записей (урлов) в каждом не должно превышать 50 000 штук.

Если необходимо перечислить более 50 000 URL-адресов, следует создать несколько файлов Sitemap.

Карту сайта можно сжать gzip архиватором для уменьшения его размера. Но объем каждого сайтмапа в развернутом (разархивированном) виде не должен превышать 10 мегабайт.

Карта сайта не обязательно должна быть в виде xml файла. Протокол допускает генерацию карты в виде синдикации (RSS или Atom) либо в виде простого текстового файла с построчным перечислением URL. Но такие «карты сайта» либо не включают в себя все URL сайта (в случае с синдикацией), либо не несут дополнительную важную информацию (дата и время модификации контента страниц), собственно ради которой и используют в SEO карты сайта.

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

Сочетание карты сайта с robots.txt и метатегами robots

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

  • sitemap.xml, robots.txt и метатеги robots не должны противоречить друг другу;
  • все страницы, исключенные (заблокированные) в robots.txt и метатегами robots, должны быть исключены также из sitemap.xml;
  • все индексируемые страницы, разрешенные в robots.txt, должны содержаться в sitemap.xml

Исключения из трех правил

Есть и исключения из этих трех правил. И, как всегда, они связаны со страницами пагинации. Начиная со второй и далее страницы пагинации, мы прописываем noindex,follow в метатегах robots, при этом в robots.txt страницы пагинации не закрыты от индексирования.

Дату и время изменения страницы ставить равную дате и времени изменения главной (первой, основной странице) страницы каталога. В принципе, с этим можно согласиться.

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

Основные проблемы при использовании sitemap.xml

При выполнении , мне наиболее часто встречались следующие ошибки:

  1. Несоответствие sitemap.xml страницам сайта, устаревший сайтмап. Эта проблема возникает, когда сайтмап генерируется не динамически, а эпизодически, запуском какой то службы в CMS, а то и сторонними сервисами. При этом возникает масса мертвых страниц, отдающих 404 ошибку (это если страницу физически удалили или перенесли в другое место, сменили адрес URL). Кроме того, новые страницы индексируются значительно медленнее, ибо не находятся в sitemap.xml.
  2. Следующая ошибка – неверная структура sitemap.xml. Эта ошибка возникает, как правило, на «самописных» CMS или при использовании неверных плагинов к популярной CMS. При этом генерируется файл sitemap.xml с нарушением структуры, описанной протоколом.
  3. Модификация этой ошибки – неверная работа с датой изменения записи. С точки зрения протокола — это не ошибка, так как поле lastmod не является обязательным. С точки зрения SEO и поисковых систем, отсутствие правильного значения в этом поле (совпадающее с непосредственным изменением контента) — полностью нивелирует значимость всего файла sitemap.xml. Как было сказано выше, ПС будут переиндексировать те страницы, поле lastmod которых изменилось.Что произойдет, если это поле меняется одновременно у всех записей (страниц) сайта. То есть дата модификации одинакова у всех файлов сайта. Скорее всего, ПС не будут обращать внимание на sitemap и сайт будет переиндексироваться обычным способом, при этом глубоко расположенные страницы либо не переиндексируются вовсе, либо будут переиндексироваться очень долго.Итак, Необходимо или вовсе не использовать поле lastmod (что плохо), либо ставить дату последнего значимого изменения страницы, например, когда поменялась цена или товар закончился или изменилось описание.
  4. Следующая группа встречаемых ошибок – логические, вызваны нарушением трех правил о сочетании robots.txt и sitemap.xml. В этом случае можно наблюдать постоянное попадание страницы в индекс и немедленный вылет оттуда. Однако, это не будет наблюдаться при наличии метатега noindex и записи в Sitemap.xml. В этом случае краулер (робот, паук ПС), зашедший на страницу индексировать её не будет.
  5. Ну и последняя ошибка, часто встречающаяся на сайтах — наличие «осиротевших страниц». Это такие страницы, на которые стоит ссылка из sitemap, но нет ни одной прямой ссылки с любой из страниц сайта. Часто это связано с тем, что страницы были удалены «логически» (например в WordPress помещены в корзину), а не физически. Это так же наблюдается на сайтах, где доступ к карточкам товаров сделано на скриптах и фильтрах способом, который не позволяет проиндексировать результаты работ этих скриптов. Возможны и иные причины возникновения таких страниц-сирот. Все это снижает доверие поисковых систем к сайту и является негативным сигналом ранжирования.

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