DLSitemap - Карта сайта на DocLister
- Дополнения
- DLSitemap
DLSitemap - Карта сайта на DocLister
Несколько дней назад я обнаружил, что популярный сниппет sitemap для карты в ~60 документов выполнил аж 364 запроса. Так что пришла пора отправить его на свалку и заменить DocLister'ом в виде сниппета DLSitemap (который построил ту же карту за 2 запроса).
Ничего особо интересного в нем нет, разве что я позаимствовал из pdoTools такую фишку:
Приоритет и частота обновления для поисковиков устанавливаются в зависимости от последней даты изменения документа
Это будет работать, если не задавать для документов tv-параметры sitemap_priority и sitemap_changefreq (названия можно менять с помощью параметров priority и changefreq). Или можно написать при вызове сниппета &tvList=''
.
Параметр prepare занят для нужд сниппета, поэтому используйте BeforePrepare и AfterPrepare.
Убрать из карты ненужные документы можно с помощью соответствующих параметров DocLister'а. Параметры по умолчанию — в конфиге sitemap.json.
<?php /** * DLSitemap * * Snippet to build XML sitemap * * @category snippet * @version 1.0.0 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @properties * @internal @modx_category Content * @internal @installset base, sample */ return require MODX_BASE_PATH.'assets/snippets/DocLister/snippet.DLSitemap.php';