Ошибка карты сайта XML: пустой тег loc в MODX Revo
Каждый день многие из вас сталкиваются с различными трудностями в использовании вашего сайта. Так, одной из проблем в CMS MODX Revolution при создании карты сайта через сниппет pdoSitemap является то, что при проверке валидации вашей карты Яндексом вы можете наблюдать сообщение типа:
1820 Нет данных в теге loc
Паниковать не стоит, ведь решение этот проблемы я нашел.
Что это значит и почему выскакивает эта ошибка?
Все дело в том, что при генерации карты собираются данные со всего сайта. Тег loc отвечает за адрес каждого отдельного вашего ресурса, и поскольку адрес этот уникальный (у двух разных ресурсов не может быть один и тот же адрес), то при дублировании этого адреса в одном из материалов тег loc становится пустым.
Как решить эту проблему?
Все очень просто. Если у вас не так много материалов на сайте, то просто вручную откройте каждый и найдите, где же есть совпадения в графе «Псевдоним».
Псевдоним – это и есть адрес вашего ресурса.
Если материалов достаточно много, как было у меня (порядка 8000 единиц), то можно поступить следующим образом.
1. Зайдите в панель управления вашим сайтом.
2. Перейдите в меню «Приложения», пункт «Установщик».
3. На открывшейся странице нажмите «Загрузить дополнения».
4. Далее в форму поиска введите «GoogleSiteMap», нажмите «Enter» и в предложенных результатах выберите «Загрузить» под «GoogleSiteMap».
5. Затем жмете «Управление пакетами» и на открывшейся странице ищете «GoogleSiteMap» и жмете «Установить».
Как только установка будет запущена, выпадет окно, где красным будет подсвечены ID ресурсов, в которых и повторяются адреса.
Запоминаете их, открываете раздел ваших ресурсов и ищете эти материалы.
А дальше все просто – делаете различные псевдонимы у одинаковых ресурсов.
Если пакет «GoogleSiteMap» вам больше не нужен, то просто перейдите в меню «Приложения», пункт «Установщик», нажмите «Деинсталлировать», а затем – «Удалить».
Надеюсь, эта статья поможет вам в решении данной проблемы.
До новых встреч.