Как в 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>