Лента RSS для яндекс-турбо или яндекс-дзен (FREE) 1.X

4782
Компонент позволяет сформировать и выгрузить ленту контента в соответствии с требованиями яндекс-турбо и яндекс-дзен.

Вот тут статья яндекса об этой технологии и её преимуществах.

Есть разные мнения специалистов, т.ч. погуглите сеть, чтобы понимать с чем именно вы здесь имеете дело.

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

В бесплатной версии компонент обрабатывает только контент компонентов Cтатьи, InstantMaps и Доски объявлений.

В разработке принимал активное участие AtlantisWeb, за что ему моя искренняя благодарность.

Поддержка бесплатной версии, а также следующих версий InstantCMS не гарантируется, но по мере сил будет.

Инструкции по установке в архиве.
P.S.
- Компонент обновлён 04.01.2018г. до версии 1.2
- Компонент обновлён 05.01.2018г. до версии 1.2.1
.....
- Компонент обновлён 18.02.2018г. до версии 1.2.4


1.Добавлен вывод картинок справа от ссылок снизу турбо страниц
скрин
2. Доработана и улучшена админка компонента
3 скина
3. Добавлена обработка компонента объявлений

Обновление:
Лента RSS для яндекс-турбо или яндекс-дзен(FREE) (обновление)
Комментарии (52)
@SHDF2 3 января 2018 в 22:54 0
Добро, добро!! Наконец то кто то взялся из 1 ветку. А может для AMP страниц имеется у кого нибудь разработка?
sindoyun 4 января 2018 в 12:39 +1
Привет. Для второй ветки стоит ждать?
Бичукин Андрей 4 января 2018 в 12:44 +1
Добрый день! Для второй ветки я видел два готовых решения. Вот ссылка на последнее http://instantcms.ru/blogs/uluchshaem-vozmozhnosti-lyubimoi-instantcms/rss-fail-dlja-turbo-stranic-jandeksa.html
Там есть и ссылка на первое решение для второй ветки.
@SHDF2 4 января 2018 в 12:44 0
@SHDF2 4 января 2018 в 12:46 0
Ошибку валидации выдает данный компонент http://addons.instantcms.ru/addons/rssyandex.html
Бичукин Андрей 4 января 2018 в 12:50 0
Сделано на основе 1.10.6. Работает и на 1.10.7 вроде нормально. Возможно ошибка из-за этого.
Также, в яндексе есть возможность развернуть детали ошибки. Посмотрите, что именно там пишет. Если можно, то скрин выложите сюда или в личку. Посмотрю, что можно сделать.
@SHDF2 4 января 2018 в 12:53 0
URL источника запрещен в robots.txt
Бичукин Андрей 4 января 2018 в 12:58 0
В таком случае вопрос не компоненте, а в вашем robots.txt. Он в корне сайта лежит. ...там будет строка типа:
Disallow: /rss*
Замените её на:
Disallow: */feed.rss
Если у вас не так, то киньте ссылку на ваш сайт сюда или в личку.
Бичукин Андрей 4 января 2018 в 13:08 0
Потом обновите в яндексе ленту. Там есть такая опция. Там же, где разворачиваются детали ошибок.
И ещё скачайте заново архив компонента и обновите файлы. Там пару мелких ошибок в текстах админки исправил.
@SHDF2 4 января 2018 в 13:17 0
Теперь такая ошибка: Не удалось скачать RSS-канал (N / aДокумент не содержит текст)
Бичукин Андрей 4 января 2018 в 13:18 0
Скиньте ссылку на ваш фид и уточните версию движка.
@SHDF2 4 января 2018 в 13:19 0
Бичукин Андрей 4 января 2018 в 13:27 0
Нашёл ошибку. Прямо перед выкладкой делал тюнинг и немного ошибся. Сейчас всё поправил и перезалил архив. Обновите файлы и всё должно заработать.
@SHDF2 4 января 2018 в 13:29 0
А где именно? Просто я файлы под себя уже переделал.
Бичукин Андрей 4 января 2018 в 13:32 0
Ок. Тогда найдите файл /components/rssyandex/frontend.php
Строка 85: $rssyandex .= '<item turbo='.$item['truefalsh'].'>' ."\n";
Замените на: $rssyandex .= '<item turbo="'.$item['truefalsh'].'">' ."\n";
Бичукин Андрей 4 января 2018 в 13:36 0
И, чисто для эстетики, если вот в этих файлах ничего под себя не меняли, то перезалейте:
1. /admin/components/rssyandex/backend.php
2. /languages/ru/admin/components/rssyandex.php
Там ошибки текста в админке поправлены.
@SHDF2 4 января 2018 в 15:13 0
Отсутствует текст в элементе turbo:content (2 ошибки)
Бичукин Андрей 4 января 2018 в 17:07 0
Смотрите на какие именно статьи ссылается яндекс и смотрите их содержимое. Оно его и не устраивает.
Я увидел, как и яндекс две статьи с пустым содержимым:
1. http://tatplus.ru/shopvk.html
2. https://tatplus.ru/chto-delat-i-kak-postupit-esli-nuzhno-sr.html
Юрий 4 января 2018 в 17:31 0
Возникла такая проблема в ленте идет строка <title>7 декабря ресторан Nar&Sharab отметит свое 2-летие!</title> яндекс выдает за ошибку используемый символ &
Что делать?
Бичукин Андрей 4 января 2018 в 17:56 0
С ходу возникает два решения:
1. Просто проигнорировать эту ошибку. Если не ошибаюсь, то это не влияет на публикацию всего остального.
2. Изменить название статьи и как-то изловчиться удалить это символ.
Как удалять такие символы программно из самой ленты я не знаю. Может кто из профи подскажет.
Если будут ещё мысли отпишусь.
@SHDF2 4 января 2018 в 21:02 0
Сделал и для доски объявлений : https://tatplus.ru/rssyandex/board/all/yandex.xml
С чем разобрался с тем разобрался. А вот что делать дальше не знаю.
Ошибку выдаёт веб мастер: Не удалось скачать RSS-канал (N&#8202;/&#8202;aДокумент не содержит текст)
Бичукин Андрей 4 января 2018 в 21:17 +1
Я выше писал причину:
Смотрите на какие именно статьи ссылается яндекс и смотрите их содержимое. Оно его и не устраивает.
Я увидел, как и яндекс две статьи с пустым содержимым:
1. http://tatplus.ru/shopvk.html
2. https://tatplus.ru/chto-delat-i-kak-postupit-esli-nuzhno-sr.html

P.S. Файлом для доски поделитесь, чтобы в следующей версии приложить?
P.S.S. Кстати, компонент обновлён уже. Я в посте написал об этом. Можно скачивать и обновлять. Изменений много. Просто двумя строчками не поправить.
Бичукин Андрей 4 января 2018 в 21:19 +1
Кстати, эта ошибка в вебмастере касается только этих двух страниц и больше ни на что не должна влиять. Это значит, что эти две выводиться в турбо не будут.
@SHDF2 4 января 2018 в 21:51 0
Бичукин Андрей 4 января 2018 в 22:09 0
Не совсем. Я про этот /components/board/prssyandex.php
@SHDF2 4 января 2018 в 23:37 0
@SHDF2 5 января 2018 в 12:41 0
Все я доработал и для доски объявлений.
@SHDF2 5 января 2018 в 13:49 0
Только вот проблема, почему то то изображение не отображается что в статьях, что в доске. Я как понял теги не так расположены. Тег <head> вроде должен же быть внутри <![CDATA[
Бичукин Андрей 5 января 2018 в 14:50 0
Думаю, что дело не в этом. У меня на трёх сайтах всё нормально выводится. Там в дополнении есть скрин выведенного изображения. Я вижу, что в вашем фиде вообще изображения не выводятся ни в каком месте. Вы как обновляли компонент?
@SHDF2 5 января 2018 в 15:05 0
Еще не обновлял. Если обновлю пропадет доска.
Бичукин Андрей 5 января 2018 в 15:25 0
Видимо тогда речь идёт об основных изображениях статей. Посмотрел ваш фид ещё раз. Вижу, что в некоторых статьях у вас изображений в самих статьях нет. Т.е. они есть в тексте, но нет в поле изображения. Нашёл, что вот к этой статье https://tatplus.ru/novosti/vkontakte-ne-rabotaet-segodnja-vo-vseh-r.html вроде изображение отправляется в фид вот это https://tatplus.ru/images/photos/small/article59.jpg но оно же на вашем сайте не выведено. По идее в турбо оно должно выводится. Проверьте в турбо, там есть предварительный просмотр, статью с названием "Вконтакте не работает сегодня во всех регионах России". Она тоже без изображения? Если изображение к этой статье есть, то просто добавьте реальные изображения в нужные поля ваших статей и всё появится.
P.S. В этой статье "С. В.Татышлы готовится к новому году" тоже всё должно быть нормально.
Бичукин Андрей 5 января 2018 в 21:44 0
Компонент обновлён 05.01.2018г. до версии 1.2.1 - Добавлена обработка компонента объявлений
exsoft 9 февраля 2018 в 11:34 0
Яндекс дзен требует текст полной новости обертывать в теги<content:encoded>...</content:encoded>, но если его обернуть в эти теги, то валидатор выдает ошибку
Код PHP:
  1.  
  2. line 29, column 0: XML parsing error: <unknown>:29:0: unbound prefix [help]
  3.  
  4. <content:encoded><![CDATA[<p style="text-align: justify;">&nbsp;&laquo;Росте ...
  5. In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
  6.  
как это можно поправить?
Бичукин Андрей 9 февраля 2018 в 12:54 0
Добрый день! Я не нашёл этого требования на яндексе. Вижу только вот это:
<item turbo="true"><!--Информация о странице-->
...
<turbo:content>...</turbo:content><!--Содержимое страницы-->
...
</item>
Т.е. по умолчанию у меня всё сделано правильно и работает без ошибок. Можете дать ссылку на яндексe, где расписано это требование?
Бичукин Андрей 9 февраля 2018 в 13:10 0
Нашёл сам. Искал в турбо, а нужно было в дзене искать. Добавил тег и попробоавал в валидаторе турбостраниц. Всё работает. Валидатора дзена я не знаю. Дайте ссылку, если такой есть.
Исправлять нужно так:
1. Вначале находим в /components/rssyandex/frontend.php
$rssyandex .= '<turbo:content>';
и заменяем на
$rssyandex .= '<content:encoded><turbo:content>';
2. Потом ищем
$rssyandex .= ']]></turbo:content>' ."\n";
и заменяем на
$rssyandex .= ']]></turbo:content></content:encoded>' ."\n";
Попробуйте и отпишите. У меня нет рабочего дзен-канала. Если всё работает, то перезалью архив.
exsoft 9 февраля 2018 в 15:10 0
Сотрудники ТП Дзена отправляют на этот валидатор https://validator.w3.org/feed/

Я попробовал с изменениями о которых Вы написали, валидатор выдает такую ошибку

Код PHP:
  1. line 22, column 0: XML parsing error: <unknown>:22:0: unbound prefix [help]
  2.  
  3. <content:encoded><turbo:content>
  4. In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
exsoft 9 февраля 2018 в 15:12 0
Отправлю с этими изменениями на модерацию в Дзен, посмотрим, что ответят.
exsoft 10 февраля 2018 в 15:13 0
Сейчас получил ответ модераторов Дзена

Сейчас я вижу, что лента содержит форматную ошибку, мы не можем её прочитать: Format error: Read failed (no details available)
Бичукин Андрей 10 февраля 2018 в 21:14 0
Посмотрел детальную спецификацию дзен и вижу большое различие с турбо. Не понимаю тога утверждения самих сотрудников яндекса о полной совместимости. Видимо это была их мечта...несбывшаяся. Увы. Думаю, что под дзен придётся делать свой собственный фид. Как появится время сделаю.
exsoft 12 февраля 2018 в 13:15 0
Вот что еще добавили в яндексе:
Проверили ленту — сейчас она содержит несколько ошибок в разметке. Тэг <content:encoded> — это обязательный для ранжирования тэг, в нём должен содержаться полный текст публикации. При этом в самом тэге <content:encoded> советуем не использовать HTML-тэги за исключением <p> и <img>, а также не использовать атрибуты стиля. Тэг <img> в свою очередь должен быть завернут в тэг <figure>. Также необходимо убрать из кода HTML-тэги (в т.ч. <header>, <h1> и т.д.)
Бичукин Андрей 12 февраля 2018 в 21:40 0
Компонент обновлён и перезалит. Чтобы переключить формат с турбо на дзен, нужно включить это в настройках статей. Проверьте и дайте знать пожалуйста, как поддержка яндекса всё приняла.
P.S. Я проверил их собственный пример фида в том самом валидаторе куда они посылают, так он аж заклинивает от кол-ва ошибок.
Вывод - их тербования к формату и тот валидатор ничего общего не имеют. К сожалению внешнего инструмента для проверки фида нет. Сделал строго по их требованиям. Попробуем среагировать на ходу, если что.
exsoft 15 февраля 2018 в 14:18 0
У меня после обновления компонента по ссылке потока выдает ошибку HTTP ERROR 500
Бичукин Андрей 15 февраля 2018 в 17:38 0
можете дать ссылку на эту ленту?
exsoft 16 февраля 2018 в 16:10 0
Написал Вам в ЛС
Бичукин Андрей 17 февраля 2018 в 22:23 0
Разобрался с вопросом. Из-за опционального разделения на два формата образовался перегруз при больших размерах лент. У меня примерно 100 записей нормально обрабатывает, а потом начинаются провалы.
Или как-то придумаю облегчить этот код, или просто отделю турбо от дзен в разные компоненты, что видимо будет проще и логичней сделать. На днях переработаю и дам знать.
Бичукин Андрей 18 февраля 2018 в 15:17 0
Обновил версию и оптимизировал работу с большими массивами. Можно тестить.
@SHDF2 5 января 2018 в 15:08 0
А есть кто над AMP для первой ветки занимается?
Сейчас AMP и внутри ВКонтакте поддерживаются - это очень круто.
@SHDF2 5 января 2018 в 15:11 0
Вот статья на эту тему https://vk.com/blog/amp
Бичукин Андрей 5 января 2018 в 15:28 0
АМР с помощь фида не решить видимо. Как я понял из документации Гугла, можно создать поддомен типа amp.мой сайт.ru, подключить его к базе мой сайт.ru а на нём сверстать простой шаблон под их требования.
@SHDF2 5 января 2018 в 15:44 +1
По любому кто то читает тут комментарии, который создал генератор AMP страниц. А сам не хочет делиться разработкой.
Юрий 9 января 2018 в 09:03 0
Только у меня небольшая ошибка в админке перепутаны подписи к ссылкам?
Разрешить яндексу публиковать ленту из геокаталога
Разрешить яндексу публиковать ленту статей
Бичукин Андрей 9 января 2018 в 11:38 0
Есть такое дело. Пардон. Поправил и перезалил. Можно обновить только файл /admin/componets/rssyandex/backend.php