RSS генератор PHP


Оглавление (нажмите, чтобы открыть):

RSS генератор PHP

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

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

Символ RSS

Указывая ширину ( width ) и/или высоту ( height ) иконки, изображение будет пропорционально изменяться и подстраиваться под любой размер.

Пример RSS

Валидатор RSS

Что такое RSS-ридер

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

Пример RSS-ридера

Как создать rss.php на PHP и MySQL

Для базы данных table, содержащей такие столбцы:

Файл db.php

Файл rss.php

Файл .htaccess

HTML разметка страниц сайта

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

Generate RSS out of any Web Page

So what is FetchRSS?

RSS Generator

Feed prov > We store your RSS feed in your account on our cloud servers.
We generate a unique URL for each feed you’ve created.
This URL can be used in HTML code at your website. It can also be provided to one of many RSS readers or any other RSS-related service.


Auto updated RSS

RSS from social networks

How does it work?

Create RSS from any online resource

Your favorite websites do not provide RSS? So now you can’t track its news and updates from RSS reader

It makes you sad

Enter its URL and get your RSS

From now on you will be getting updated RSS file any time you ask for it by our URL

You are not sad anymore

Need more information?

If you have any questions you can check our Frequently Asked Questions page.
Or contact us directly.

But the easiest way to understand something is just
Try it

RSS 2.0 лента на PHP 5

RSS — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами. Обычно с помощью RSS 2.0 даётся краткое описание новой информации, появившейся на сайте, и ссылка на её полную версию. Интернет-ресурс в формате RSS называется RSS-каналом или RSS-лентой или RSS-фидом. Практически все популярные современные браузеры поддерживают RSS каналы: Safari, Maxthon, Mozilla Firefox, Mozilla Thunderbird, Opera, Microsoft Internet Explorer начиная с 7-й версии. Я не буду останавливаться на истории формата, скажу лишь что существуют версии 0.91, 1.0 и 2.0, причем не совместимые между собой. Крайне не рекомендую вам использовать версию 0.91, потому что умная Netscape 5 января 2006 года удалила с сайта my.netscape.com файл rss-0.91.dtd, ссылки на который были размещены в большом количестве трансляций формата RSS версии 0.91. Это событие привело к сбою некоторых онлайновых и офлайновых агрегаторов, так как потоки, ссылающиеся на этот DTD стали невалидными. Мы же рассмотрим самый последний формат на момент написания этой статьи — RSS 2.0.

Пример формата RSS 2.0 и описание тегов

По своей сути RSS напоминает обычный XML файл:

My News
http://mysite.com/ News from my family. en-us

Tue, 10 Jun 2006 04:00:00 GMT

Tue, 10 Jun 2006 09:41:01 GMT http://blogs.law.harvard.edu/tech/rss Weblog Editor 2.0 editor@mysite.com webmaster@mysite.com My Birthday
http://mysite.com/blog/2006/mybirthday.php I celebrate my birthday today!


Tue, 01 Jun 2006 09:39:21 GMT

http://mysite.com/blog/2006/06/01.html#item1 My new PC
http://mysite.com/blog/2006/mynewpc.php I want to buy new PC.

Tue, 27 May 2006 08:37:32 GMT

http://mysite.com/blog/2006/05/27.html#item1

Обязательные элементы канала
title Имя RSS канала. Оно например может совпадать с названием сайта.
description Краткое описание RSS канала.
link Ссылка на сайт, с которым связан канал.
Необязательные элементы канала (channel)
language Язык канала (en-us — Английский; ru — Русский).
copyright Сведения об авторстве на RSS канал.
managingEditor Email адрес ответственного за контент канала.
webMaster Email адрес ответственного за техническую часть публикации канала.
pubDate Дата публикации канала, в соответствии с Date and Time Specification of RFC 822.
lastBuildDate Время последней модификации канала в соответствии с Date and Time Specification of RFC 822.
category Одна или несколько категорий, к которым принадлежит канал.
generator Название программы, использованной для генерирования RSS канала.
docs Ссылка на файл документации подвида RSS, который был использован для создания канала.
ttl Ttl расшифровывается как ‘time to live’. Это число минут, в течение которых канал сохраняет свою актуальность.
image Используется для подключения графического файла (GIF, JPEG, или PNG), который будет показан вместе с RSS каналом. Имеет следующие параметры:
title — обычно тот же текст, что и в RSS title;
description — описание графического файла, которое будет показано, если файл не доступен;
link — ссылка на страницу, с которой связан канал;
url — URL на файл формата JPEG, GIF или PNG, который связан с RSS каналом;
width — ширина рисунка.
height — высота рисунка.
skipHours Число часов, в течение которых RSS ридеры могут не проверять канал на обновления.
skipDays Число дней, в течение которых RSS ридеры могут не проверять канал на обновления.
Обязательные элементы итема (item)
title Имя итема (новости, сообщения) RSS канала.
description Краткое описание итема.
link ссылка на страницу, содержащую полное описание события.
Необязательные элементы итема (item)
author Email адрес автора сообщения.
category Категория итема.
comments Ссылка на страницу с комментариями по итему.
enclosure Описывает медиа-объект, присоединенный к итему. Имеет следующие параметры:
url — ссылка на файл объекта;
length — размер файла в байтах;
type — тип файла, в соответствии со спецификацией MIME.
guid Уникальная строка, используемая для идетификации итема.
pubDate Дата публикации итема, в соответствии с Date and Time Specification of RFC 822.

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

