RSS и элемент guid




   GUID - это глобальный уникальный идентификатор. Элемент guid в RSS ленте определяет уникальность поста, и, в большинстве случаев, в это поле помещают адрес страницы, т. е. фактически дублирует элемент link.

   В принципе этот элемент не является обязательным, и нужен для зашиты от дублирования при переносе контента на другой адрес. Но Feed Validation Service (https://validator.w3.org/feed/) относится к этому элементу трепетно и, в случае его отсутствия, выдает предупреждения.
Разумеется, эти предупреждения можно игнорировать, это же не ошибка. :Тем более, что предупреждение будет не для каждого элемента item, а одно. Правда, с указанием сколько раз валидатор хотел его видеть :).

   Но тонкая душа перфекциониста переносит это тяжело. И если вы к ним не относитесь, то дальше можете не читать.
   А как быть, если вы свою страницу дополнили (расширили, углубили) и желаете сообщить об этом миру через RSS ленту? Законное желание, но что указать в элементе guid? Если вы уже публиковали новость с этим линком и guid, то повторный идентификатор приведет не к предупреждению, а к ошибке. Идентификатор должен быть уникальным для вашей ленты.

   Для обхода этого я использовал следующее.
   К адресу страницы добавил знак вопроса и текущую дату одним числом.
Например, так:

<guid isPermaLink="false">https://www.celitel.info/klad/rssu.htm?20241121</guid>

   Т. е. создаем вид, что у страницы есть параметр. При этом желательно атрибуту isPermaLink присвоить значение false, что означает, что значение элемента не содержит адрес страницы, и искать его нужно в элементе link.

   Таким образом можно избавиться от предупреждения валидатора и избежать ошибок при неоднократном упоминании одной страницы в ленте.


HTML и CSS
корректный