Создаем свой RSS канал с помощью Google Apps Script. Делаем свой RSS-канал

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

Wikipedia

На многих сайтах можно увидеть кнопки или , что означает, что на этом сайте доступна лента новостей в формате RSS. Читателям сайта такой сервис удобен, поскольку при помощи Rss-агрегаторов, например, Yandex.Lenta или Kanban.ru можно собрать собственную новостную ленту и читать новости с разных сайтов в одном месте или получать их на свой e-mail при помощи сервиса Rss2Email . Подробнее об RSS читайте, например, в Компьтерре .

В этой статье речь пойдет не об использовании RSS-лент и агрегаторов, а о том, как быстро сделать новостную ленту на сайте при помощи программы RSS.PHP и MySql.

Начальные условия

Итак, у вас есть сайт, на котором есть поддержка PHP и работает база данных MySql (кстати, очень распространенное сочетание). Из базы, в которой хранятся тексты вашего блога или анонсы новостей и будем получать данные для нашей ленты. Лента будет строиться динамически, непосредственно при запросе, так что нужен только соответствующий скрипт. Вы можете написать его сами, но можете взять уже готовый

Немного теории

Для начала немного теории. Для нашей ленты будем использовать формат RSS 2.0, для тех кому интересно, направляю к описанию формата, который вы найдете . А мы будем использовать не все элементы, а только те, без которых действительно не обойтись:

Элемент Описание
title Заголовок канала.
link Ссылка на главную страницу сайта.
description Описание канала.
language Язык, на котором написан канал. Например, ru - русский
copyright Копирайт
managingEditor Электронная почта редактора канала.
webMaster Электронная почта веб-мастера.
pubDate Дата публикации информации в канале.
lastBuildDate Время последнего изменения канала.
category Определяет категорию, к которой принадлежит канал.
Item Собственно содержимое канала. Должен быть хотя бы один элемент.

Item

Элемент Описание
title Заголовок
link Ссылка на полный текст
description Аннотация
category Категория
pubDate Дата публикации статьи. Некоторые агрегаторы не будут отображать статью, если указанная дата еще не настала. Но далеко не все.

Поскольку RSS - это подмножество XML, то мы должны получить в итоге примерно следующее: Если будете что-то менять в скрипте, то проверяйте его на соответствие стандарту на сервисах Feed Validator или RSS Validator


Запуск программы

Программа состоит из следующих файлов: rss.php - файл запуска, rss.inc - включаемый файл с описанием класса, conn.inc - файл с описанием параметров соединения с базой данных.

Для запуска программы измените данные о соединении с БД в файле conn.inс, измените параметры ленты в файле rss.php и спишите в любой удобный каталог на Вашем web сервере, хоть в корневой. Не забудьте проверить структуру данных базы MySql, для программы можно использовать например, такую:

CREATE TABLE BLOG (ID int(11) NOT NULL default "0", title varchar(50) default NULL, description text default NULL, link varchar(200) default NULL, date date default NULL, category varchar(100) NOT NULL default "", ab varchar(10) NOT NULL default "", PRIMARY KEY (ID)) TYPE=MyISAM;

после этого у вас будет лента с адресом

Что дальше?

А теперь не забудьте поставить на видном месте кнопку , и добавить в страницы вашего сайта код между тегами :
, чтобы браузеры понимали, что у вас есть лента. И, конечно же, зарегистрировать ленту в поисковой машине, например, http://blogs.yandex.ru/add.xml и в каталоге http://blogs.yandex.ru/add-catalogue.xml

Бесплатно скачать программу для создания RSS-ленты, Rss.php (3 Кб) можно

О том, что такое RSS, у многих владельцев сайтов, у которых нет RSS (а таких не так уж и мало, как могут думать некоторые), может возникнуть желание заполучить его себе:-) В этой статье я хочу перечислить способы организации RSS-канала для своего сайта. Начиная с самых простых способов и заканчивая сложными.

Изначально нужно быть уверенным, что вы знаете о том, что RSS-документ – это, по сути своей, обычный файл, в котором специальным образом в виде текста описаны те или иные новости (или статьи). В итоге понятие «у меня (у моего сайта) есть RSS-канал» будет выражаться на практике в виде интернет адреса к этому самому документу (у меня на блоге это, к примеру, адрес: http://feeds.feedburner.com/devezoterik ). Ваши же читатели, имея этот адрес, в дальнейшем смогут следить за изменениями в этом файле с помощью .

Использование сторонних сервисов (блогов)

Способ, пожалуй, один из самых простых (не требует специальных знаний в области программирования, денежных затрат и т.д.), но при этом, как не парадоксально, он не плох. Можно использовать бесплатные сервисы, предоставляющие возможность вести свои блоги. Блоги или по-русски говоря «дневники», это чаще всего что-то вроде специфических домашних страниц ( можно более подробно об этом прочесть) :). Во-первых, на всех таких серверах вам выдают ссылку на RSS-документ (RSS-канал) вашего блога. Во-вторых, блоги имеют именно новостную структуру, т.к. все ваши записи в блоге идут последовательно, и каждая из них привязана к какой-либо дате, а это как раз то, что нам нужно.

