Заметки и замечания, рассказы и пересказы

Ошибки lastmod в sitemap

В Эгея версии 2.8 появился свой sitemap и вроде как стало не нужно использовать костыли для его генерации, но в нем был недостаток, а именно формат даты в lastmod. На него ругался в частности валидатор от Яндекса, что довольно сильно расстраивало.

Исправить поведение довольно не сложно — было сделано на версии 3387 (e2_distr_v3387). Нужно слегка отредактировать system/core.php и искать такую конструкцию (она встречается дважды):

echo '<lastmod>';'

Конструкцию со временем менять на вот такую:

('Y-m-d\TH:i:s+03:00'

При этом не забываем обнулить user/caches.

Обратите внимание на то, что у нас появился разделитель «Т» — в коде соответcвенно «\Т», а также смещение времени по UTC — для Москвы это +03:00. Делается это в соответствии с W3C Datetime (Complete date plus hours and minutes: YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)).

Обратите внимание на выделенные части:

Результат:

PS: Проблема была как минимум до альфы-беты 2.9, в ней дату упростили, оставив по стандарту только дату без учета времени, т. е. в таком виде 2020-02-07). Проверялось на версии v3543.

Отправить
Поделиться
Запинить