Jump to main content Jump to doc navigation

Зачем отдельный сниппет, если getResources может собрать XML-карту сайта для Google.

Понадобится несколько элементов:

  • набор TV для данных Sitemap: частота изменений, приоритет и другие;
  • ресурс для sitemap.xml;
  • tpl-чанк для getResources.

TV

Сначала создайте категорию для TV, назовите её «Search Tools». Так проще организовать их на вкладке переменных шаблона. При создании каждой TV разрешите доступ ко всем нужным шаблонам.

Change Frequency сообщает Google, как часто вы ожидаете обновление страницы.

  1. Имя: change-frequency, категория Search Tools.
  2. Тип ввода: DropDown List
  3. Значения: always||hourly||daily||weekly||monthly||yearly||never
  4. Рекомендуемое значение по умолчанию: monthly

Google Sitemap Priority сообщает Google, насколько важна каждая страница. Значение 1 для всех страниц индексацию не улучшит :)

  1. Имя: google-site-map-priority, категория Search Tools.
  2. Тип ввода: DropDown List
  3. Значения: .1||.2|| .3|| .5|| .6|| .7|| .8|| .9|| 1
  4. Рекомендуемое значение по умолчанию: .5

Чанк

Создайте чанк с именем: google-sitemap-tpl

<url>
  <loc>[[~[[+id]]? &scheme=`full`]]</loc>
  <lastmod>[[+editedon]]</lastmod>
  <priority>[[+tv.google-site-map-priority]]</priority>
  <changefreq>[[+tv.change-frequency]]</changefreq>
</url>?

Страница

Создайте страницу в корне сайта с именем «sitemap.xml». Отметьте «Скрыть из меню». Шаблон: <empty>. На вкладке «Настройки страницы» установите тип содержимого xml. Вставьте код ниже. После сохранения проверьте, что псевдоним ресурса равен sitemap.xml, и ресурс опубликован.

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

Если у вас больше 500 ресурсов или глубина больше 10 уровней, измените limit и depth в вызове сниппета.

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • deJaya
  • JT Skaggs
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$204 per month—let's make that $500!

Learn more