Реализация на PHP 5

Я не стал городить классы и шаблоны, а сделал все достаточно просто:

RSS на PHP

В этом небольшом уроке мы будем создавать свою собственную RSS ленту средствами PHP. С помощью этой ленты можно облегчить себе и окружающим поисковым роботам жизнь. Все файлы будут браться из базы данных и превращаться в список с пунктами.
В предыдущей статье вывод новостей RSS с помощью PHP мы уже показывали взаимодействия с лентой.
На текущий момент самая актуальная версия RSS является версией 2.0, на это и будем опираться. Пример готового решения можно увидеть, посмотрев на наш rss поток. Давайте рассмотрим исходный код xml файла:

При этом свойств одного материала очень много, все данные предоставлены ниже.

Обязательные элементы channel:
title — название rss потока.
description — небольшое описание проекта.
link — прямая ссылка на главную страницу канала.

Необязательные элементы channel:
language — язык канала. Большинство современных ретрансляторов автоматический определяют данный элемент.
copyright — авторский копирайт.
managingEditor — email пользователя, который отвечает за данный канал.
webMaster — email технической поддержки по данной ленте.
pubDate — дата создания канала (RFC 822).
lastBuildDate — время последнего изменения (RFC 822).
category — как понятно из названия категория канала (можно указать несколько).
generator — программа с помощью, которой вы создали ленту.
docs — документы по использованию вашего канала.
ttl — time to live определяет через какой промежуток времени лента потеряет актуальность.
image — изображение отвечающее за \»дизайн\» ленты.
skipHours — количество часов запрещающее ридерам проверят ленту.
skipDays — количество дней запрещающее ридерам проверят ленту.

Обязательные элементы item:
title — имя новости или сообщения.
description — небольшое описание item.
link — ссылка на страницу с полным описанием.

Мастер Йода рекомендует:  Fancybox for Wordpress – красивые изображения и функциональный контент одним щелчком мыши

Необязательные элементы item:
author — email автора.
category — категория item
comments — ссылку на страницу, где можно обсудить новость.
enclosure — Медиа-объект который бил прикреплён к новости.
guid — уникальный текст которые не вкоем случае не должен повторяться (можно использовать ссылку на страницу или ID новости).
pubDate — дата создания item (RFC 822).

После того как вы узнали, какие параметры вам необходимы приступим к созданию самой ленты. Для этого создадим в главной директории файл rss.php и запишем в него следующий текст

Теперь необходимо зайти в свою базу данных, используя phpmyadmin или другой клиент, и посмотреть заголовки таблицы, которая отвечает за вывод материалов с сайта. После чего, отредактировать rss.php. Как только вы закончите работу, и у вас будет полностью рабочая лента, её необходимо подключить к проекту, для этого нужно открыть исходный код и в раздел head написать следующий текст:

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

Decent RSS feed generator for PHP [closed]

I need an RSS Feed generator; should I use a class or should I generate the feed myself?

If I should generate it myself, where is a good place to get comprehensive specs of the standards?


If not, are there any good classes out there to do it and do it quickly and do it well?