То есть идея в том, что где бы вы не содержали свой сайт, вы можете параллельно поддерживать на другом сайте (сервисе, о них чуть позже) актуальную новостную ленту. На своем же сайте вы можете указать ссылку на RSS-документ, которой смогут воспользоваться посетители, желающие следить за вашими новостями.

Подобных сервисов для ведения своих блогов предостаточное количество в интернете. Одни из самых популярных и надежных это: www.blogger.com , my.ya.ru и livejournal.com (но вообще их просто несметное количество, отличающихся обычно немногим). На каждом из указанных мной сервисов есть русская версия с подробной помощью, описывающей, как «завести» свой блог.

Использование сервисов генерации RSS из обычных страниц

Этот способ так же не требует навыков программирования и подходит в первую очередь людям, которые имеют свой сайт и имеют на нем некую страницу новостей, которые они могут обновлять тем или иным способом, но, тем не менее, не имеют на этом сайте RSS-канала.

Конечно, можно воспользоваться первым способом: создать где-нибудь блог и дублировать в него новости со своего сайта (обычно это те новости, которые выводят на первой странице сайта). Но тогда ведь постоянно придется дублировать новости с сайта на блог… Предлагаемый же способ дает альтернативу для более прогрессивных/ленивых (иногда грань между этими понятиями бывает мала:)) владельцев сайта.

Смысл заключается в том, чтобы использовать сервисы, которые будут сами следить за вашей страницей новостей и создавать каждый раз (при обновлении вами страницы) актуальный RSS-документ. О подробностях этого процесса я . Писал в первую очередь для тех, кто хочет следить за чужими сайтами, но никто нам не мешает посмотреть с другой точки зрения и следить за своим 🙂 В итоге мы будет иметь ссылку на автоматически обновляемый RSS-документ, отражающий все новости на вашем сайте (правда, с задержкой около одного часа). Вам лишь нужно будет добавлять новости на свою страницу, не изменяя внутреннего форматирования html документа, чтобы сервисы «слежения» не потерялись на странице в поисках искомых новостей (чтоб узнать более подробную информацию, читайте статью по выше приведенной ссылке).

Создание RSS-документа вручную

Если по каким-либо причинам вы не хотите, чтоб RSS-документ обитал вне вашего сайта, и при этом вы не программист, остается еще один способ: создавать и обновлять этот документ у себя на сайте вручную (здесь уже понадобится опыт работы с html). В случае использования хостинга без поддержки скриптов и при не слишком частом появлении новостей (иначе вся эта затея будет очень утомительной), это вполне востребованный вариант.

Для создания и редактирования такого файла лучше всего использовать редактор или любой другой редактор, поддерживающий работу с кодировкой UTF-8 (без BOM). Документ должен быть в кодировке UTF-8 (без BOM). Вот пример того, как может выглядеть RSS-документ внутри (пример снабжен комментариями):

Мой сайт http://www.moi_sait.ru Здесь вы сможете прочесть все последние новости сайта ru-ru http://www.moi_sait.ru/logo.jpg Логотип моего сайта http://www.moi_sait.ru Sun, 07 Jun 2009 04:00:11 +0300 На сайте реализована поддержка RSS Ура, наконец-то теперь есть поддержка RSS!
Долой e-mail рассылку!
Fri, 05 Jun 2009 10:39:18 +0300 Станислав http://www. moi_sait.ru/news/1.htm

Сохранять такой файл в большинстве случаев лучше под именем «rss.xml». Имя rss уже как традиция, но можно использовать и любое другое имя, а расширение xml просто желательно (в этой статье я не способен оговорить и объяснить всех деталей, так как тогда она была бы явно слишком большой:)).

Автоматическая генерация RSS-документа на своем сервере

Этот способ подходит уже только для более искушенных веб-программированием людей. Если информация на сайте хранится в базе данных, а сами страницы являются серверными скриптами (а ля PHP), тогда становится возможным использовать самый автономный и не обременяющий в дальнейшем способ – создавать в автоматическом режиме RSS-документ при запросе оного пользователями. Описывать, как создать подобный скрипт, не имеет смысла, так как уже есть достаточно статей на эту тему с готовыми примерами и разъяснениям к ним. Вот одни из них (для языка PHP): ссылка 1 , ссылка 2 , ссылка 3 , ссылка 4 , ссылка 5 .

