YurecNT

Как сделать ленту новостей RSS

Вот буквально вчера я над этим задумался.... У меня есть скрипт для создания sitemap.xml, казалось, надо в нем просто переделать несколько строк и будет RSS... Не тут то было... Дело в том, что данный скрипт склаывает в корень сайта файл... В RSS это не обязательно, ибо сам php-скрипт может восприниматься как xml-rss...

Конечно, кажется, что трудного - вывести на экран xml-поток новостей, загрузить в агрегатор и радоваться?

Во первых, чтобы браузер или агрегатор воспринимал PHP как XML, нужно выставить заголовок - header("Content-type: text/xml;");

Затем посмотреть в любом примере код xml-файла или почитать документацию... Заходим на любой портал, Яндекс например, заходим в новости и везде есть справа - подписаться на RSS, жмем.... Огне-лис показывает список новостей, гугл-хром - пустую страницу... В любом браузере нажимаем правой кнопкой мыши и выбираем - просмотр кода страницы и получаем текст прямо XML-файла...

Нет ни чего сложного, позаимствовать заголовок и вывести его в начале файла... Так и делаем...

Потом в ход идет PHP-скрипт который проходит по базе данных, собирает последние записи и выводит их в поток в нужном нам формате...

И в самом конце - заключительная часть - футер XML-файла...

Кажется, все отлично, все должно работать, но RSS-агрегатор начинает ругаться, что не понимает этот XML... Мазила - показывает урезанную страницу, в лучшем случае - заголовок, скрипт чтения RSS - сыплет ошибками....

Начинаем гуглить - RSS-валидаторы... Мне понравился этот...

Оказывается, там масса тонкостей.... В заголоке ответа (PHP) не указана кодировка, лента конечно читабельна, но валидатор предупреждает, что лучше - казать, изменяем header("Content-type: text/xml;"); на header("Content-type: text/xml; charset=utf-8");

Затем, идет ругань на различные символы... приходится писать - скрипт подмены символов, так как они не допустимы в xml...

Еще по шапке - валидатор ругается на пропущенный элемент atom...

Выглядеть он должен примерно  так - (идет первым после

где прописан адрес где находится RSS-лента...

Но после добавления валидатор снова ругается, на то, что не описан элемент атом...

Далее - в заголовке идет логотип... в принципе - поле не обязательное, но желательное... поля link и title - у картинки и у ленты - должны совпадать. Это в принципе - все....

Конечно, кто пользуется готовыми CMS не придется страдать написанием или адаптацие скрипта.. Так как там уже все включено... Но проверить на валидность - стоит... Но если у вас - самописный движок, то этот материал будет вам чрезвычайно полезен =)

Обновление:

Сейчас я RSS генерирую автоматически, но теперь с поддержкой сервиса Яндекс.Турбо, то есть, если зайти на сайт по ссылке https://new.yurecnt.ru/rss/info-0-999.xml  можно увидеть первые 999 страниц и оно проходит валидацию у Яндекса.

По сути отрабатывает модуль /rss/ и выдает нужное количество записей, больше 999 делать не надо, так как Яндекс за один прием не возьмет больше.


Рейтинг: 0

Обновлено: 03.04.2025

Информация об авторе

....

Администратор сайта


Все статьи автора

Благодарности:

Рейтинг:

Самое читаемое:
Внешний отчет для УТ 11.5 по кредиторской задолженности!
Внешний отчет для УТ 11.5 по кредиторской задолженности!
отчет по кредиторской задолжен ....
03.04.2025
Эталоны Windows
Эталоны Windows
....
03.04.2025
Контакты
Контакты
как найти программиста? =) ....
03.04.2025
Установка OwnCloud на Linux Debian 11 или 12
Установка OwnCloud на Linux Debian 11 или 12
Отличное облачное решение для ....
03.04.2025
Windows PE
Windows PE
Спасение утопающих в руках уто ....
03.04.2025
Брут http-авторизации на PHP
Брут http-авторизации на PHP
Взлом HTTP-авторизации ....
03.04.2025
Обновляем Debian с 11 на 12!
Обновляем Debian с 11 на 12!
Обновляем операционку почти бе ....
03.04.2025
1С Бухгалтерия - ошибка формата потока (3.0.88.22)
1С Бухгалтерия - ошибка формата потока (3.0.88.22)
1С Бухгалтерия - ошибка формат ....
03.04.2025
Не Play Market-ом единым
Не Play Market-ом единым
Свободное ПО для Android ....
03.04.2025
Настройка spamassassin для работы с MySQL
Настройка spamassassin для работы с MySQL
Боремся со спамом ....
03.04.2025
Как разблокировать системный реестр Windows
Как разблокировать системный реестр Windows
Если нельзя, но очень хочется ....
03.04.2025
Как установить mod_rewrite
Как установить mod_rewrite
Всякие редиректы и ЧПУ ....
03.04.2025
Программы восстановления удаленных файлов
Программы восстановления удаленных файлов
Реанимируем почти убитое ....
03.04.2025
Life Hack - удаление файлов в Windows
Life Hack - удаление файлов в Windows
как удалить не удаляемый файл ....
03.04.2025
В браузерах лезет реклама
В браузерах лезет реклама
Убираем рекламные вирусы ....
03.04.2025
О куках
О куках
....
03.04.2025
Школа 66
Школа 66
заказать модуль обращение граж ....
03.04.2025
Популярные цвета Flat UI
Популярные цвета Flat UI
Цвета Flat UI ....
03.04.2025
Бесплатные программы для работы с разделами жесткого диска
Бесплатные программы для работы с разделами жесткого диска
краткий обзор бесплатных прогр ....
03.04.2025