3 Answers 3

  • Generates RSS 1.0, RSS 2.0 and ATOM 1.0 feeds
  • All feeds are are validated by feed validator.
  • Supports all possible feed elements.
  • Simple and easy to define channel and feed items
  • Implements appropriate namespaces for different versions.
  • Automatically converts date formats.
  • Generates UUID for ATOM feeds.
  • Enables usage of subtags and attributes. (example: image and encloser tags)
  • Completely Object oriented in PHP5 class structure.
  • Handles CDATA encoding for required tags.
  • Nearly same code for generating all kinds of feed

There will soon be a component for Zend Framework called Zend_Feed_Writer that looks pretty interesting. Here’s an excerpt from a feed of one of (perhaps the?) developer of that component, Padráic Brady (link to the blog post). He says that it’s currently in the Zend Framework Incubator, but that a first official version should be ready by the end of the weekend:

The new kid on the block, to be added in Zend Framework 1.10, is Zend_Feed_Writer. A bit like the older Zend_Feed_Builder classes, its purpose is to generate Atom 1.0 and RSS 2.0 feeds. The difference is that, like its sibling Zend_Feed_Reader, it is standards aware and operates entirely using PHP’s DOM.

Why another feed generation component? The problem is somewhat similar to the one that Zend_Feed_Reader solved. Generating an RSS and Atom feed is far more involved than sticking a bunch of elements together — each standard has its quirks, its unique features, and its own set of best practices outside of the standards. Using Zend_Feed_Builder, you relied on two things — repetition and validation. Moving away from its core focus required more work, even to the extent of subclassing, and you were always at the mercy of misinterpreting a standard.

Zend_Feed_Writer builds on the simple API of Zend_Feed_Reader (using setters rather than getters) and the concept of having the component understand the standards (so you don’t have to). The component is split across two class types — a base data container to store feed data and ensure it conforms to expected formats, and a renderer to actually generate the feeds and provide feedback on standards adherence. For example, in Atom 1.0 the omission of a title will generate an exception — a title is an obligatory element under the Atom 1.0 standard. While this could be interpreted as a nuisance, the fact is that an invalid Atom 1.0 feed is worse than useless. Better you are irritated now, than later when an online validator calls you rude names :-).

The net result of this approach is that you focus on the data, and let Zend_Feed_Writer worry about what elements and attributes to use. It should, in theory (always a grand thing), be impossible for Zend_Feed_Writer to produce an invalid feed.

Of course, we also throw in the concept of Extensions, as with Zend_Feed_Reader, allowing you to add support for RSS and Atom extensions more dynamically without the need for subclassing or API arm twisting.

Достойный генератор RSS-канал для PHP

Мне нужен генератор RSS-канал; я должен использовать класс, или я должен генерировать питают себя?

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

Если нет, то есть ли хорошие классы там, чтобы сделать это, и сделать это быстро и сделать это хорошо?

  • Формирует RSS 1.0, RSS 2.0 и ATOM 1.0 каналы
  • Все фиды проверяются путем подачи валидатора.
  • Поддерживает все возможные элементы подачи.
  • Простой и легко определить канал и подающие элементы
  • Реализует соответствующие пространства имен для разных версий.
  • Автоматически преобразует форматы даты.
  • Формирует UUID для ATOM каналы.
  • Включает использование субтегов и атрибутов. (Пример: изображения и метки encloser)
  • Полностью объектно-ориентированный в структуре класса PHP5.
  • Ручки кодирования CDATA для необходимых тегов.
  • Почти тот же код для создания всех видов кормов

Там скоро будет компонент для Zend Framework под названием Zend_Feed_Writer , который выглядит довольно интересно. Вот выдержка из сырья одного из (возможно?) Разработчик этого компонента, Padraic Brady ( ссылка на запись в блоге ). Он говорит , что в настоящее время в рамочном инкубаторе Zend, но что первая официальная версия должна быть готова к концу уик — энда:

Новый малыш на блоке, которые будут добавлены в Zend Framework 1.10, является Zend_Feed_Writer. Немного как старшие классы Zend_Feed_Builder, его цель состоит в том, чтобы генерировать Atom 1.0 и RSS 2.0 фиды. Разница заключается в том, что, как и его родной брат Zend_Feed_Reader, это стандарты осведомленные и работает полностью с помощью РНР DOM.

Зачем нужен еще один компонент генерации корма? Проблема несколько похожа на ту, что Zend_Feed_Reader решена. Генерация RSS и Atom-канала является гораздо более сложным, чем торчащей кучей элементов вместе — каждый стандарт имеет свои особенности, свои уникальные особенности и свой собственный набор лучших практик за пределами стандартов. Используя Zend_Feed_Builder, вы полагались на две вещи — повторение и проверка. Отход от своего основного фокуса требуется больше работы, даже в той степени, подклассов, и вы всегда были на милость искажая стандарта.

