В одной из своих прошлых публикаций, я упоминал один из программных способов подключить RSS в Вконтакте для автоматической публикации новостей с RSS сайта. Метод, о котором там шла речь, использует API Вконтакте, который все время совершенствуется, может не работать в силу определенных причин и т.д. Таким образом, указанный и описанный там метод не является универсальным, громоздким и не всеми понятным.
После выхода публикации я получил массу отзывов и вопросов. В частности, я упомянул в статье, что существует простой и легальный метод подключить RSS к группе Вконтакте (написать запрос в техническую поддержку Вконтакте), но многие из читателей так до конца и не поняли всех нюансов. Собственно, хотелось бы рассказать об этих нюансах подробнее в данной статье, чтобы не отвечать всем интересующимся по-отдельности.
Возможность импорта RSS в группы Вконтакте
Многие социальные сети поддерживают импорт данных из RSS в группы. Это очень удобный момент для маленьких и средних компаний (или просто сайтов), которые хотят извещать своих пользователей в социальных группах (если таковые созданы) о новостях на главном сайте. Этот процесс можно автоматизировать с помощью RSS: добавила администрация сайта новый материал на сайт, его анонс тут же публикуется в группах в соцсетях и заинтересованные посетители переходят по этих ссылках. К сожалению, Вконтакте (речь идет о популярной русскоязычной социальной сети) — не предоставляет (по крайней мере официально) такой возможности для администраторов групп. Между тем, многие ухитряются разными способами автоматизировать этот процесс. На это уходит время и деньги, метод работает либо временно, либо с перебоями… одним словом универсального решения подключить RSS не существует. Или существует? Есть неописанный метод, он работает бесперебойно, но с ограничениями по возможности подключения. Как им воспользоваться?
Продвижение сайтов – от а до я.
2После разработки, создание и запуска своего первого web сайта в интернете нам с вами нужно сделать все возможное что бы привлечь на только что созданные web ресурс заинтересованных посетителей. А для этой цели, вам необходимо подготовить его к поисковому продвижению.
А теперь самое интересное. В качестве примера, в реальном времени я буду продвигать в поисковых системах блог сео сказки точка ру на котором вы в данный момент находитесь. И каждый свой шаг, каждое действие я буду записывать для вас в виде – видео уроков. Так что если у вас уже есть свой сайт то кликаем по кнопочке ниже что бы приступить к его продвижению в поисковиках…
Начать продвижение сайта с пошаговым руководством
Подаем заявку на подключение RSS в группу Вконтакте
Подключить RSS к группе Вконтакте для автопостинга можно, обратившись с запросом к технической поддержке, для этого нужно перейти по адресу: https://vk.com/support?act=new, написать в поле, что-типа «подключить рсс» и нажать кнопочку «Ни один из этих вариантов не подходит«. На практике это выглядит примерно так:
Потом у Вас попросят извинения, что в связи с большим числом запросов, Вам предстоит ждать ответа несколько часов. Соглашаемся и жмем кнопочку «
Задать вопрос«. В открывшемся поле для ввода пишем: «Здравствуйте. Я Вася Пупкин. Есть ли возможность подключить для группы id123456 рсс ленту с нашего корпоративного сайта — https://sayt.ru ?» И отправляем наш вопрос на рассмотрение!
Как подписаться на RSS
Пользователь может подписаться на ленту новостей тремя способами:
- Найти на странице сайта иконку или ссылку на подписку RSS, кликнуть по ней и следовать инструкциям браузера.
- Если хотите получать сообщения на почту, то ищите на сайте форму RSS с полем для ввода e-mail. Данное действие обычно требует подтверждения подписки.
- Если владелец ресурса скрыл форму подписки, но оставил канал RSS включенным. Подписаться на обновления можно, введя в браузерную строку приставку /feed или /rss.xml или /?feed=rss , к основной ссылке сайта. Например, https:// www.domen.com/feed.
Требования для подключения RSS Вконтакте
Метод, о котором идет речь, недокументированный, нигде не описано: как и кто может подключить к своей группе RSS-ленту для автопостинга, между тем, полагаясь на личный опыт, я могу указать на некоторые критерии, которые обязательно учитывает техническая поддержка Вконтакте при рассмотрении Вашей заявки на подключение rss-ленты.
- Подать заявку на подключение rss-ленты к группе может только Создатель группы (не администратор и не редактор, которых впоследствии Создатель назначает);
- Подавайте заявку на подключение rss-ленты при условии, что в Вашей группе более 100 участников;
- Не подавайте заявку на подключение rss-ленты для новых групп, у которых нет истории и отсутствует активность участников (нет лайков и комментариев);
- Не обязательно, но очень приветствуется, если на сайте (с которого планируется брать rss-ленту) есть кнопки социальных сетей (типа «Поделиться») или виджет группы Вконтакте (можно сделать здесь: https://vk.com/dev/sites). Как поясняет сама техническая поддержка Вконтакте, «с их помощью посетители сайта смогут найти группу Вконтакте, виджеты теснее связывают сайт и группу, вносят разнообразие».
Создать свой сайт сможет каждый.
1Как было сказано ранее, этот учебник поделен на несколько частей. В этой, вы узнаете про все способы создание сайтов и научитесь запускать интернет магазины, форумы, блоги, а так же иные web проекты с полного нуля, либо при помощи бесплатных cms движков таких как WordPress, или Joomla. И так… Если вам нужно создать свой первый сайт, то кликаем по кнопочке ниже и выбираем для себя наиболее подходящий вариант.
Приступить к созданию своего сайта
Подключение RSS ленты в Вконтакте
После подачи заявки ждем ответ администрации (как правило, в течении суток). Нам ответят: либо «Да», либо «Нет» (как правило, с объяснением причин отказа… «мертвая группа», «отсутствует активность», «запрещенная тематика» и т.д. Если Вам ответили, что RSS таки подключили, то переходим к его активации.
В настройках Вашей группы появится новый пункт «Импорт RSS» — нажмите «Управление страницей» (сразу под логотипом), вкладка «Информация«. На практике это выглядит так:
В это поле и нужно вписать адрес RSS ленты, с которой планируется импортировать анонсы
Некоторые замечания, после того, как Вы прописали RSS и сохранили настройки:
- При первом запуске могут импортироваться не все записи с рсс-ленты;
- Впоследствии на стене группы будет публиковаться в автоматическом режиме последняя запись в рсс ленте (как правило в течении нескольких минут после добавления на сайте);
- Если в анонсе рсс ленты существует фотография, она также будет загружена в анонс в группу Вконтакте (так что стоить позаботиться об эстетическом виде анонсов)…
На этом пока все! Если остались вопросы, буду рад ответить на них в комментариях! Добавляйте и подключайте рсс в Вконтакте — это всегда бесплатный трафик и целевая аудитория!
Зачем нужен
RSS – это полезная функция для владельцев сайтов. Например, у вас имеется информационный ресурс, где периодично добавляются статьи. Тогда, чтобы повторно не заливать записи в соц.сеть, вы можете настроить рассматриваемую опцию, написав сотрудникам техподдержки.
В дальнейшем, при соблюдении предусмотренных условий, в разделе управления сообществом в соц.сети появится специальное поле, где пользователь должен вписать адрес. Затем сервис будет автоматически добавлять контент, прикладывая к нему ссылку и копируя из указанного веб-ресурса. Представленная опция станет незаменимой для владельцев новостных сайтов, где важно вовремя публиковать новости.
После настройки публикация постов будет выглядеть следующим образом:
Недостатки RSS
Для сайтов
- Большинство пользователей подписываются на источники, которые хоть немного приглянулись. Информации становится больше, и человек не успевает ее обрабатывать.
- Поисковые роботы индексируют ленты раньше, чем первоисточник, засчет чего последнему достаются фильтры: он получает от поисковика статус малополезного сайта для пользователя. Решением этой проблемы будет отказ от выкладывания полных версий статей и мотивация читателя перейти на источник-оригинал.
- Воровство контента. Трастовые сайты также могут воровать контент, и поисковики будут считать их первоисточниками. А вот менее жирные оригиналы будут падать в позициях поисковой выдачи.
- Даже если ворованный контент в конце имеет ссылку, откуда статья, то вероятность, что гость продолжит чтение после перехода, мала. А без указания линка и вовсе не стоит надеяться на трафик.
- XML-язык, на котором пишутся RSS-ленты, удобен для парсинга.
Как подписаться на RSS
Чтобы получать уведомления, достаточно найти знак RSS, копировать адрес ссылки и добавить ее в программу для чтения. Или вместо кнопки нажать на фразу «Подписаться на RSS-канал».
Как подключить импорт RSS
В 2022 году данная опция недоступна для активации. Ранее для ее подключения требовалось написать в службу поддержки VK, а затем выполнить условия и проверить имеющееся сообщество на соответствие с правилами. Разработчики отключили сервис в августе 2022 года.
Но, это не значит, что она не функционирует сегодня. Сервис работает исправно по сей день. Разработчики не стали отключать ее у групп, которые успели подключить ее, когда она была в свободном доступе.
Источник
RSS новости: некоторые способы импорта ленты новостей
1. Введение 2. Как подключить RSS 3. Способы получения RSS при помощи php 4. Способы обработки xml 5. Оптимизация работы с RSS 6. Некоторые проблемы при работе с RSS 7. Заключение
1. Введение
О том, как RSS может помочь продвижению – можно почитать здесь. В общем — данные ленты новостей позволяют часто обновлять контент на сайте, это приводит к тому, что роботы начинают чаще посещать сайт. В этом МК я постараюсь дать несколько способов внедрения данной технологии на странички сайта.
«Для начала, определимся с тем, что такое RSS. Кратко, RSS – это формат синдикации web-контента. Это обычный формат представления данных, основанный на языке XML. Первоначально этот формат был разработан специально для экспорта заголовков новостей. Однако область его применения может выходить далеко за рамки этой задачи. Вы с легкостью можете экспортировать любую информацию, любые материалы. Формат примечателен тем, что дает единство представления данных. Любая информация, оформленная в RSS должна соответствовать определенной структуре… Благодаря такой формализации, конечный пользователь получает информацию в стандартизированном виде, что упрощает чтение и работу с ней. Именно удобством работы и объясняется растущий интерес к этому формату и его всё большая популяризация». (https://www.kanban.ru/info/webmaster/)
Подробнее о том, что такое RSS можно почитать здесь (https://blogs.law.harvard.edu/tech/rss, https://podolsk.biz/p147.htm, https://www.kanban.ru/info/webmaster/).
В начале данного мастер-класса я покажу, как можно внедрить RSS непосредственно на страницу (здесь будут рассмотрены способы подключения RSS только при помощи php). Затем – некоторые способы оптимизации работы с RSS. В заключении я расскажу о некоторых проблемах RSS и способах их решения.
2. Как подключить RSS
RSS — данные, представленные в виде xml определенной структуры. Общий принцип подключения RSS можно представить следующим образом:
- Получение RSS из определенного источника.
- Обработка RSS.
- Включение обработанной информации в текст страницы (это самый простой пункт. Достаточно сделать echo результата).
3. Способы получения RSS при помощи php
1. Cокетами
Пусть URL RSS = (для всех остальных примеров). Код получения rss новости будет примерно следующим:
$out = »; $fp = fsockopen(«www.seonews.ru», 80, $errno, $errstr, 1); if ($fp) { $out = «GET /rss/ HTTP/1.1 «; $out .= «Host: www.seonews.ru «; $out .= «Connection: Close «; fwrite($fp, $out); $out = »; while (!feof($fp)) { $out .= fgets($fp, 128); } fclose($fp); } ?>
Плюсы
– Работает на всех версиях php, не требует дополнительных модулей.
Минусы
– громоздкий код.
Возможные проблемы:
Одна из главных проблем – то, что контент скачивается с другого хоста. Соответственно, время загрузки основной страницы увеличивается на время загрузки RSS. Может быть такое, что канал будет забит, или сервер с новостью будет недоступен. Поэтому нужно ограничить время получения rss новости. Первое ограничение уже было сделано: последний параметр функции fsockopen установлен в 1 – это значит, что сокет будет открываться не дольше секунды, в случае неудачи переменная $out вернет пустую строку. Но есть еще одно «но»: сокет может открыться быстро, а данные будут скачиваться долго. Чтобы этого не произошло, перепишем код следующим образом:
$out= »; $fp = fsockopen(«www.seonews.ru», 80, $errno, $errstr, 1); if ($fp) { $time = time(); stream_set_timeout($fp, 1); $out = «GET /rss/ HTTP/1.1 «; $out .= «Host: www.seonews.ru «; $out .= «Connection: Close «; fwrite($fp, $out); $out = »; while (!feof($fp)) { $out .= fgets($fp, 128); if (time() — $time > 2) { $out = »; break; } } fclose($fp); } ?>
Таким образом, в самом плохом случае задержка загрузки страницы из-за RSS не будет превышать 3 секунд: 1 секунда на открытие сокета и 2 секунды на получение данных. Функция stream_set_timeout($fp, 1); устанавливает максимальное время чтения из потока, а временем мы контролируем, чтобы вовремя выйти из цикла чтения из сокета данных. О том, что делать, если данные не пришли – см. далее.
2. Curl
Это библиотека, которая позволяет взаимодействовать с различными серверами по различным протоколам. Код с контролем времени будет выглядеть примерно следующим образом:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, «https://www.seonews.ru/rss/»); // вернуть значение а не вывести на страницу curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // чтобы заголовок не входил в контент curl_setopt($ch, CURLOPT_HEADER, 0); // ограничение по времени получения // (сюда уже входит и время открытия соединения // и время получения данных) curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$out = curl_exec($ch); curl_close($ch); ?>
Плюсы
– достаточно компактный код, с возможностью быстрой модификации.
Минусы
– необходимо наличие установленного расширения для php и библиотеки curl, а также версия php не ниже 4.0.2
3. Другие способы
PHP позволяет получить данные из сети и другими способами, например, при помощи include с перехватом буфера содержимого или file_get_contents. Но управлять временем получения данных будет не так просто, как в описанных выше случаях.
4. Способы обработки xml
После того как мы получили данные, их необходимо обработать. Данные RSS хранятся в xml файле определенной структуры. Поэтому чтобы вписать ленту в дизайн сайта, а также избавится от ненужной информации, данные необходимо обработать.
Для начала – общая структура RSS. Упрощенно, структура RSS-файла выглядит так:
item /item> . . . /channel
Подробнее см., например, https://www.kanban.ru/info/webmaster/ или https://intenter.ru/rss_links.do. Зная структуру, можно вытащить необходимые данные. Ниже перечислено несколько способов.
1. xslt
Так как RSS – это xml, можно использовать xslt преобразование. Пусть у нас в переменной $out содержится полученная rss лента новостей в виде xml. Пусть xslt шаблон находится в файле rss_temp.xsl, и содержит код, приведенный ниже:
version=»1.0″ xmlns:xsl=»https://www.w3.org/1999/XSL/Transform»>
Link — — Email
Описание:
Чтобы использовать данное преобразование, можно воспользоваться следующим кодом:
$result=»»; $xslt = xslt_create(); $result = xslt_process($xslt, «arg:/_xml», «arg:/_xsl», NULL, array(‘/_xml’ => $out, ‘/_xsl’ => file_get_contents(‘rss_temp.xsl’))); xslt_free($xslt); ?>
В результате, в переменной $result будет содержаться готовый для вставки кусок кода. Плюсы
– достаточно поменять шаблон, чтобы получить новый вид отображения ленты; достаточно гибкая технология.
Минусы
– необходимо наличие модуля и библиотек xslt преобразования (sablotron для 4 версии php). Для пятой версии php код будет выглядеть иначе, т.к в пятой версии используется другая библиотека xslt преобразований: libxslt. Как вариант решения данной проблемы – можно использовать код, описанный в статье https://alexandre.alapetite.net/doc-alex/xslt-php4-php5/
2. Другие способы
В интернете можно найти достаточно большое количество готового кода для обработки RSS и адаптировать под свои нужды, например, https://www.rss.net.ua/rss_doc018.html или https://danneo.com/forum/showthread.php?t=1178. Также можно использовать регулярные выражения, например, если хостинг не поддерживает работу с xml технологиями.
5. Оптимизация работы с RSS
Одна из проблем RSS, как было сказано выше, — это то, что они находятся на других серверах. Если у вашего сайта большая посещаемость, то для каждого пользователя, зашедшего на сайт, нужно повторно вытаскивать одинаковую информацию из интернета, что забивает канал и уменьшает скорость работы сервера, а вследствии – скорость загрузки страницы. У каждой ленты есть период обновления. Поэтому приходит мысль использовать одни и те же данные повторно, то есть – кэшировать. К тому же технология xslt, например – достаточно ресурсоемкая и каждый раз использовать преобразование – это также может повлиять на скорость работы сайта.
Первый способ – это полученный результат сохранять в файле, и проверять время модификации этого файла. Если разница между текущем временем и временем модификации файла превышает заданный интервал (например, час), то попытаться снова получить данные и после обработки – переписать файл.
// Это добавить перед получением и обработкой rss $rss_cache = ‘rss_cashe.inc’; // если нет файла или время последнего изменения файла > 3600 с (1ч), // то получить и обработать rss if (!file_exists($rss_cache) (time() — filemtime()) > 3600) { // код получения и обработки rss, // на выходе – переменная с готовым для // отображения содержанием ($result) … // запишем в кэш $f = fopen($rss_cache, ‘wt’); fwrite($f, $result); fclose($f) } else { $result = file_get_contents($rss_cache); } ?>
Второй способ – это обрабатывать новости сторонним скриптом, который запускается, например, по crontab, а результат сохранять в файле. На страницу импортировать уже готовый файл.
// предполагаем, Что скрипт лежит там-же, Где лежит страница, которая будет забирать новость. $rss_cache = dirname(__FILE__) . ‘/rss_cashe.inc’; // если нет файла или время последнего изменения файла > 3600 с (1ч), // то получить и обработать rss if (!file_exists($rss_cache) (time() — filemtime()) > 3600) { // код получения и обработки rss, … // запишем в кэш $f = fopen($rss_cache, ‘wt’); fwrite($f, $result); fclose($f) } ?>
Этот скрипт следует поместить в файл, который будет запускаться по crontab или еще какому-либо планировщику. А на странице только в нужном месте указать:
$rss_cache = ‘rss_cashe.inc’; include($rss_cache); ?>
6. Некоторые проблемы при работе с RSS
- Во всех примерах не указаны способы обработки ошибок. А так как и получение данных из интернета, и обработка данных в данном случае могут вызвать ошибки, то необходимо предусмотреть, как будет вести себя скрипт. Например, используя кэширование (о чем было написано выше), можно показывать последнюю удачно обработанную информацию. Или вообще ничего не показывать.
- Некоторые ленты могут пропадать или менять свой адрес (например, редизайн сайта, или сайт прекратил существование). Поэтому, если возникают ошибки достаточно часто, то нужно сигнализировать об этом администратору.
- Кодировка новости иногда не совпадает с той, что прописана в заголовке. Особенно это актуально для русских кодировок. Решения могут быть различными: можно вручную определить кодировку и конвертировать в нужную нам, можно автоматически определять кодировку (https://ivr.webzone.ru/articles/defcod_2/index.htm).
7. Заключение
Данный мастер-класс показывает лишь некоторые способы использования и обработки RSS при помощи php. Более подробную информацию можно получить из указанных источников. Код, который расположен на внешних источниках, приведен в качестве примера, его работоспособность проверена лишь частично. Код, используемый в данной статье проверен, но все мы можем ошибаться. Поэтому, при обнаружении неточностей, или неработоспособности кода – просьба сообщить автору мастер-класса.
Преимущества RSS канала
Для пользователя
- Вся нужная информация в одном месте: удобно просматривать обновления и не нужно проверять вручную.
- Бесплатно: ресурсы взамен получают читающую аудиторию, так что любой развивающийся источник непременно создаст ленту для пользователей.
- Быстрые уведомления: сообщение о новой публикации будет не через час, два, день, а сразу по обновлению.
- Экономия трафика. Один фид не заберет столько трафика, как множество загружаемых страниц.
Для сайта
- Ссылочная масса возрастает;
- Увеличивается популярность ресурса;
- Постоянная читающая аудитория сайта.
Как настроить RSS в сообществе
Импортировать записи из RSS-канала теперь можно и в виде статей. Новая функция возьмёт на себя значительную часть работы: перенесёт текст и изображения, разместит подписи под картинками, оформит название и обложку. Потратьте несколько минут на подключение — и освободите время для творчества.
В настройках сообщества включите RSS-импорт и добавьте ссылку на поток. Используйте только собственную RSS — мы следим за тем, чтобы фиды крупных СМИ не попали в другие сообщества.
Решите, в каком виде публиковать записи.
ТОП статья: 8 игр для подписчиков в Instagram
- Ссылка на Ваш ресурс. Этот вариант стоит по умолчанию. В записи будет часть текста и ссылка на первоисточник в виде сниппета.
- Статья ВКонтакте и ссылка. Выберите «Публиковать в виде статьи» — и материалы будут оформлены в виде статей ВКонтакте. Импортируются заголовок, текст, изображения и подписи к ним. При этом в записи отразится часть текста, материал с обложкой и ссылка на первоисточник без сниппета.
- Только статья ВКонтакте. Вы можете оставить в публикации только часть текста и материал с обложкой — просто о.
Чтобы материалы импортировались корректно, учтите рекомендации по разметке RSS-ленты:
- Названием статьи станет элемент title.
- Для обложки статьи используется поле img, либо первая иллюстрация в статье.
- Применяйте figure и figcaption для правильных подписей к изображениям.
Несколько минут — и RSS-лента настроена, а Вы можете посвятить себя созданию новых материалов.
Программы для чтения RSS
Сегодня любые браузеры читают формат RSS без дополнительных расширений. Преимущества браузерного подхода в том, что новости можно просматривать на ПК и мобильном устройстве в любом месте. Недостаток: ограничения по количеству подключаемых источников.
Сервисы:
- Inoreader. Читалка лент с опцией кэширования информации, то есть просматривать сохраненные новости можно без подключения к интернету. Из плюсов: статьи можно читать полностью без перехода на источник, имеется приложение для гаджетов.
- Newsflow. Встроенная программа в Windows 10, новости размещаются по каталогам, вид сообщений настраивается под пользователя, статьи можно читать непосредственно в приложении. Количество источников не ограничено.
- Feedly, Palabre, Digg – сервисы и приложения для чтения лент, обладающие примерно схожим функционалом.
Для тех, кто предпочитает программные решения, разработчики предлагают: Mozilla Thunderbird и Awasu – для Windows; Newsfire и NewsLife – для MacOS.
Импорт RSS ВКонтакте – что это, зачем нужен и как подключить?
Что собой представляет импорт RSS ВКонтакте? Данная функция сегодня не подлежит подключению, разработчики социальной сети ввели ограничение и убрали возможность присоединится новым сообществам еще в августе 2022 г. Опция была доступна сугубо для групп в Вконтакте. Но, несмотря на ее отсутствие в списке дополнительных для подключения опций, она все равно работает в сообществах, которые успели ее активировать до введения ограничения. Рассмотрим, зачем она нужна и условия ее использования.
Кому это нужно
В свое время RSS провернул большую революцию, но сейчас его популярность падает. До сих еще много людей не знает, что это такое, но те кто пользуются имеют преимущество: они не ограничены в источниках, как в каталогах, например. RSS отлично справляются с большим потоком информации, в чем превосходят соцсети.
RSS подходит для тех источников, где в меньшей степени нужен отклик аудитории: лента не подходит для комментирования и лайков, читатель только знакомится с информацией. Такими источниками могут быть новостные порталы, библиотечные новости, обновление блогов.