Собираем Sitemap

или Пусть оно само!

Первое правило оптимизации - разумная автоматизация. Пример формирования динамической карты сайта sitemap.xml

02.06.2014

Эта статья написана в далеком 2014 году, сниппет Sitemap уже устарел. 22 июля 2017г. Pathologic представил сниппет DLSitemap на базе DocLister, который следует использовать.

У вас большой сайт, просто огромный. И вы часто что-то в него добавляете, убираете, переносите в разные разделы - статьи, товары в каталог, новости… да мало ли, что может быть на сайте!? Как бывает лениво потом вносить правки в sitemap, а бывает, что просто забывается. И вроде бы ничего такого страшного не случится, но какой-то червячок точит, напоминает о вашей неаккуратности, недисциплинированности.

Оставим червячка голодным! Это очень просто - надо только подключить чудесный сниппет sitemap и правильно его настроить (а как же!).

Во-первых, где взять - простой запрос в google “sitemap modx” поможет вам найти официальный сайт ModX, и страничку сниппета на нем. А там и последняя версия сниппета под большой рыжей кнопкой. Не промахнуться!

Во-вторых, как поставить - как обычно вы ставите сниппеты. Элементы → Управление элементами → Сниппеты, и там Новый сниппет. Название: Sitemap (или sitemap, но с большой буквы - это та особая аристократичная аккуратность, в общем дело вкуса и стиля). Не забудьте про описание - укажите в нем версию и источник, откуда взяли. И наконец, скопируйте содержимое файлика в поле “Код сниппета”. Save it now!

В-третьих, создаем ресурс Sitemap с псевдонимом sitemap.xml. Шаблон можно использовать (blank) или создать специальный пустой (например, если вам нужны какие-нибудь TV-параметры для этой страницы). Эту страницу не надо показывать в меню, не надо делать доступной для поиска, отключите HTML-редактор. В параметрах страницы укажите тип text/xml. На этом настройка самого ресурса заканчивается.

Теперь нужно прописать вызов сниппета. Тут все просто: особенно много ничего настраивать не нужно. Укажем только, что не нужно вносить в карту сайта веб-ссылки. Для этого пишем &excludeWeblinks=`1`. В итоге, вызов сниппета выглядит так:

[!Sitemap? &excludeWeblinks=`1`!]

Как этим пользоваться?

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

В протоколе Sitemap есть возможность указывать ранк и частоту обновления страницы. Чтобы использовать эту возможность, создайте TV-параметры sitemap_priority для указания ранка, sitemap_changefreq для указания частоты обновления. Чтобы вам было удобно, можете сделать их в виде выпадающего меню (DropDown List Menu). Для ранка страницы можно использовать значения для списка 0.0||0.1||0.2||0.3||0.4||0.5||0.6||0.7||0.8||0.9||1.0 и 0.0 по умолчанию. Для указания частоты обновления используйте значения для списка Всегда==always||Ежечасно==hourly||Ежедневно==daily||Еженедельно==weekly||Ежемесячно==monthly||Ежегодно==yearly||Никогда==never и monthly по умолчанию.

Еще один момент, который требует вашего внимания. Посмотрите, по какому адресу доступен файл sitemap.xml. Если у вас прописан суффикс для ресурсов .html, то и файл откроется по адресу sitemap.xml.html. С этим бороться можно двумя способами (а можно не бороться, но червячок не дремлет!). Первый - поправить файл .htaccess:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.xml\.html$ $1.xml [L,R=301]

Добавляйте аккуратно, чтобы не возникало противоречий между правилами. Более “цивилизованный” способ наладить адресацию на сайте - установить плагин SEO Strict URLs, например, который и дубликаты страниц вам отсечет, и суффиксы поставит только там, где надо. Но о нем попозже...