Zend_Feed_Writer основывается на простой API из Zend_Feed_Reader (с использованием сеттеры, а не добытчиками) и концепции, имеющие компонент понимания стандартов (так что вам не придется). Компонент разбит на два типа класса — контейнеровозы базы данных для хранения данных кормов и обеспечить его соответствие ожидаемых форматов, а также средства визуализации, чтобы фактически генерировать каналы и обеспечить обратную связь по соблюдению стандартов. Например, в Atom 1.0 пропуск заголовка будет генерировать исключение — заголовок является обязательным элементом по стандарту Atom 1.0. Хотя это может быть истолковано как неприятность, тот факт, что недействительный Atom 1,0 корм хуже, чем бесполезно. Лучше вы раздражены сейчас, чем позже, когда онлайн валидатор называет вас грубыми именами :-).


Конечным результатом такого подхода является то, что вы сосредоточены на данных, и пусть Zend_Feed_Writer беспокоиться о том, какие элементы и атрибуты для использования. Он должен, в теории (всегда великая вещь), невозможно для Zend_Feed_Writer произвести недопустимый корм.

Конечно, мы также бросить в концепции расширения, как и с Zend_Feed_Reader, что позволяет добавлять поддержку RSS и Atom расширений более динамично, без необходимости подклассов или API выкручивание рук.

Если вы ищите Zend_Feed_Writer, это в настоящее время в кусках в инкубаторе. Я должен был это полностью интегрированным и функциональным на выходные. Однако вы можете дать ему шанс для написания Atom 1,0 каналов до тех пор, как вы будете придерживаться основных элементов (т.е. большинства блог-каналов). RSS поддержка 2.0 является последней частью мне нужно завершить в полном объеме.

Чтение RSS-ленты в PHP

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

RSS – это передача и обновление новостей в автоматическом режиме.

Подавляющая часть новостных сайтов, блогов и т.д., публикует анонсы статей, событий, новостей в формате RSS. Он обеспечивает регулярное автоматическое обновление, так что Ваши посетители увидят самые последние и актуальные новости.

Формат RSS не предназначен для чтения человеком. Он представляет собой XML документ, специально разработанный для чтения машинами. Я уже писал про то, Как сделать RSS на сайте. А в этой статье я покажу, как читать RSS-ленту через PHP.

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

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

Мастер Йода рекомендует:  Pythran как заставить работать код Python со скоростью С++

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

В конечном счете, некоторые сайты собирают, агрегируют новости из различных источников на один сайт. Таким образом, осуществляется “синдикация”.

После того как RSS сервис создан пора его размещать на хостинге. Фактически RSS-лента – это ссылка подобного вида – http:/mysite.ru/rss.php, которая возвращает контент в формате XML.

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

Также существует новый формат, называемый Atom, который предлагает более стандартизированный подход в обновлении XML контента. Однако он крайне мало распространен за пределами блог-сообщества. Практически все движки блогов могут генерировать Atom-ленту на лету.

Для того, чтобы читать RSS-ленту нам необходимо найти ссылку на эту самую ленту. Для этого можно зайти на сайт http://news.yandex.ru/export.html. Там выбираете категорию, которая вам понравилась, и копируете ссылку, например такую – http://news.yandex.ru/gadgets.rss.

Далее необходимо прочитать содержимое файла gadgets.rss, для этого воспользуемся встроенной в PHP функцией file_get_contents. Код далее:

Далее мы передаем содержимое переменной $content в конструктор класса SimpleXmlElement и получим объектное представление содержимого RSS-ленты в переменной $items.

channel -> item as $item) <
print “
link>’ title = ‘$item->title’>” . title . ” — ” . $item -> description . ” ”;

