Как сделать RSS ленту для сайта?
Категория PHP
Если вы являетесь владельцем сайта и до сих пор не знаете, что такое RSS, то эта статья создана для вас. Мы живём в мире скоростей и огромного потока информации. Умение правильно ориентироваться в ней и уметь выбрать главное – это не очень просто. Зачастую чтобы найти нужную информацию, мы обходим кучу сайтов, пересматриваем десятки и сотни страниц, теряем много времени и трафика при этом. А ведь можно получить эту информацию напрямую в свой компьютер или на свой сайт. Для этого была разработана технология RSS. Что это такое?
RSS – это специальная категория XML формата для передачи (трансляции) анонсов новостей, статей, изменений и прочей оперативной информации с сайта. Обычно информация транслируется в укороченном виде со ссылкой на страницу первоисточника. Длина передачи устанавливается произвольно владельцем сайта. Источник называется RSS каналом, RSS фидом или RSS лентой.
В чём преимущества RSS? Во-первых, пользователь очень существенно экономит трафик и время, так как информация скачивается только самая последняя и нужная. Это очень важно, не правда ли? Зачем загружать страницу новостного портала, которая изобильно нагружена графикой, скриптами и flash анимацией, когда можно скачать всего несколько килобайт нужной информации. А теперь представьте, что вам необходимо получить самую свежую информацию с нескольких десятков сайтов. Сколько времени это займёт у вас? А с помощью RSS вы сможете получить её в единое целое в течение нескольких секунд. Во-вторых, RSS ленты можно транслировать на другие сайты, расширяя диапазон основного сайта и повышая тем самым его аудиторию. О влиянии RSS ленты можете почитать в статье “О влиянии RSS на SEO”
На компьютере RSS ленты можно читать с помощью современных браузеров, которые поддерживают RSS формат. К ним относятся Mozilla Firefox, Opera и так далее. А можно использовать и специальные программы – RSS агрегаторы, которые собирают сами информацию из заданных RSS лент и предоставляют её пользователю в очень удобном виде. Как вариант можно ещё использовать и онлайн агрегаторы. Это специальные сайты, где пользователи могут также выбирать популярные RSS ленты и читать их. Как видите, выбор очень богат и эта технология стремительными темпами набирает популярность в Интернете благодаря своей оперативности и удобству. Поэтому она и называется RSS – Really Simple Syndication или По-настоящему Простое Получение Информации. В настоящее время последней версией RSS является версия RSS 2.0.
Как читать RSS вроде бы уже вам понятно, а как сделать RSS ленту у себя на сайте? Да очень просто. Необходимо создать специальную страницу в стандарте XML 1.0 и расположить её у себя на сайте. Можно рассмотреть это на примере, подразумевая, что сайт сделан на языке PHP и имеет базу данных MySQL для хранения новостей или статей.
Сначала рассмотрим структуру простого канала RSS.
Здесь ссылка на главную страницу сайта
http://webypoku.ru/view.php?id=15&sec=1
http://webypoku.ru/view.php?id=19&sec=2
То есть основные параметры RSS ленты задаются в верхней части. Сначала указывается, что это XML документ формата XML 1.0 и что это к тому же RSS 2.0. Затем указываются название ленты, ссылка на главную страницу сайта, краткое описание содержимого и дата последнего изменения в ленте. Затем идёт цикл самих статей или новостей в тегах
Даты все указываются в формате RFC 2822. Если дата в вашей базе данных хранится в другом формате, то её можно конвертировать с помощью функции PHP date();
$upldt = date(“r”,strtotime($your_date_from_db));
(например, 2007-09-17 конвертируется в Mon, 17 Sep 2007 00:00:01 GMT)
Теперь попробуем это реализовать на примере RSS канала моего сайта. (http://webypoku.ru/feed/)
header("content-type: application/rss+xml");
echo "
http://webypoku.ru
$db = mysql_connect("localhost","Пользователь","Пароль");
mysql_select_db("База", $db);
for ($i=1; $i<=2; $i++){
if ($i==1){$tbl="lesson";} else {$tbl="article";}
$cn=mysql_query("SELECT * FROM $tbl ORDER BY id DESC LIMIT 0,5");
$dat=mysql_fetch_array($cn);
$lud=$dat['date'];
$lud=date("r",strtotime($lud));
echo "
do {
$lud=$dat['date'];
$lud=date("r",strtotime($lud));
$url="http://webypoku.ru/view.php?id=".$dat['id']."&sec=".$i;
printf("
%s
while ($dat = mysql_fetch_array($cn));}
echo "
Небольшое пояснение: Так как мой сайт (старая версия) использует 2 разные таблицы под статьи и уроки и я хочу чтобы на rss ленте были новости со всех категорий я сделал цикл. Он последовательно подключается к каждой таблице и берет оттуда по 5 записей.
Вот и всё. Теперь сохраняем под именем rss.php и заливаем файл в директорию сайта. Ставим ссылку http://www.название_сайта.ru/rss.php и наша новостная лента готова.
А теперь не забудьте поставить на видном месте кнопку , и добавить в страницы вашего сайта код между тегами
:, чтобы браузеры понимали, что у вас есть лента. И, конечно же, зарегистрировать ленту в поисковой машине и ждать притока посетителей с них на ваш сайт., но это уже совсем другая статья… ]]>
Добавить в закладки
Теги: PHP, RSS, программирование
Оставьте комментарий: