Правильный файл sitemap.xml или как создать карту сайта своими руками | Карта сайта для Joomla + VirtueMart с помощью компонента Xmap

"Все аспекты самостоятельного создания и продвижения сайтов
от практика с многолетним опытом." — блог Рудь Сергея
info@site-on.net
Заметка: активирована адаптивная версия сайта, которая автоматически подстраивается под небольшой размер Вашего браузера и скрывает некоторые детали сайта для удобства чтения. Приятного просмотра!
04.06.2013

Здравствуйте уважаемые читатели блога Site on! Сегодня я хочу продолжить тему "создания своими руками" и если в прошлый раз мы говорили о создании ЧПУ (SEF) ссылок, то сегодня речь пойдёт о составлении собственной XML карты сайта.

Что такое карта сайта?

Карта сайта – это древовидный (упорядоченный) список всех разделов и/или страниц сайта, который состоит из ссылок на эти страницы. Карты сайта бывают двух видов: для посетителей сайта (HTML версия) и для поисковых роботов (XML версия).

Зачем нужна карта сайта?

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

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

Ещё одно различие обычной (HTML) карты сайта от XML версии помимо всего прочего заключается в том, что в XML нам не нужно строить упорядоченный, древовидный список (чтобы было красиво и понятно), мы можем указывать URL вразброс, так как важен сам факт их наличия, а не наглядность или последовательность.

Я считаю, что, если наличие HTML версии нужно далеко не всегда, то XML я использую даже для трёхстраничных сайтов, как минимум ради "галочки" в кабинете поисковых систем и мизерного повышения траста к своим сайтам. Делать её всего пару минут, а лишней она точно не будет.

Положительные стороны наличия XML карты сайта:

Внимание!

Для файлов Sitemap должна использоваться кодировка UTF-8.

Размер XML карты сайта не должен превышать 10 MB и не должен содержать больше 50000 URL. Если ваша карта превышает данные показатели, вы можете разбить её на несколько файлов и создать файл индекса sitemap. Подробнее об этом дальше.

В XML версии все ссылки должны быть абсолютными! То есть начинаться с
http://имя_домена/

Как создать sitemap.xml своими руками?

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

http://site-on.net/sitemap.xml

Далее открываем файл на редактирование, например, с помощью редактора кода Sublime Text 2 или phpDesigner 8 и первой строчкой, без пробелов и табуляций пишем xml-пролог, в котором мы указываем кодировку:

<?xml version="1.0" encoding="UTF-8"?>

После этого идёт обязательный корневой XML-тег:

<urlset>

Он должен содержать стандарт текущего протокола:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

Затем мы перечисляем всё ссылки и их параметры, для того чтобы начать описание новой ссылки мы должны написать обязательный тег

<url></url>

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

<loc></loc>

Который, как я уже писал, будет вложен в тег <url>. В конце последнего <url> не забываем закрыть корневой элемент </urlset>. Итого минимальная карта сайта будет иметь вид:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>http://site-on.net/</loc>
   </url>
</urlset>

Ещё раз повторю, что все теги, написанные здесь обязательны - без них ваша карта сайта не будет работать вообще, так как XML не допускает ошибок! А теперь давайте поговорим о необязательных тегах, благодаря которым мы можем указывать дополнительную информацию о каждом конкретном URL, они, как и обязательный тег loc пишутся внутри тега url.

Тег lastmod

Тег

<lastmod>

Предназначен для указания даты последнего изменения страницы, дата должна быть записана по стандарту W3C Datetime. Например:

<url>
    <loc>http://site-on.net/</loc>
    <lastmod>2013-06-04T08:34:46+01:00</lastmod>
</url>

Можно опустить точное время и записывать lastmod в более привычном виде:

<lastmod>2013-06-04</lastmod>

Тег changefreq

Тег

<changefreq>

Позволяет указать приблизительную частоту изменений страницы. Его допустимые значения:

Например:

<url>
    <loc>http://site-on.net/</loc>
    <lastmod>2013-06-04</lastmod>
    <changefreq>weekly</changefreq>
</url>

В данном примере мы указали частоту обновления главной страницы: раз в неделю. Обращаю ваше внимание, что как и в случае с директивами robots.txt – тег changefreq носит лишь рекомендательный характер, поэтому если вы укажите частоту обновления страницы раз в год, то это ещё не значит что роботы будут посещать её всего лишь 1 раз в год, они могут наведываться хоть каждую неделю, если посчитают нужным.

Тег priority

И последним тегом, которым вы можете пользоваться при составлении своего файла sitemap.xml является:

<priority></priority>

Он показывает, какие страницы нужно проиндексировать как можно скорее, а какие можно и потом, то есть данный тег расставляет приоритет важности (очередь на сканирование). Значение задаётся от 0.0 до 1.0, значение для всех URL по умолчанию равно 0.5.

Внимание!

Priority – это относительная величина, поэтому нет смысла писать для всех страниц (с целью накрутки) приоритет – 1.0, это действие бессмысленно.

Priority – не влияет на позиции страниц в поисковой выдаче! Его значение влияет только на очередь индексирования между страницами вашего сайта.