Итоговая функция для получения содержимого RSS-ленты будет следующая:


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

  • link — ссылка на новость
  • title — отображаемый текст ссылки
  • description — небольшой вводный текст новости

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2020 Русаков Михаил Юрьевич. Все права защищены.

    Онлайн-генератор Яндекс-турбо | Создание RSS xml файла

    Хотите создать Яндекс-турбо всего сайта по приемлемой цене? Пишите нам, мы предоставим вам готовое решение.
    Создайте Яндекс-турбо всего сайта всего за 500 рублей, и держите ее в актуальном состоянии всегда.
    П.с. данные сервис генерирует только 1 страницу.

    Немного о сервисе


    Наш сервис генерации турбо страниц позволит вам создавать Яндекс-турбо страницы вашего сайта, причем совершенно бесплатно, и пока что без каких либо ограничений!

    Зачем это нужно?

    О пользе Яндекст турбо страниц можно прочитать по соответствующей ссылке:islandgift.ru/dev/yandexrss

    Преимущества нашего сервиса.

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

    Как использовать сервис?

    Для начала вам необходимо заполнить соответствующие поля в форме, представленной ниже. И нажать кнопку «Сгенерировать Яндекс-Турбо»
    Описание полей:
    Адрес сайта Адрес страницы, которую вы хотите сгенерировать. Примерный вид корректного заполнения этого поля выглядит следующим образом: https://www.islandgift.ru/articles.
    П.с. желательно записывать тот адрес сайта, который прописан у вас в Вэб-мастере, иначе при загрузке файла вы можете получить ошибку! Заголовок основной страницы Заголовок главной страницы сайта(title). Если данное поле пустое или равно null, то данные возьмутся из содержимого сайта Описание основной страницы Описание главной страницы сайта(description). Если данное поле пустое или равно null, то данные возьмутся из содержимого сайта Код Яндекс метрики Код Яндекс метрики заполнять в формате ХХХХХХХ. Если данное поле не заполено, то автоматически код счетчика будет равен: 000000 Содержимое сайта Исходный код вашего сайта. Что бы его просмотреть вы можете перейти на необходимый сайт, и нажать комбинацию клавиш CTRL + U. И скопировать все содержимое вашего сайта.
    П.с. поддерживаются только стандартные теги, не стандартные теги будут проигнорированы Полученный результат вы сразу можете разместить и проверить в Вэб-мастере. Для проверки результата перейдите в панель Вэб-мастера Яндекс: Турбо-страницы -> отладка, и вставьте полученный результат в соответствующее поле.
    Для загрузки турбо версии страницы на сайт, сохраните полученный результат в произвольный файл, желательно с расширением .xml. И уже после подгрузите файл в Вэб-мастере Яндекс: Турбо-Страницы -> Источники, и выберите созданный вами файл.
    Или можете подгрузить содержимое сайта через ЯндексApi (данный функционал у нас есть, если нужен, то пишите нам заявку через обратную связь.)

    Так же вы можете воспользоватья нашим новым сервисом, который позволяет создавать Яндекс-турбо для всего сайта. Что бы получить доступ к данному сервису, напишите нам.

    Вы так же можете использовать наше API для получения турбо страниц.
    Что бы использовать наше API, вам необходимо отправить POST или GET запрос на наш сервер, который доступен по следующему адресу: https://www.islandgift.ru/dev/api/apiscript
    Более подробная информация об API прописана в документации.

    Ошибки

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

    Если вам понравился наш сервис, то можете поблагодарить разработчика

    Станислав 0 ��
    Здравствуйте! Подскажите пожалуйста, а для сайта на платформе Blogger возможно как-то добавить rss канал для Турбо страниц?
    Ответить 19.09.2020 | 09:38
    Мочалов Максим Александрович Ответ на комментарий: Станислав 0 ��
    Станислав, Добрый день.
    В принципе можно, только придется хранить данные на каком-то сервере или компьютере, на котором будет настроена задача, запускаемая раз месяц. Суть задачи будет заключаться в загрузке сгенерированной страницы через api Яндекса.
    Ответить 19.09.2020 | 11:26
    Расул 0 ��
    скрин с ошибками

    Ответить 19.01.2020 | 19:36
    Мочалов Максим Александрович Ответ на комментарий: Расул 0 ��
    Расул, Добрый вечер.
    Это связанно с тем, что генератор не корректно обработал ссылки.
    Это в последующем исправлю.
    На данный момент могу посоветовать следующее.
    Найти все ссылки типа [https://redr-nuts.ru/#. ]
    и заменить их на [https://redr-nuts.ru/]
    просто яндекс не корректно обрабатывает ссылки с якорями.
    Ответить 19.01.2020 | 19:43
    Мочалов Максим Александрович Ответ на комментарий: Расул 0 ��
    Расул, В случае чего пишите на почту info@islandgift.ru
    Ответить 19.01.2020 | 19:45
    Расул 0 ��
    Результат проверил на странице отладка. выдает 16 ошибок и 1 предупреждение. что делать?
    Ответить 19.01.2020 | 19:34
    Мочалов Максим Александрович 0 ��
    Как и обещал.
    Выкладываю исходники для генерации яндекс турбо.
    будут вопросы обращайтесь.
    [https://www.islandgift.ru/dev/article/generate-data]
    Ответить 15.01.2020 | 11:09
    Мочалов Максим Александрович 1 ��
    В ближайшее время выложу исходники генератора турбо страниц в отрытый доступ.
    Но пока что он переписывается полностью и приводится к приемлемому виду.
    Так что если это кому-то интересно, то говорите.
    П.с. Данный сервис останется, просто появится возможность выполнять генерацию турбо на вашем сервере.
    Ответить 29.12.2020 | 11:26
    Данила 0 ��
    у меня показывает какие то не ошибки а предупреждения..
    и потом не распознались кнопки.. и куда то пропали некоторые заголовки и часть текстов.

    [http://needsysadmin.ru]
    (например не отображаются заголовки тарифных планов)

    приложил к комментарию скриншот с ошибками

    Ответить 27.12.2020 | 23:49
    Мочалов Максим Александрович Ответ на комментарий: Данила 0 ��
    Данила, Да есть такой недочет. Связан он с версткой. Данная версия генератора не в силах обработать такую ссылку . и в связи с этим происходит сбой.
    В следующей версии генератора, данный недочет будет исправлен.
    Ответить 28.12.2020 | 11:45
    Денис 0 ��
    Не плохо генерирует, один из лучших в РУнете. Но у меня лично выдает ошибку: XML-элементы указаны некорректно:
    Input is not proper UTF-8, indicate encoding ! Bytes: 0xCA 0xE0 0xF2 0xE0
    Ответить 27.12.2020 | 14:10
    Мочалов Максим Александрович Ответ на комментарий: Денис 0 ��
    Денис, Можете сказать название своего сайта? Я быстро проверю и посмотрю с чем это может быть связано.
    Ответить 27.12.2020 | 14:22
    Юрий 0 ��
    Загружаю полученный код на хостинг, сохраняю с разрешением xml, задаю ссылку в вебмастере и получаю ошибку. Понять в чем ошибка не могу. Посмотрите пожалуйста.
    [https://yadi.sk/i/Pq0FOaF0IooLWA]
    Ответить 14.11.2020 | 12:34
    Мочалов Максим Александрович Ответ на комментарий: Юрий 0 ��
    Добрый день. Проблема в том, что вы загружаете файл через yml. Вам необходимо выбрать RSS.
    если вдруг остались вопросы, то пишите на мою почту: max36895@gmail.com

    Ответить 14.11.2020 | 12:55
    Роман 0 ��
    Нашел ошибку орфография оФФициальный сайт
    Ответить 15.10.2020 | 17:52
    Мочалов Максим Александрович Ответ на комментарий: Роман 0 ��
    Спасибо за найденную ошибку.
    Поправили.
    Ответить 22.10.2020 | 14:31
    Роман 1 ��
    Спасибо огромное. Отличный сервис, очень помог и избавил от многих часов ручного труда! Вы молодец! Желаю вам раскрутить данный сервис.
    Ответить 15.10.2020 | 17:48
    Константин 1 ��
    Первый сервис, который правильно и в полном объеме загрузил контент страницы в RSS. Даже плагин, который рекомендует Яндекс работает хуже. Не понял только, можно ли сделать rss для всего сайта? Рекомендую.
    Ответить 16.08.2020 | 10:41
    Мочалов Максим Александрович Ответ на комментарий: Константин 0 ��
    Добрый день!
    Благодарим за отзыв.
    Пока что не получится сделать rss для всего сайта, но мы работаем над этим и в ближайшее время постараемся добавить данную возможность.
    На данный момент можно получить rss всего сайта, только вручную.
    Если интересно, то можете написать нам и мы постараемся все объяснить.
    Ответить 16.08.2020 | 10:47
    Мастер Йода рекомендует:  HotLog в роли агрегатора статистических данных
    Мочалов Максим Александрович Ответ на комментарий: Константин 1 ��
    У нас в разработке есть сервис, который позволит вам создать Яндекс-турбо для всего сайта. Но для корректной работы необходим будет sitemap, что бы можно было ходить по сайту и генерировать страницы.
    В дальнейшем сделаем что бы страницы парсились автоматически.
    [https://www.islandgift.ru/dev/fullgeneraterss]
    Сервис пока что в тестовом режиме. И если вам необходим доступ к нему, то напишите нам, и мы предоставим вам доступ.
    Ответить 17.08.2020 | 14:12
    Данила Ответ на комментарий: Мочалов Максим Александрович 0 ��
    Мочалов Максим Александрович, не совсем понятно. я могу в один XML файл записать несколько страниц своего сайта? или одна страница один файл?
    Ответить 27.12.2020 | 23:45
    Данила Ответ на комментарий: Данила 0 ��
    Данила, или типа надо на каждую страницу моего сайта сгенерировать такой файл и в Я.Вэбмастере подключить на каждую страницу оригинального сайта такой отдельный файл?
    Ответить 27.12.2020 | 23:54
    Мочалов Максим Александрович Ответ на комментарий: Данила 1 ��
    Данила, вы спокойно можете включить несколько страниц своего сайта в 1 файл.
    Для этого вы просто:
    1. генерируете например главную страницу.
    2. генерируете другие страницы.
    3. из других сгенерированных страниц вы просто копируете и все что находится внутри.
    Должно получить примерно так.

    .

  • » title=»https://www.islandgift.ru/ «> [https://www.islandgift.ru/ ]
    .
    ru
    Maximko

    . 1 сгенерированная страница.
    . содержимое 2 страницы .
    . содержимое n страницы .

  • Ответить 28.12.2020 | 08:55
    Данила Ответ на комментарий: Мочалов Максим Александрович 0 ��
    Мочалов Максим Александрович, да но ведь тайтл и дескрипшен же отличается у разных страниц\разделов сайта?
    Ответить 28.12.2020 | 12:15
    Мочалов Максим Александрович Ответ на комментарий: Данила 1 ��
    Данила, да все верно. Как раз для этого в item есть следующие теги:
    . .
  • . Ссылка на текущую страницу .
    Статьи
    . .
    Тут и заключается разница. Все что находится в item относится именно к нужной вам странице. Все остальные тайтлы и дескрипшены, которые не находятся внутри item относятся непосредственно к главной странице.


    Картинку приложил.
    1 блок лично у меня тут находится тайтл и дескрипшен с главной странице
    2 блок все данные необходимой страницы.

    Привязываем генератор RSS ленты к нашему движку

    Здравствуйте дорогой читатель Блога RS! В прошлом посте мы писали функцию генерации rss файла. Сегодня же мы прикрутим этот генератор к нашей админ панели, что позволит одним щелчком мыши разместить новый пост в rss ленте. По сути у нас уже все готово, осталось немного подредактировать некоторые функции и обработчик.

    Предисловие

    Как обычно, хочу сказать пару слов для тех, кто пришел на мой блог в первые. Этот пост, как и большинство на этом блоге, является продолжением глобального цикла статей «Создать блог с нуля». Я описываю метод написание движка, если быть точнее пишу его вместе с Вами, и уже руки чешутся его поставить, и писать Вам посты уже из новой админ панели . Так вот, если Вы хотите научится на практике писать свой проект на php, видеть живой пример реализации нужного функционала на Вашем самописном сайте, то Вы попали туда куда нужно Переходите по ссылке выше и приступайте к изучению написанного мной материала. Я стараюсь пояснять каждую строчку написанного мной кода, и если что с удовольствием отвечу на Ваш вопрос, даже если он ( вопрос ) из ряда «что такое php?» или «что такое сайт?»

    Если я Вас заинтриговал, то подпишитесь на RSS ленту блога через ридер, или же по почте.

    • Первым делом нужно будет скопировать функцию, которую мы писали в прошлом посте, в файл configpost.php
    • Далее добавить новую строку в шаблоне configpost.html
    • Добавить пару строк в функцию configpost()
    • Ну и на по следок, изменить обработчик в файле configpost.php

    Как видите сегодня много думать не придется

    Переносим функцию rss()

    Открываем файл rss.php копируем функцию, и вставляем ее в файл, в самый низ, configpost.php. Вот полный код функции, с уже отредактированным путем к файлу

    Редактируем шаблон

    Открываем файл configpost.html и добавляем новую строчку в таблице. Вот код шаблона

    Как видите все тоже самое, что мы проделывали в посте «Привязываем генератор sitemap.xml к движку». Я вообще подумывал дать Вам, что то вроде домашнего задания, ведь данный пост почти, что дубль поста по ссылке выше.

    Прошу обратить внимание на атрибут name нового тега select. И на новое код слово [_cfgrss]

    Редактируем функцию configpost()

    Что нам тут необходимо добавить? Сразу после

    Если Вы читали предыдущие несколько постов, то Вы скорее всего узнаете такие строчки. Объяснять второй ( а может и третий ) раз не буду. Тут есть комментарии должно быть все понятно.

    Осталось добавить строчку кода, которая заменит новое код-слово на тег option. Сразу после

    Собственно это все изменения в данной функции

    Редактируем обработчик


    Я дам Вам полный код обработчика, и поясню новые строчки

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

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

    Строчка обнавление базы данных так же подверглась изменениям ( добавилось rss=’$viewrss’ )

    На по следок идет строчка кода, ради которой создавалась переменная addrss

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

    Вот как все это приблизительно выглядит

    Заключение

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

    Пост получился коротким, но зато у нас теперь в админ панели есть еще один пункт настроек постов.

    Всего Вам наилучшего, у меня все!

    P.S.: Иногда просто хотеть, даже если имеются средства на это, уехать в какую то другую страну мало! Вы например знаете как оформляется виза по приглашению в латвию? Вот и я не знал, пока не почитал. Что самое занятное, для каждой отдельно взятой страны свои заморочки с документами, поэтому не знающему человеку необходимо сначала посетить сайт, на подобие finskayaviza.ru, что бы вооружится знаниями без которых очень трудно разобраться.

    Возможно Вам будут интересны следующие заметки

    Комментарии (7)

    Получилось так, что пришлось восстанавливать движок по материалам на блоге, отличный шанс проверить работоспособный ли код. Почти все коды работоспособны. Но вот именно в этом посте нашел небольшую недоговоренность. Забыл упомянуть, что в функции configpost($id) необходимо переправить запрос в базу данных, вот как должен выглядеть запрос:

    $result_index = mysql_query(«SELECT viewindex,viewcomm,sm,xmlsm,rss FROM blog WHERE «);
    $myrow_index = mysql_fetch_array($result_index);

    Забыл вытащить информацию из колонки rss

    Добрый день.
    Спасибо большое за ваш сайт, очень нужная и полезная информация.
    У меня небольшой вопрос: я создал одну новость и решил добавить ее в ленту новостей. Она добавилась и все отлично. Но потом я передумал, и сделал настройку для новости, чтобы она не добавлялась в ленту. Но почему то rss.xml файл не обновлялся. Все делал по вашей статье.
    Тогда я немного поэкспериментировал и получил вот что (это кусок вашей функции rss():

    .
    //генерируем xml код
    $xmlcode .= «\t\t \n\t\t\t «.$myrow[title].» \n\t\t\t
    «
    .$link.» \n\t\t\t «.$txt
    .» \n\t\t\t

    \n\t\t \\n»;
    >
    while($myrow = mysql_fetch_array($rssRESULT));
    $end = «\t \n «;//закрываем теги xml документа
    $result = $header.$xmlcode.$end;//склеиваем части xml кода
    $rssFILE = fopen(«../rss/rss.xml», «w+»);//открываем файл rss ленты
    fwrite($rssFILE,$result);//записываем в него полученный xml код
    fclose($rssFILE);//закрываем rss ленту


    При таком коде у меня не обновлялось, а вот при таком все получилось:

    .
    //генерируем xml код
    $xmlcode .= «\t\t \n\t\t\t «.$myrow[title].» \n\t\t\t
    «
    .$link.» \n\t\t\t «.$txt
    .» \n\t\t\t

    \n\t\t \n»;
    >
    while($myrow = mysql_fetch_array($rssRESULT));
    >
    $end = «\t \n «;//закрываем теги xml документа
    $result = $header.$xmlcode.$end;//склеиваем части xml кода

    RSS генератор PHP

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

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

    Символ RSS

    Указывая ширину ( width ) и/или высоту ( height ) иконки, изображение будет пропорционально изменяться и подстраиваться под любой размер.

    Пример RSS

    Валидатор RSS

    Что такое RSS-ридер

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

    Пример RSS-ридера

    Как создать rss.php на PHP и MySQL

    Для базы данных table, содержащей такие столбцы:

    Файл db.php

    Файл rss.php

    Файл .htaccess

    HTML разметка страниц сайта

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

    Добавить комментарий