Пара советов по организации RSS-ленты

программирование php RSS

Здравствуйте! Первый раз занимаюсь созданием RSS. В инете пракически все статьи - сплошные копипасты и тонкости не обговариваются. Поэтому хочу узнать несколько мелочей на эту тему:

1. Как лучше? Генерировать файл xml, как только добавлена или изменена какая-нибудь статья и ссылку на этот файл забивать, к примеру, в том же FeedBurner или создать php-файл, который будет динамически генерировать xml-данные при каждом обращении к нему?
2. Обратил внимание, что некоторые оборачивают контент тега <description> в раздел CDATA, т.е.
<description><![CDATA[ какой-то текст ]]></description>,
а другие это игнорируют. Как же будет правильнее?
3. И последнее - есть ли ограничение на кол-во символов в кратком описании (тот же description) и, если есть, то какой оптимальный размер?

Примечание:
@NetRain, по второму и третьему пункту всё ясно, а по поводу первого - я имел в виду, не вручную "собирать" файл, а использовать такой же скрипт, как при динамическом генерировании, но запускать его автоматом, если админ сайта будет вносить какие-то изменения. По сути, это что-то вроде кеширования. В день может быть ни одной правки или изменения, вот я и подумал, что возможно в такой ситуации, будет логичным "не напрягать" базу лишний раз.

Примечание:
P.S. Забыл добавить, что про ограничения, я спрашивал, т.к. читал один комментарий о том, что желательно ограничиваться 255 символами. Правда коммент этот ничем не был аргументирован, но на всякий случай, я решил перестраховаться.
Ответы:
1. Генерить XML заранее — сэкономит ресурсы сервера, но это нужно еще делать. А формировать XML PHP-скриптом при обращении к ленте — дело по большому счету замены шаблона при обращении к скрипту по определенному URL — легче реализуется (вернее, специально почти ничего делать не нужно, если конечно архитектура системы позволяет).
2. В секции CDATA игнорируются теги и прочие служебные конструкции. Если в тексте будут встречаться HTML-теги, то оборачивайте текст в CDATA. Если тегов там быть не может — можете обходиться и без него. Можете также прогонять HTML-код через htmlspecialchars() перед вставкой — тогда никакой CDATA не понадобится. На правильность файла с точки зрения формата это не влияет.
3. Формально ограничений нет. Руководствуйтесь здравым смыслом.
По первому пункту я тоже не имел ввиду никакой ручной работы :-)
Вы можете повесить на генерацию RSS тот же самый скрипт, что генерирует страницу на сайте, только в скрипте дополнительно указать, что при обращении по определенному URL'у используется другой шаблон представления для вывода данных.
Такой вариант быстрее реализуется — ничего делать специально не нужно, кроме второго шаблона и пары строк для его подключения по условию.
Проблема в том, что база дергаться будет не только при обращении к странице сайта, но и при обращении к RSS.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.