sitemap.xml глючит и не показывает правильные урлы (url, alias) некоторых страниц

Оказалось, что оригинальный сниппет Sitemap глючит. Вспыло это, когда Гугл прислал отчёт с 2500 ошибками (на 10.000 товаров). Несуществующие пути.

Допустим, у страницы id=1000, alias="very_needfull_page". В sitemap.xml будет ять адрес страницы "site.ru/1000".

Ошибка происходит во время парсинга сниппета.

Решение простое. Находим строчку:

$url = ($doc['id'] != $modx->config['site_start']) ? '[(site_url)][~'.$doc['id'].'~]' : '[(site_url)]';

И меняем её на:

$url = ($doc['id'] != $modx->config['site_start']) ? $modx->makeUrl($doc['id'], '', '', 'full') : '[(site_url)]';

И делаем это ещё раз чуть дальше по коду сниппета.

Яндекс.Метрика