Карта сайта sitemap.xml в MODX Revolution
MODX Revolution позволяет сгенерировать файл «sitemap.xml» на лету несколькими способами. Наиболее распространёнными дополнениями для этих целей являются сниппеты «GoogleSiteMap» и «pdoCrumbs» из пакета «pdoTools». Оба сниппета позволяют создать и настроить карту сайта за несколько минут.
GoogleSiteMap
Скачиваем и устанавливаем пакет «GoogleSiteMap».
Делается это через верхнее меню «Пакеты — Установщик».Создаем новый ресурс и заполняем его следующим образом:
В содержимом ресурса вызываем сниппет:
[[!GoogleSiteMap]]
Карта сайта выводится в xml формате, поэтому переходим на вкладку «Настройки» и устанавливаем тип содержимого — XML:
Сохраняем и получаем по адресу «http://ваш_сайт/sitemap.xml» сгенерированную карту сайта (при условии что настроено ЧПУ, иначе адрес к sitemap будет другим).
Если требуется вывести карту сайта без параметров «lastmod» или «priority» то создайте новый чанк (например, с именем GoogleSiteMapChank) и поместите в его содержимое только те параметры, которые нужны. По умолчанию он выглядит следующим образом:
<url> <loc>[[+url]]</loc> <lastmod>[[+date]]</lastmod> <changefreq>[[+update]]</changefreq> <priority>[[+priority]]</priority> </url>
Для сайтов, которые обновляются крайне редко, будет полезным оставить только параметр «loc», ведь поисковым машинам не обязательно знать, что страницы сайта обновляются редко.
Осталось в сниппет добавить параметр «itemTpl», передав ему название созданного чанка:
[[!GoogleSiteMap? &itemTpl=`GoogleSiteMapChank`]]
pdoCrumbs
Сниппет «pdoCrumbs» работает аналогичным образом. Для начала требуется установить пакет «pdoTools» и создать страницу, как описывалось выше.
Содержимое будет следующим:
[[pdoSitemap? &parents=`-2` &itemTpl=`@INLINE <url><loc>[[+url]]</loc></url>` ]]
Параметр «parents» не обязателен, но полезен, если требуется исключить из карты сайта какие-то разделы, например, с идентификатором 2.
Шаблон одного элемента можно задать как через чанк, так и в виде строки.
Сайт генерирует сайтмап, но главная страница получается вот с таким урл: mysite.ru/1
Подскажите, пожалуйста, как это исправить?