Интеграция 1С-Битрикс с Яндекс.Дзен

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с Яндекс.Дзен
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Интеграция 1С-Битрикс с Яндекс.Дзен

Яндекс.Дзен (с 2023 года — просто «Дзен») принимает контент из внешних источников через RSS-фид. Для интернет-магазина или контентного сайта на Битрикс это означает автоматическую публикацию статей и материалов блога в ленту Дзена без ручного копирования. Технически задача — генерация правильного RSS и поддержание его актуальности.

Формат RSS для Дзена

Дзен поддерживает два вида фидов:

Обычный RSS — контент передаётся в <description> или <content:encoded>. Дзен читает текст, сам формирует страницу. Ограниченный контроль над оформлением.

RSS с нативным Турбо-форматом — расширенный формат с turbo:content, позволяет передавать полноценный HTML с изображениями и разметкой. Рекомендуется для статей с rich-контентом.

Минимальный RSS для Дзена:

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:turbo="http://turbo.yandex.ru">
  <channel>
    <title>Блог магазина</title>
    <link>https://example.ru/blog/</link>
    <language>ru</language>

    <item>
      <title>Как выбрать товар X</title>
      <link>https://example.ru/blog/kak-vybrat-x/</link>
      <pubDate>Fri, 13 Mar 2026 12:00:00 +0300</pubDate>
      <author>[email protected] (Редакция)</author>
      <turbo:content><![CDATA[
        <figure>
          <img src="https://example.ru/upload/iblock/abc/cover.jpg" alt="Обложка">
          <figcaption>Подпись к фото</figcaption>
        </figure>
        <p>Основной текст статьи...</p>
        <h2>Подзаголовок</h2>
        <p>Продолжение текста...</p>
      ]]></turbo:content>
    </item>

  </channel>
</rss>

Генерация фида из инфоблока Битрикс

Создаём страницу /dzen-feed.php или кастомный компонент. Пример генерации из инфоблока «Статьи»:

<?php
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');

header('Content-Type: application/rss+xml; charset=utf-8');

$iblockId = BLOG_IBLOCK_ID;
$limit    = 100; // Дзен рекомендует 50–200 последних публикаций

$cache = \Bitrix\Main\Data\Cache::createInstance();
$cacheKey = 'dzen_feed';

if ($cache->startDataCache(1800, $cacheKey, '/dzen')) {
    $items = [];

    $res = CIBlockElement::GetList(
        ['ACTIVE_FROM' => 'DESC'],
        ['IBLOCK_ID' => $iblockId, 'ACTIVE' => 'Y'],
        false,
        ['nTopCount' => $limit],
        ['ID', 'NAME', 'DETAIL_PAGE_URL', 'DETAIL_TEXT',
         'PREVIEW_TEXT', 'DETAIL_PICTURE', 'ACTIVE_FROM', 'TAGS']
    );

    while ($el = $res->GetNextElement()) {
        $fields = $el->GetFields();
        $props  = $el->GetProperties();

        $imgHtml = '';
        if ($fields['DETAIL_PICTURE']) {
            $file = CFile::GetFileArray($fields['DETAIL_PICTURE']);
            if ($file) {
                $imgHtml = '<figure><img src="https://' . SITE_SERVER_NAME
                         . $file['SRC'] . '" alt="'
                         . htmlspecialchars($fields['NAME']) . '"></figure>';
            }
        }

        $content = $imgHtml . $fields['DETAIL_TEXT'];

        $items[] = [
            'title'    => $fields['NAME'],
            'link'     => 'https://' . SITE_SERVER_NAME . $fields['DETAIL_PAGE_URL'],
            'pubDate'  => date('r', MakeTimeStamp($fields['ACTIVE_FROM'])),
            'author'   => 'editor@' . SITE_SERVER_NAME,
            'content'  => $content,
        ];
    }

    $cache->endDataCache(['items' => $items]);
} else {
    $items = $cache->getVars()['items'];
}

echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<rss version="2.0"'
   . ' xmlns:content="http://purl.org/rss/1.0/modules/content/"'
   . ' xmlns:turbo="http://turbo.yandex.ru">';
echo '<channel>';
echo '<title>' . htmlspecialchars(SITE_NAME) . '</title>';
echo '<link>https://' . SITE_SERVER_NAME . '/blog/</link>';
echo '<language>ru</language>';

foreach ($items as $item) {
    echo '<item>';
    echo '<title>' . htmlspecialchars($item['title']) . '</title>';
    echo '<link>' . htmlspecialchars($item['link']) . '</link>';
    echo '<pubDate>' . $item['pubDate'] . '</pubDate>';
    echo '<author>' . htmlspecialchars($item['author']) . '</author>';
    echo '<turbo:content><![CDATA[' . $item['content'] . ']]></turbo:content>';
    echo '</item>';
}

echo '</channel></rss>';

Требования к контенту

Дзен предъявляет требования к публикациям:

  • Объём: статьи менее 700 символов могут плохо распространяться в ленте
  • Изображения: обязательны абсолютные URL, Дзен кеширует изображения на своих серверах
  • Уникальность: дублирование контента между публикациями снижает охват
  • Дата: поле <pubDate> с корректной датой обязательно для корректной сортировки

В DETAIL_TEXT Битрикс хранит HTML-текст, обработанный редактором. В фид он идёт как есть — внутри CDATA теги не экранируются. Если контент содержит ]]> (крайне редко), нужна замена: $content = str_replace(']]>', ']]]]><![CDATA[>', $content).

Подключение канала в Дзене

  1. Создайте канал на zen.yandex.ru (или dzen.ru) через аккаунт Яндекса
  2. В настройках канала → «Источники» → «Добавить источник» → вставьте URL фида
  3. Дзен проверит фид и начнёт импорт. Первая публикация появляется в течение нескольких часов
  4. После проверки 10–50 публикаций канал получает возможность монетизации

Мониторинг и автообновление

Дзен обходит фид каждые 15–30 минут. Обновлять pubDate у уже опубликованных материалов не нужно — Дзен не перепубликует их. Новые элементы в начале фида подхватываются при следующем обходе.

Для уведомления Дзена о новом контенте можно отправлять ping-запрос после публикации нового материала через обработчик OnAfterIBlockElementAdd:

AddEventHandler('iblock', 'OnAfterIBlockElementAdd', function(&$fields) {
    if ($fields['IBLOCK_ID'] !== BLOG_IBLOCK_ID) return;

    // Сбрасываем кеш фида
    \Bitrix\Main\Data\Cache::createInstance()->cleanDir('/dzen');
});

Сроки реализации

Вариант Состав Срок
Простой RSS (без turbo:content) Страница фида + кеш 0.5–1 день
Turbo-фид с изображениями и структурой Парсинг DETAIL_TEXT + обработка изображений 1–2 дня
Мультиинфоблочный фид (статьи + новости + товары) Объединённый фид из нескольких источников 2–3 дня