Пример:

<url>
    <loc>http://site-on.net/create</loc>
    <priority>1.0</priority>
</url>
<url>
    <loc>http://site-on.net/create/html</loc>
    <priority>0.8</priority>
</url>

В каждом URL вашей карты сайта вы можете использовать разные сочетания необязательных тегов (атрибутов):

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 
<url>
    <loc>http://site-on.net/</loc>
    <lastmod>2013-06-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
</url>
<url>
    <loc>http://site-on.net/about</loc>
    <lastmod>2013-06-04T08:34:48+01:00</lastmod>
    <priority>1.0</priority>
</url>
<url>
    <loc>http://site-on.net/create</loc>
    <priority>1.0</priority>
</url> 
</urlset>

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

По стандарту, в sitemap.xml все нижеприведённые символы должны быть замаскированы с помощью соответствующих им значений в таблице:

sitemap

Вам необязательно маскировать символы вручную, вы можете воспользоваться этим сервисом: www.accessify.com

Создание файла индекса Sitemap для использования нескольких sitemap.xml

По стандарту, если у вас несколько файлов sitemap.xml, то они должны быть перечислены в файле индекса – это, как бы парадоксально не звучало, карта ваших карт сайта. То есть в файле индекса содержится перечень всех ваших файлов sitemap, в нём вы также можете пользоваться необязательным атрибутом lastmod.

Структура файла индекса полностью идентична структуре обычной карты сайта, поэтому чтобы не растягивать статью просто приведу вам пример:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <sitemap>
      <loc>http://site-on.net/sitemap1.xml</loc>
      <lastmod>2013-06-04</lastmod>
   </sitemap>
   <sitemap>
      <loc>http://site-on.net/sitemap2.xml</loc>
   </sitemap>
</sitemapindex>

Вся вышеприведённая информация взята с официального источника: www.sitemaps.org

Как создать правильную карту сайта для Joomla

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

Однако если количество страниц вашего сайта давно перевалило за 20 и постоянно растёт, то составление карты сайта своими руками теряет свою целесообразность на фоне всех неудобств и затрат времени. Поэтому ребята из Guillermo Vargas решили создать замечательный компонент для Joomla под названием XMAP, который помимо самой Джумлы имеет поддержку большинства популярных компонентов (VirtueMart, Zoo, K2 и др.).

Благодаря этому компоненту вы всего за пару минут создадите правильную карту (HTML и XML) для сайта любого объёма!

Компонент для создания карты сайта на Joomla + VirtueMart – XMAP

Актуальная версия Joomla на момент написания статьи: 2.5.11, актуальная версия XMAP: 2.3.3. Итак, скачиваем бесплатный компонент XMAP с официального сайта разработчиков, этот компонент доступен для любой версии Joomla и VirtueMart, не забудьте выбрать именно вашу версию:

карта сайта

Далее устанавливаем его стандартным способом с помощью "Менеджера расширений", затем заходим в административную панель Джумла: Компоненты/Xmap и сразу зайдём во вкладку "Расширения", чтобы включить нужные нам плагины:

Xmap

Обычно это Content, WebLinks и VirtueMart для интернет-магазинов. После чего возвращаемся на предыдущую страницу и нажимаем красивую жёлтую кнопочку "Создать" вверху справа:

создать

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

В остальном вам должно быть всё понятно, разве что я рекомендую отключить опцию "Украшать XML", так как она вовсе не к чему:

Украшать XML

После всех настроек не забываем поставить состояние "опубликовано" и нажать "сохранить и закрыть":

опубликовать и сохранить

Теперь нам остаётся лишь нажать на ссылку "XML Sitemap" и скопировать URL карты сайта в robots.txt и кабинеты Яндекса и Гугл:

XML Sitemap

Примечание:

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

Если что-то осталось непонятным или вы с чем-то не согласны – оставляйте свои комментарии, я обязательно отвечу.

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

С уважением, .
Пожалуйста, оцените эту статью
Средняя оценка: 4.84 из 5 (проголосовало: 92)
Статья оказалась вам полезной? Подпишитесь, чтобы не пропустить новые!

Ваш email:
Вы можете помочь развитию проекта, сделав всего 1 клик:
Спасибо!
Пожалуйста, прокомментируйте, как Вам моя статья?
Имя:
Комментарий:

Если Вы хотите вставить код, пожалуйста, заключайте его в [code][/code]

Подписаться на новые комментарии:

E-mail:


Защита от спама: у треугольника три...
Ответ:
Подписаться на новые комментарии без комментирования - Email:
Защита от спама: у треугольника три...
Ответ:

31.08.2013 05:19:54 Билл Брибург:
Спасибо за инструкцию!!!

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


20.09.2013 14:03:41 Кристина:
Спасибо за ваш сайт! Все очень хорошо расписано! Изучаю php вместе с Вами:)
20.01.2016 22:36:20 dima отвечает:
Мне помогла эта статья для моего сайта http://perilman.com.ua

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


20.09.2013 14:29:58 Сергей:
Спасибо за комментарии.

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