Скромный посредник — Feedburner

И вот у вас, наконец, есть желанный адрес своей RSS-ленты. Казалось бы, чего еще можно желать? Конечно же, подробной статистики. Именно для этого и был создан сервис feedburner . Он позволит вам получать максимально возможную статистику, такую, например, как: количество подписчиков, распределение подписчиков по странам, степень интереса подписчиков к тем или иным новостям, возможность получать ваши RSS-новости по e-mail и т.д.

Основной принцип работы feedburner`а заключается в том, что он является посредником между вашим RSS-документом и читателями. Вы указываете feedburner`у адрес своей RSS-ленты, после чего feedburner сможет отдавать эту ленту уже из другого адреса (адрес будет таким: http://feeds.feedburner.com/ + имя вашей RSS-ленты ). И если пользователи будут подписываться именно на адрес от feedburner`а, вы сможете в полной мере использовать все функции данного сервиса. При этом нужно помнить, что если кто-то подпишется на настоящий адрес вашего канала, вы не сможете получить прелести использования feedburner`а.

Эта схема поможет придать больше наглядности вышеописанному:

О настройках feedburner можно прочесть . А так же , и .

На самом деле, помимо всего прочего, этот сервис несет в себе еще один плюс. Так как все подписчики будут подписываться на RSS-ленту, находящуюся на feedburner, то вы можете, когда захотите, поменять адрес оригинального источника RSS-ленты (например, пробуя со временем разные способы создания RSS, описанные в этой статье, или, может, вы смените адрес сайта), не потеряв при этом всех своих подписчиков (они всегда будут видеть адрес ленты на feedburner, не подозревая о изменении ваших настроек). Если же люди подписывались бы на оригинальный адрес RSS-документа (без посредника в виде feedburner), то при его смене (вами) они перестанут получать новости, так как документа по старому адресу не будет существовать.

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

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

Более гибкие возможности редактирования собственных RSS-каналов предлагаются на сайтах и . Feedity сканирует указанную пользователем веб-страницу и составляет список всех расположенных на ней ссылок, которые ведут на новые сообщения или статьи. PonyFish имеет полезную особенность сохранение и передачи cookies, что позволяет обрабатывать страницы, для просмотра которых требуется регистрация.

Неплохие возможности генерации RSS-лент предоставляет сервис . Данный сервис, в отличие от выше рассмотренных работает в "полуавтоматическом" режиме. Пользователь может активно влиять на отбор данных для RSS-ленты и ее оформление. Еще один сервис предлагает для создания каналов новостей три режима: AnySite, MySite, Podcast. Понятно, что первый режим это создание Rss-канала для любого сайта. Второй режим предлагает самостоятельно поставить в коде своих вев-страниц теги разметки, на которые будет ориентироваться робот сервиса. И третий это возможность создания звуковых подкастов.

Если у вас уже есть RSS-лента, то в нее можно включить контекстную рекламу. Самый удачный для этого дела сервис Feedburner принадлежащий поисковому гиганту Google. Он достаточно тесно связан со службой AdSense, так, что при желании можно включить в свою ленту контекстную рекламу. Разместив уже сужествующую ленту на данном сервисе вы получаете возможностьдобавлять к ней ряд полезных сервисов, в том числе подкасты в видеофоматах.

Ну вот пожалуй и все. Воспользоваться одним их вышеприведенных сервисов для создания своей RSS-ленты не представляет из себя ничего сложного, достаточно лишь желания, а выгода для вашего сайта будет неоспоримой.

Даёт возможность оперативно транслировать новости и обновления читателям. Формат этот несколько устаревший, но аудитория пользователей всё ещё большая. Возможность организации RSS-лент заложена во многие популярные движки, такие как WordPress, Joomla, Drupal и многие другие. Где-то эта возможность является штатной, а где-то реализуется с помощью плагинов. Рассматривать процесс установки плагинов не имеет особого смысла, поэтому мы попробуем разобраться, как организовать RSS-ленту своими силами, не используя плагины.

RSS-лента для статического сайта на html

Для начала мы рассмотрим ручной способ, позволяющий реализовать трансляцию новостей на любом сайте, даже на статичном, построенном на голых html-страницах. Данный функционал будем создавать с помощью простого кода, который размещается в файле rss.xml в корне сайта:

- в этой строке указывается кодировка <span>Новости с сайта Site.ru </span> - указываем название новостной ленты http://site.ru/rss.xml - указываем адрес ленты Новостная лента с сайта Site.ru - вводим описание нашей ленты Fri, 03 Jul 2015 17:51:00 +0300 - дата последнего обновления ленты - указываем заголовок новости http://site.ru/news1.html - указываем адрес страницы с полной новостью - вписываем краткое содержание новости

При необходимости, в данном коде можно указать язык ленты, что необходимо при её регистрации в некоторых каталогах RSS-лент, а также добавить дополнительные элементы.

Представленный код обновляется в ручном режиме. То есть, для внесения изменений необходимо открыть файл rss.xml и вписать в него новые данные. Нужно несколько новостей? Тогда редактируемый файл с лентой должен содержать в себе несколько конструкций следующего вида:

<span>На нашем сайте открылся <a href="/szhatie-papki-winsxs-windows-10-pochemu-winsxs-papka-stanovitsya-slishkom-bolshoi-razdel-d/">новый раздел</a> </span> http://site.ru/news1.html На нашем сайте открылся новый раздел, приглашаем всех желающих к ознакомлению с новой информацией

Каждая такая конструкция – это отдельная новость, которая располагается между тегами item. По мере добавления новостей, старые записи можно удалять. Количество записей может быть любым, но прописывать больше 10 последних новостей не стоит – вряд ли кому-то понадобятся устаревшие записи.

Автоматизируем создание RSS-ленты

Предположим, что наш сайт создан на самописной CMS, либо на CMS, у которой RSS-лента отсутствует. В этом случае необходимо разобраться в структуре базы MySql, используемой для хранения данных, и выяснить, как производится хранение данных о заголовках страниц, их адресах и содержимом страниц с новостями. Разобравшись со структурой базы, необходимо несколько модернизировать файл с RSS-лентой. Для начала, дадим ему другое расширение, чтобы в нём мог исполняться php-код, необходимый для работы с базой MySql. В противном случае наша RSS-лента не заработает. Необходимо переработать и внутреннее содержимое файла:

  • Реализуем подключение к базе данных;
  • Делаем выборку нужных данных, установив ограничение на 10 последних записей;
  • Выводим в цикле содержимое полученных переменных;

С первым пунктом всё понятно – нам нужно выполнить подключение к базе данных для забора оттуда информации. Второй пункт тоже понятен – нам нужно получить 10 дат, 10 id ссылок на страницы с новостями, 10 заголовков новостей и 10 тел новостей. В третьем тексте мы последовательно выводим всё то, что мы публиковали между тегами item в ручном формате нашей RSS-ленты. Таким образом, разобравшись в структуре базы данных, мы можем организовать RSS-ленту для любого ресурса. Такой подход хорош тем, что мы не касаемся исходного кода CMS и не создаём дополнительных нагрузок на хостинг – этим грешат некоторые плагины, нагружающие сайты километрами ненужного кода. Кроме того, наша методика позволит избавиться от возможных ошибок в функциональности действующего сайта на этапе внедрения RSS-ленты. Максимум, что может произойти, так это получение не тех данных, что нужны для формирования ленты на нашем сайте.

Теперь рассмотрим сам код:

Новости с сайта Site.ru http://site.ru/rss.php Новостная лента с сайта Site.ru"; $result=MYSQL_QUERY("SELECT id, title, text, date, FROM article ORDER BY date DESC LIMIT 10"); while ($row=MYSQL_FETCH_ARRAY($result)) { $id=$row["id"]; $title=$row["title"]; $text=$row["text"]; $date=$row["date"]; echo " $title ссылка на статью с указанием id $text $date "; } echo " "; ?>

Первые строки данного кода схожи с вышеописанным ручным кодом и содержат в себе общую информацию о нашей новостной ленте – это название, описание и полный адрес ленты. Даты последнего обновления ленты нет, но её можно реализовать, модернизировав исходный код. Далее производится выборка необходимых данных из MySql-базы и запускается цикл формирования RSS-ленты.

С датой новости, её текстом и заголовком всё понятно – они выводятся из переменных $title , $text и $date . Что касается ссылки на полную новость, то здесь берётся её id, после чего мы можем сформировать полную ссылку, опираясь на структуру формирования ссылок на нашем сайте. Например, ссылки могут иметь вид http://site.ru/news.php?id=48 . Здесь мы описываем лишь общий принцип формирования ссылок, поэтому при практической реализации в вышеуказанный код необходимо внести соответствующие изменения.

Как только формирование файла rss.php будет готово, мы можем заливать его на хостинг и приступать к тестированию.

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

Форматов для представления данных. Расшифровка этой аббревиатуры для разных версий выглядела по-разному:

  • R ich S ite S ummary (RSS 0.9x) - обогащённая сводка сайта;
  • R DF S ite S ummary (RSS 0.9 и 1.0) - сводка сайта с применением инфраструктуры описания ресурсов;
  • R eally S imple S yndication (RSS 2.x) - очень простой сбор информации.

Общий смысл всех этих вариантов сводится к тому, что RSS - это способ публикации (трансляции) и распространения информации с сайта. Синдикация веб-контента означает быстрое распространение информации, благодаря одновременному размещению сразу в нескольких источниках.

В основном RSS-ленты используют для аннотаций, анонсирования свежей информации на сайтах: новостей, новых публикаций, обновлений и изменений.

История создания формата RSS

Впервые технологию RSS применила в конце 90-х компания Netscape для раздачи новостей на своем портале Netcenter. Первой открытой официальной версией RSS стала версия 0.90. К 2000 году формат получил широкое распространение и разделился на два разных стандарта - RSS 1.0, основанный на стандартах XML и RDF организации W3C, и RSS 0.92, основанный на версии формата от Netscape 0.91. Последняя версия формата RSS - 2.0 является дальнейшим развитием этой ветки (кстати, автор этой версии Дейв Вайнер и придумал свою расшифровку аббревиатуры - Really Simple Syndication).

В 2006 году вступил в борьбу с RSS вступил конкурирующий формат - Atom, продвигаемый компанией Google.

Терминология

Вы можете встретить в сети различные обозначения для новостного потока в формате RSS: RSS-лента, RSS-фид, RSS-поток, RSS-канал. Все эти термины обозначают одно и то же.

В чем удобство RSS-лент для посетителей сайтов

Существуют специальные программы-агрегаторы, которые позволяют собирать информацию множества RSS-лент из разных источников. Эти программы способны не только автоматически получать данные в формате RSS, но и обрабатывать их: сортировать, фильтровать и приводить к максимально удобному для чтения виду. Такими агрегаторами ("читалками") снабжены все популярные браузеры. Существуют также агрегаторы в Web - это специальные сайты для сбора и отображения RSS-каналов (примеры - Яндекс.Лента , Google Reader).

Используя программы-агрегаторы, пользователи имеют возможность подписываться на новости любимых сайтов и блогов и просматривать их, не обходя сами сайты-источники. Это позволяет колоссально экономить время, особенно если таких излюбленных ресурсов у читателя много. Открыв RSS-агрегатор, вы практически мгновенно узнаете, какие сайты обновились с момента последней вашей сессии работы с ним и имеете возможность бегло просмотреть заголовки с тем, чтобы решить, какие них стоят того, чтобы посетить сайт-источник для чтения полной версии новости, статьи или иного свежего материала.

Просмотр новостей в формате RSS позволяет также экономить трафик, поскольку этот формат гораздо "легче", чем страницы обычных сайтов из-за отсутствия графической оболочки, рекламы и т.п.

Как подписаться на RSS-ленту сайта

Современные браузеры умеют самостоятельно определять наличие RSS-потоков на сайтах, и, обнаружив их при посещении сайта, сразу предлагают пользователю диалог для подписки на RSS-фид. Кроме того, на сайтах, транслирующих RSS-потоки, как правило, имеются специальные иконки - чаще всего оранжевого прямоугольника, с расходящимися волнами внутри. Стандартная RSS-иконка выглядит приблизительно так: или так , но дизайн такой иконки может варьировать как угодно, в зависимости от фантазии и эксцентричности вебмастера. Кликнув на такую иконку, вы подписываетесь на RSS-рассылку сайта.

Зачем RSS-лента нужна сайту

Исходя из вышеизложенного вы, надеюсь, уже поняли, что современному сайту, особенно часто обновляющемуся, не обойтись без своей RSS-ленты (фида). Если вы заинтересованы в повышении посещаемости вашего сайта и удерживании внимания постоянных посетителей (клиентов), пренебрегать таким полезным инструментом не стоит.

Определенную пользу RSS-лента приносит и в плане продвижения сайта, поскольку тиражирование этой ленты на других ресурсах способствуют увеличению количества ссылок на сайт-источник RSS-потока.

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

RSS-ленты и SEO

SEO-специалисты предупреждают о негативных последствиях, которые может иметь наличие RSS-фида на сайте (блоге).

Во-первых, было замечено, что нередко поисковики раньше индексируют контент RSS-лент на других сайтах, нежели на источнике, транслирующем фид. И считают первоисточниками именно эти сайты, а авторский сайт еще и получает от поисковиков "по шапке" за "дублированный контент". Особенно это касается блогов, в которых в ленту выносится не только заголовок и краткая аннотации, а посты целиком. Таким образом, ваш контент быстро становится "неуникальным" и "бесполезным для людей", с точки зрения поисковиков. Почему так происходит, спросите вы, ведь лента содержит ссылки на источник новостей? А потому, что сайты, которые грабят ваш контент (rss-каталоги, социальные закладки) в большинстве своем "жирнее", чем ваш сайт, то есть трастовость вашего ресурса никак не сравнима с трастовостью раскрученного сервиса.

Как следствие описанного явления, транслированные потоки часто сдвигают первоисточник вниз в .

Во-вторых, не стоит обольщаться, что грабилки вашей ленты в обязательном порядке будет ставить ссылку на источник: многие нагло вырезают такие ссылки или засовывают их в noindex, nofollow или в яваскрипты.

В-третьих, точно так же не стоит рассчитывать, что с сайтов-воров к вам будут по ссылкам приходить посетители: многие из них ограничатся чтением новости там, где они ее обнаружили. А если учесть часто встречающийся пункт номер 2 (отсутствие прямой ссылки на вас), то перспектива повышения посещаемости засчет таких ресурсов становится и вовсе призрачной.

В-четвертых, формат XML весьма удобен для . Создав собственную RSS-ленту, вы достаточно быстро обнаружите, что ее содержимое беззастенчиво "дерут" создатели сателлитов, сплогов и прочей web-нечисти, еще более способствуя тому, чтобы ваш контент был сочтен поисковиками неуникальным и бесполезным.

Вывод, однако, не в том, чтобы отказаться от RSS полностью. RSS-лента нужна вашим постоянным посетителям! А вот спешить добавлять вашу ленту сразу после создания в различные RSS-каталоги совсем не стоит.

Как создать свою RSS-ленту. Элементы RSS-канала

Ряд движков и CMS уже имеет встроенные модули публикации RSS-потока. Если вы пользуетесь таким, вам не нужно ломать голову над этом вопросом. Эта глава для тех, кто хочет писать свою RSS-ленту вручную или интересуется спецификацией формата RSS.

Чтобы завести свою RSS-ленту, для начала необходимо создать документ в стандарте XML 1.0. То есть файл RSS-ленты должен начинаться со строки

Другой ключевой момент - собственно элемент rss с указанием версии:

Внутри тэга rss размещается тэг . В нем и содержится вся информация. Сначала указывается информация о самом канале, а затем - сам новостной поток. Вот как это выглядит в общем случае:




Заголовок ленты
http://www.ссылка на сайт
Краткое описание канала
Дата последнего изменения в канале*


Заголовок новости или статьи № 1
Ссылка на полный текст новости или статьи №1
Текст новости № 1 (длина произвольная)


Заголовок новости или статьи № 2
Ссылка на полный текст новости или статьи №2
Текст новости № 2 (длина произвольная)


Обязательными элементами канала являются title, link и description. В элементе все элементы, по большому счету, являются необязательными, но, по крайней мере, или <description> должен присутствовать.</p> <p>* Даты в RSS-канале обязательно должны быть в формате RFC 2822 ! Например, Tue, 18 May 2010 07:30:00 +0300. Если вы затрудняетесь с <a href="/pravilnaya-stranica-oformleniya-zakaza-idealnaya-forma-zakazov-dlya-internet-magazina-na-stranice-ko/">правильным оформлением</a> даты или не хотите делать это вручную, воспользуйтесь нашим онлайн-конвертером даты и времени в формат RFC 2822 .</p> <h3>Необязательные элементы RSS-канала</h3> <p>Вы можете внести <a href="/kak-dozvonitsya-operatoru-kievstar-vzhivuyu-besplatnyi-li-zvonok/">дополнительную информацию</a> о канале, сайте-источнике или авторе канала.</p> <p><b>language </b> <br> Язык, на котором написан канал. Позволяет сборщикам, например, объединять на одной странице все сайты на одном языке. Перечень допустимых значений этого элемента лежит .<br><i><b>Пример: </b> </i> ru-ru</p> <p><b>managingEditor </b><br> <a href="/kak-nastroit-elektronnyi-adres-sozdat-elektronnuyu-pochtu-chto/">Электронный адрес</a> человека, ответственного за редакторский текст. <br><i><b>Пример: </b> </i> </p> <p><b>webMaster </b><br> Адрес <a href="/rei-tomlinson-izobretatel-elektronnoi-pochty-skonchalsya/">электронной почты</a> человека, ответственного за технические аспекты канала.<br> (rss_tech@gmail.com (Vasily Petrov)</p> <p><b>pubDate </b><br> Дата публикации текста в канале Дата и время в RSS соответствуют спецификации RFC 822 , за исключением того, что год может представляться двумя или четырьмя цифрами (последнее предпочтительно). <br><i><b>Пример: </b> </i> (Sat, 07 Sep 2002 00:00:01 GMT)</p> <p><b>lastBuildDate </b><br> Время последнего изменения содержимого канала. <br><i><b>Пример: </b> </i> (Sat, 07 Sep 2002 09:42:31 GMT)</p> <p><b>cloud </b><br> Указывает веб-сервис, поддерживающий интерфейс rssCloud, реализующий подписку на обновления канала. . <br><i><b>Пример: </b> </i></p><p> <cloud domain="ccc.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/></p> <p>(В этом примере для запроса уведомления нужно отправить сообщение XML-RPC на ccc.com , порт 80, путь /RPC2 . Вызываемая процедура - myCloud.rssPleaseNotify.)</p> <p><b>ttl </b><br> Время жизни - количество минут, на которые канал может кешироваться перед обновлением с ресурса. <br><i><b>Пример: </b> </i> (<ttl>60</ttl>)</p> <p><b>image </b><br> Изображение (в <a href="/izmenyaem-razmer-animacii-v-formate-gif/">формате GIF</a>, JPEG или PNG), которое может отображаться с каналом.</p> <p>Максимальная ширина - 144 (по умолчанию - 88). <br> Максимальная высота - 400 (по умолчанию - 31).</p> <p>Элемент <item> также может содержать дополнительные элементы, такие как:</p> <p><b>author </b><br> Адрес электронной почты автора сообщения. Актуально, например, для RSS-лент онлайн-СМИ, в которых у каждой статьи - свой автор. Формат элемента:</p> <p><author>rsseditor@gmail.com (Andrew Petrov)</author></p> <p><b>comments </b><br> URL страницы для комментариев, относящихся к сообщению. Формат элемента:</p> <p><comments>http://domain.com/article4403.php#comments</comments></p> <p><b>enclosure </b><br> Описывает медиа-объект, прикрепленный к сообщению. Имеет 3 обязательных атрибута: url (адрес приложения), length (размер приложения в байтах) и type (тип приложения MIME). Пример:</p> <p><enclosure url="http://www.domain.com/111.mp3" length="15200000" type="audio/mpeg" /></p> <p><b>source </b><br> Название RSS-канала, из которого получено сообщение, полученное из его <title> . Имеет обязательный атрибут URL (ссылка на источник).</p> <p><source url="http://domain.org/rss.xml"> Kapitoshka"s channel </source></p> <h3>Проверка RSS-ленты на соответствие стандарту</h3> <p>Итак, вы изготовили собственную RSS-ленту. Для того, чтобы убедиться, что вы все сделали правильно, советую воспользоваться услугами онлайн-валидаторов, например, Feed Validator или RSS Validator.</p> <h3>Организация подписки на RSS-ленту</h3> <p>Чтобы организовать возможность подписки на вашу RSS-ленту, необходимо сделать 2 вещи:</p> <p>2. Вставить между тегами <head> и </head> следующую строку:</p> <p>Этот шаг необходим для того, чтобы сообщить браузерам о наличии RSS-ленты - как вы помните, в уважающих себя браузерах есть свои rss-читалки.</p> <p>Кстати, обнаруженную браузером на сайте RSS-ленту можно просмотреть, кликнув на специальную иконку в меню. В Mozilla она находится в адресной строке, в IE - в <a href="/kak-vyzvat-komandnuyu-stroku-zapusk-komandnoi-stroki-zapusk/">командной строке</a>:</p> <p><img src='https://i0.wp.com/earninguide.biz/webmaster/img/rssbr2.gif' width="100%" loading=lazy></p><p>Кстати, как вариант, вы можете дать под RSS-кнопкой ссылку не на саму новостную ленту, а на фид в гуглевском сервисе Feedburner.com . Предварительно, конечно, нужно там зарегистрироваться и добавить свою ленту. Преимущества "зажигания" вашего фида в том, что сервис FeedBurner позволяет владельцам сайтов предоставлять информацию своим подписчикам в наиболее удобном формате, а также дает полную статистическую информацию о посетителях и подписчиках фида, и позволяет зарабатывать на своем фиде (с помощью ).</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </article> <div id="disqus_thread"> <div id="dsq-content"> <ul id="dsq-comments"> <li class="comment even thread-even depth-1" id="dsq-comment-2"> <div id="dsq-comment-header-2" class="dsq-comment-header"> <cite id="dsq-cite-2"> <span id="dsq-author-user-2">Сергей Савенков</span> </cite> </div> <div id="dsq-comment-body-2" class="dsq-comment-body"> <div id="dsq-comment-message-2" class="dsq-comment-message"> <p>какой то “куцый” обзор… как будто спешили куда то</p> </div> </div> </li> </ul> </div> </div> </div> </div> <div class="wpb_column vc_column_container td-pb-span4"> <div class="vc_column-inner "> <div class="wpb_wrapper"> <div class="wpb_widgetised_column wpb_content_element"> <div class="wpb_wrapper"> <div class="td-a-rec td-a-rec-id-sidebar td-rec-hide-on-p "> <div id="adriver_banner_1494422254"></div> </div> <div class="td-a-rec td-a-rec-id-custom_ad_1 td-rec-hide-on-p "> <div> </div> <div id='div-gpt-ad-1491821174306-2' style='height:600px; width:300px;'> </div> </div> <div class="td-a-rec td-a-rec-id-custom_ad_2 td-rec-hide-on-p "> <div> </div> <div id='div-gpt-ad-1491821174306-3' style='height:600px; width:300px;'> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="td-footer-wrapper td-footer-template-14"> <div class="td-container td-footer-bottom-full"> <div class="td-pb-row"> <div class="td-pb-span3"> <aside class="footer-logo-wrap"><a href="/"><img class="td-retina-data" src="/uploads/logo.png" data-retina="/wp-content/uploads/2017/02/logo_544x180_bw.png" alt="Техника. Новости. Телефоны. Ноутбуки. Сравнение. Windows" title="Техника. Новости. Телефоны. Ноутбуки. Сравнение. Windows"/ loading=lazy></a></aside> </div> <div class="td-pb-span5"> <aside class="footer-text-wrap"> <div class="block-title"><span>Общая информация</span></div>.</aside> </div> <div class="td-pb-span4"> <aside class="footer-social-wrap td-social-style-2"> <div class="block-title"><span>Сайт в социальных сетей</span></div> <span class="td-social-icon-wrap"> <a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://danykom.ru/sozdaem-svoi-rss-kanal-s-pomoshchyu-google-apps-script-delaem-svoi-rss-kanal/" title="Facebook"> <i class="td-icon-font td-icon-facebook"></i> </a> </span> <span class="td-social-icon-wrap"> <a target="_blank" href="" title="Instagram"> <i class="td-icon-font td-icon-instagram"></i> </a> </span> <span class="td-social-icon-wrap"> <a target="_blank" href="" title="RSS"> <i class="td-icon-font td-icon-rss"></i> </a> </span></aside> </div> </div> </div> </div> <div class="td-sub-footer-container"> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span7 td-sub-footer-menu"> <div class="menu-td-demo-footer-menu-container"> <ul id="menu-td-demo-footer-menu" class="td-subfooter-menu"> </ul> </div> </div> <div class="td-pb-span5 td-sub-footer-copy"> © 2024 Техника. Новости. Телефоны. Ноутбуки. Сравнение. Windows </div> </div> </div> </div> </div> <link rel='stylesheet' id='css-5-css' href='/wp-content/mmr/ffba0e2b-1516146715.min.css' type='text/css' media='all' /> <script type='text/javascript' src='https://danykom.ru/wp-content/mmr/4ab436a1-1516146715.min.js'></script> <script> (function() { var html_jquery_obj = jQuery('html'); if (html_jquery_obj.length && (html_jquery_obj.is('.ie8') || html_jquery_obj.is('.ie9'))) { var path = '/wp-content/themes/Newspaper/style.css'; jQuery.get(path, function(data) { var str_split_separator = '#td_css_split_separator'; var arr_splits = data.split(str_split_separator); var arr_length = arr_splits.length; if (arr_length > 1) { var dir_path = '/wp-content/themes/Newspaper'; var splited_css = ''; for (var i = 0; i < arr_length; i++) { if (i > 0) { arr_splits[i] = str_split_separator + ' ' + arr_splits[i]; } //jQuery('head').append('<style>' + arr_splits[i] + '</style>'); var formated_str = arr_splits[i].replace(/\surl\(\'(?!data\:)/gi, function regex_function(str) { return ' url(\'' + dir_path + '/' + str.replace(/url\(\'/gi, '').replace(/^\s+|\s+$/gm, ''); }); splited_css += "<style>" + formated_str + "</style>"; } var td_theme_css = jQuery('link#td-theme-css'); if (td_theme_css.length) { td_theme_css.after(splited_css); } } }); } })(); </script> </body> </html>