Реалізація RSS-Turbo (Яндекс.Дзен) для сайту

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Реалізація RSS-Turbo (Яндекс.Дзен) для сайту
Проста
від 1 робочого дня до 3 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Настройка RSS-ленти для Яндекс Турбо та Дзен

RSS-лента — єдина точка входу для агрегаторів: Яндекс.Дзен, Яндекс Турбо, Google News, Telegram-боти. Для кожної платформи потрібен правильний формат та набір атрибутів.

Універсальна RSS-лента

// RssFeedController
class RssFeedController extends Controller
{
    public function articles(): Response
    {
        $articles = Article::published()
            ->with(['author', 'category'])
            ->latest('published_at')
            ->limit(100)
            ->get();

        $content = view('feeds.articles-rss', compact('articles'))->render();

        return response($content, 200, [
            'Content-Type'  => 'application/rss+xml; charset=utf-8',
            'Cache-Control' => 'public, max-age=1800',
        ]);
    }
}
{{-- resources/views/feeds/articles-rss.blade.php --}}
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:turbo="http://turbo.yandex.ru">
  <channel>
    <title>{{ config('app.name') }}</title>
    <link>{{ config('app.url') }}</link>
    <description>Статті про розробку</description>
    <language>uk</language>
    <lastBuildDate>{{ now()->toRfc2822String() }}</lastBuildDate>
    <image>
      <url>{{ asset('img/logo-rss.png') }}</url>
      <title>{{ config('app.name') }}</title>
      <link>{{ config('app.url') }}</link>
    </image>

    @foreach($articles as $article)
    <item turbo="true">
      <title>{{ htmlspecialchars($article->title) }}</title>
      <link>{{ route('articles.show', $article) }}</link>
      <guid isPermaLink="true">{{ route('articles.show', $article) }}</guid>
      <pubDate>{{ $article->published_at->toRfc2822String() }}</pubDate>
      <author>{{ $article->author->email }} ({{ $article->author->name }})</author>
      <category>{{ $article->category->name }}</category>
      <description><![CDATA[{{ $article->excerpt }}]]></description>

      {{-- Повний текст для Дзена та Турбо --}}
      <content:encoded><![CDATA[
        @if($article->cover_url)
        <figure>
          <img src="{{ $article->cover_url }}" alt="{{ $article->title }}"/>
        </figure>
        @endif
        {!! $article->content !!}
      ]]></content:encoded>

      {{-- Media RSS для обкладинки --}}
      @if($article->cover_url)
      <media:content url="{{ $article->cover_url }}" medium="image" type="image/jpeg">
        <media:title>{{ $article->title }}</media:title>
      </media:content>
      @endif

      {{-- Турбо-контент --}}
      <turbo:content><![CDATA[
        <header><h1>{{ $article->title }}</h1></header>
        {!! $article->content !!}
      ]]></turbo:content>
    </item>
    @endforeach
  </channel>
</rss>

Підключення до Яндекс.Дзена

Яндекс.Дзен приймає контент через RSS:

  1. Перейдіть на dzen.ru → Створіть канал
  2. У настройках каналу виберіть "Автоматичний імпорт по RSS"
  3. Вкажіть URL: https://example.com/feed/articles.xml
  4. Перевірте коректність через вбудований валідатор Дзена

Вимоги Дзена до RSS:

  • Статей не менше 10 для перевірки
  • У <content:encoded> — повний текст, не анонс
  • Зображення повинні бути доступні (не 403)
  • Мінімум 1 публікація на тиждень для активного статусу

Атрибут <turbo> та різні ленти

Можна вести одну ленту з атрибутом turbo="true" для обох сервісів, або розділити:

Route::get('/feed.xml',       [RssFeedController::class, 'articles']);    // Основна
Route::get('/turbo-feed.xml', [RssFeedController::class, 'turbo']);        // Тільки Турбо
Route::get('/dzen-feed.xml',  [RssFeedController::class, 'dzen']);         // Для Дзена зі спеціальними правилами

Автооновлення та сповіщення агрегаторів

// При публікації статті — пингуємо агрегаторів
public function handle(ArticlePublished $event): void
{
    $feedUrl = urlencode(route('feed.articles'));

    // Яндекс пінг
    Http::get("https://blogs.yandex.ru/pings/?status=success&url={$feedUrl}");

    // Google
    Http::get("https://pubsubhubbub.appspot.com/?hub.mode=publish&hub.url={$feedUrl}");
}

Терміни

Настройка RSS з поддержкою Турбо та Дзена, пінг агрегаторів: 1 робочий день.