Как в ModX Revolution сделать карту сайта (sitemap.xml)

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

Сниппет GoogleSiteMap

  • Создайте ресурс с именем sitemap.xml Тип содержимого (Content Type) - XML, шаблон - Пустой Blank template
  • Установите дополнение GoogleSiteMap
  • В содержимое поле контента вставьте вызов сниппета [[!GoogleSiteMap?]], отключив при этом редактор кода и сохраните.

Карта сайта готова!

Параметры GoogleSitemap

ПараметрОписаниеПо-умолчанию
allowedtemplatesВыборка по указанным ИД шаблонов 
containerTplКонтейнер карты сайтаgContainer
contextКонтекст вывода элемнтов сайтаweb
excludeChildrenOfИсключить дочерние элементы у ресурса с ИД (указываем) 
excludeResourcesИсключить ресурсы с ИД 
googleSchemaСсылка на структуру схемыhttp://www.sitemaps.org/schemas/sitemap/0.9
hideDeletedСкрывать удалённые ресурсыYes
itemTplЧанк вывода отдельного элемента картыgItem
maxDepthГлубина выборки (по-умолчанию - на всю глубину)0
priorityTV  
publishedВыводить опубликованныеYes
searchableВыводить те, что в поискеYes
showHiddenПоказывать скрытые от менюNo
sortByСортировать по полюmenuindex
sortByAliasСортировать по псевдонимуmodResource
sortDirНаправление сортировкиASC
startIdПостроение карты начинать с элемента с ИД0
templateFilterФильтр по шаблонуid
whereУсловие в формате JSON 

Теперь зайдите в свои панели вебмастеров Яндекса и Google и укажите путь к вашей карте сайта.

Создание карты сайта с помощью getResources

Иногда бывает так, что данный способ не подходит, тогда берём проверенный сниппет getResources и с его помощью создаём необходимую карту сайта.
Как же это сделать.
Для начала создаём шаблонирующий чанк googleSitemap.tpl:

Код
<url> <loc>[[~[[+id]]? &scheme=`full`]]</loc> <lastmod>[[+editedon]]</lastmod> <priority>5</priority> <changefreq>monthly</changefreq> </url>

lastmod - дата последнего редактирования
priority - приоритет от 1 до 9. Выбираем 5.
changefreq - частота изменения ресурса, возможные значения: always, hourly, daily, weekly, monthly, yearly, never

Создаём ресурс в корне сайта с именем sitemap.xml назначаем ему алиас (псевдоним) sitemap, тип вывода xml, шаблон - пустой. Ставим галочку - скрыть от меню (hide from menu).

Обратите внимание, что шаблон Пустой, значит не Base Template, а blank

Далее в поле Содержимое (content) помещаем вызов getResources:

Код
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84"> [[getResources? &parents=`0` &tpl=`googleSitemap.tpl` &limit=`500` &sortdir=`DESC` &includeTVs=`1` &processTVs=`1` &depth=`10` &sortby=`publishedon` ]] </urlset>
6884