15.11.2013 01:49:08 Volodymyr:
Xmap к url который формирует VM2 добамляет Ltmid=, в результате появляются дубли. Как правильно поступить? Проблема серйозная. Нужна помощь знаючего человека.
22.11.2013 11:50:47 Сергей отвечает:
Приветствую, Volodymyr. В моих магазинах, которые используют Xmap и VM2 такой проблемы нет и не было, поэтому не могу так сразу подсказать.

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


14.01.2014 08:58:25 Сергей:
а в robots.txt я карту то и не добавил( Спасибо за статью!

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


20.03.2014 09:19:18 Анна:
Lastmode не прокатывает во втором виде, только по стандарту W3C Datetime, в противном случае Яндекс ругается.

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


20.03.2014 21:46:58 Олег Гунченко:
Мне понравилось, спасибо!

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


24.05.2014 14:18:43 Ольга:
Подскажите, пожалуйста, у меня в Инструментах для вебмастеров Google написано: «Файл Sitemap является страницей HTML», что делать? Что это значит?
24.05.2014 19:07:31 Сергей отвечает:
Добрый день, расскажите больше информации.
На чём ваш сайт, на Джумле? Если да, то используете компонент Xmap? Если да, то там есть 2 карты сайта: HTML и XML.
Вам нужна XML, а не HTML. Возможно, вы не ту указали в файле robots.txt, либо в кабинете гугла.

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


30.05.2014 15:13:33 Мимохожий:
lastmode в другом порядке Год-Месяц-Число
30.05.2014 15:53:53 Сергей отвечает:
Верно, спасибо, исправил.

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


17.09.2014 01:53:11 Инна:
Спасибо, у меня всё получилось.

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


29.11.2014 12:23:47 Марк:
Очень большое спасибо вам, настолько большое, что символом на клавиатуре не хватит.
Я никогда не мог допетрить из статей инструкций других блогеров, как правильно сделать. Пользовался программами, сервисами - вообщем ерундил.

Благодаря вашим трудам, за 3 года переодических попыток, сегодня я сделал sitemap.xml так как это должно быть.
Раньше Яндекс валидатор не находил ошибок, но и sitemap как я выяснил - был нулевой, теперь я знаю, что сайтмап не просто без ошибок, он еще и рабочий.
Спасибо.

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


22.12.2014 22:50:18 Андрей:
Спасибо за доступное описание - как правильно пользоваться программой для joomla xmap!

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


25.01.2015 22:48:52 Сергей:
более понятного объяснения и не придумаешь. спасибо за статью. буду пользоваться

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


16.04.2015 23:13:31 Гуглбот:
Сергей, sitemap.xml не дает гарантии индексации всех ссылок, google может даже не принимать во внимание этот файл
18.04.2015 09:07:05 Сергей отвечает:
Я написал: "Гарантия, что робот найдёт", а не проиндексирует. Найдёт, а что он будет делать дальше, это уже другой вопрос.

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


01.11.2015 19:25:43 Andrey:
Xmap также генерирует карту сайта для картинок... Только проблема в том, что он берет картинки из папки stories/virtuemart/product/resized (уменьшенные - хуже качество), а не из папки stories/virtuemart/product.

Подскажите, как это исправить?

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


11.12.2015 16:49:24 Данилов:
Здравствуйте! Отличная статья!
Не могли бы вы проконсультировать. Нам создали сайт по типу интернет магазина на джумле. Вместо товаров у нас скидки и акции. Их мы заполняем через компонент mosets tree. Мы хотим, чтобы наши акции индексировались, но не в курсе как прописывать теги. С нетерпением ждем вашего ответа!
23.12.2015 22:04:23 Сергей отвечает:
Добрый день. Мне не совсем понятен Ваш вопрос. Не могли бы вы переформулировать и конкретизировать вопрос?

p.s. с компонентом mosets tree не работал.

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


12.04.2016 23:34:10 Pumych:
Спасибо, создал на своем сайте по вашему описанию (lustity.com)

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


13.04.2016 19:00:47 Александр:
Єтот компонент разобет автоматически карту по 50 тис на сайте с большой количеством материалов?

Или какие методі создать карту сайта для сайта с количеством материалов более 50 тис?
15.04.2016 19:57:27 Сергей отвечает:
Добрый день. Не могу подсказать.

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


05.10.2016 09:19:22 Nikolai:
Статья отличная.Правда слегка голова закружилась,так как я первоклассник в этом деле.Но настолько доступно написана,что даже мне понятно.

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

Использую для работы
Мои расширения
Свежие статьи
Рекомендую
Горячо обсуждаемые
Подписка
  • Следовать в twitter:
  • Подписаться по RSS:
  • Подписаться по E-mail:
  • Следить ВКонтакте:
  • Следить на Facebook:
Пользовательское соглашение об условиях использования сайта и Политика конфиденциальности
Перепечатывание или копирование материалов сайта (текста, изображений и другого содержимого) для их публичного или коммерческого использования в сети Интернет, либо в печатных изданиях строго запрещены. При нарушении данного правила, с нашей стороны будут предприняты соответствующие меры, вплоть до судебной жалобы.
© site-on.net
Шрифт: +стандартно-