Интеграция 1С-Битрикс с Яндекс.Дзен
Ручное копирование каждой новой статьи из блога на Битрикс в ленту Дзена отнимает часы и ведёт к ошибкам: сбивается форматирование, теряются изображения, даты публикации расходятся. Свяжитесь с нами для консультации по интеграции — мы автоматизируем этот процесс на уровне платформы.
Автоматический RSS-фид решает эту проблему раз и навсегда без вмешательства редактора. За время работы мы реализовали более 50 интеграций с Дзеном — все работают стабильно на протяжении многих лет и обеспечивают гарантированную доставку контента.
Мы разрабатывали такую интеграцию для сети региональных интернет-магазинов на платформе 1С-Битрикс. Ежемесячно выходило 30–50 статей, и после настройки фида контент попадал в Дзен за 15 минут без участия редактора. Экономия времени составила более 10 часов в неделю на команду — нагрузка на редактора снизилась на 30% и высвободились ресурсы на создание новых материалов.
Настройка RSS-фида для Дзена
Дзен принимает контент через RSS двух видов. Первый — обычный RSS с контентом в <description> или <content:encoded>. Простой, но даёт ограниченный контроль над оформлением. Второй — RSS с нативным Turbo-форматом, где используется <turbo:content>. Он позволяет передавать полноценный HTML, включая таблицы, цитаты и изображения с подписями. Если в статьях есть сложная вёрстка, выбирайте Turbo.
Преимущества Turbo-формата над стандартным RSS
Стандартный RSS передаёт только текстовое содержимое, изображения приходится вставлять через относительные ссылки — Дзен часто теряет их. Turbo-формат даёт гарантию, что картинки, блоки и таблицы отобразятся корректно. По нашим замерам, Turbo-фид приносит в 2 раза больше просмотров статей, чем обычный RSS.
Минимальный 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 2023 12:00:00 +0300</pubDate>
<author>[email protected] (Редакция)</author>
<turbo:content><![CDATA[
<figure>
<img src="https://example.ru/upload/iblock/abc/cover.jpg" alt="RSS фид для Яндекс Дзен">
<figcaption>Подпись к фото</figcaption>
</figure>
<p>Основной текст статьи...</p>
<h2>Подзаголовок</h2>
<p>Продолжение текста...</p>
]]></turbo:content>
</item>
</channel>
</rss>
Обратите внимание: изображение должно иметь абсолютный URL, иначе Дзен его не загрузит.
Генерация фида из инфоблока Битрикс
Технически создаём отдельную страницу /dzen-feed.php или кастомный компонент. Ниже пример генерации из инфоблока «Статьи» с тегированным кешированием на 30 минут:
<?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>';
В этом примере используется кеширование, чтобы не генерировать фид при каждом запросе. Подробнее о тегированном кешировании (документация Битрикс). Обработчик OnAfterIBlockElementAdd позволяет сбросить кеш при добавлении элемента.
Пошаговая настройка интеграции
- Создайте канал на Яндекс.Дзен и в настройках выберите "Источники" → "Добавить источник".
- Укажите URL вашего RSS-фида, сгенерированного из Битрикс.
- Дождитесь проверки фида (обычно несколько минут). Если фид валиден, Дзен начнет импорт статей.
- Настройте автоматический сброс кеша фида при публикации новых материалов через обработчик
OnAfterIBlockElementAdd. - Проверьте, что первые 10 статей успешно загрузились — это обязательное условие для начала импорта.
Типичные проблемы с приемом фида Дзеном
Даже правильно сгенерированный фид может не пройти валидацию. Частые причины: невалидный XML (проверьте через валидатор W3C), отсутствие обязательных полей (<title>, <link>, <pubDate>), некорректные URL изображений, слишком большой размер элемента (больше 1–2 МБ). Также Дзен требует, чтобы в фиде было не менее 10 публикаций для начала импорта.
Если фид не загружается, проверьте кодировку — должна быть UTF-8. Символы ]]> внутри CDATA блоков нужно экранировать: $content = str_replace(']]>', ']]]]><![CDATA[>', $content).
Требования к контенту
| Параметр | Обязательно | Примечание |
|---|---|---|
| Длина статьи | минимум 700 символов | Меньший объём снижает охват |
| Изображения | абсолютные URL | Дзен кеширует на своих серверах |
| Уникальность | да | Дублирование снижает охват |
Поле <pubDate> |
да | Используется для сортировки |
| Размер элемента | до 1–2 МБ | Иначе фид не валидируется |
Чек-лист перед запуском
- Убедитесь, что в фиде не менее 10 элементов.
- Проверьте валидность XML через W3C validator.
- Убедитесь, что все URL изображений абсолютные.
- Проверьте, что заголовки и даты заполнены для каждого элемента.
Мониторинг и автообновление
Дзен обходит фид каждые 15–30 минут. Новые элементы в начале фида подхватываются при следующем обходе. Обновлять pubDate у уже опубликованных материалов не нужно — Дзен не перепубликует их.
Для мгновенного уведомления о новой публикации добавьте обработчик OnAfterIBlockElementAdd:
AddEventHandler('iblock', 'OnAfterIBlockElementAdd', function(&$fields) {
if ($fields['IBLOCK_ID'] !== BLOG_IBLOCK_ID) return;
// Сбрасываем кеш фида
\Bitrix\Main\Data\Cache::createInstance()->cleanDir('/dzen');
});
Этот подход гарантирует, что Дзен увидит новую статью при следующем обходе, а не через полчаса.
Что входит в работу
- Анализ текущей структуры инфоблоков и контента.
- Настройка генерации RSS-фида с поддержкой Turbo-формата.
- Кеширование и оптимизация фида.
- Интеграция с системой управления контентом (агенты, события).
- Тестирование фида на валидность и совместимость с Дзеном.
- Документация по поддержке и модификации.
- Обучение контент-менеджеров.
- Пост-релизная поддержка 2 недели.
Сроки реализации
| Вариант | Состав | Срок |
|---|---|---|
| Простой RSS (без turbo:content) | Страница фида + кеш | 0.5–1 день |
| Turbo-фид с изображениями и структурой | Парсинг DETAIL_TEXT + обработка изображений | 1–2 дня |
| Мультиинфоблочный фид (статьи + новости + товары) | Объединённый фид из нескольких источников | 2–3 дня |
За время работы мы реализовали 50+ интеграций Битрикс с внешними сервисами, включая Дзен, и знаем все подводные камни. Закажите настройку RSS-фида — первый этап выполняется за день. Получите консультацию по интеграции вашего Битрикс с Дзеном — мы оценим проект за один рабочий день.Приобретайте услугу интеграции.
Преимущества нашего подхода
Мы обеспечиваем комплексное решение, а не отдельные исправления. Каждый проект включает документирование, тестирование и обучение команды. Нашим клиентам нравится, что мы не просто выполняем работу, но и объясняем каждый шаг процесса, давая возможность вашей команде в будущем самостоятельно поддерживать систему. Со своей стороны, мы гарантируем помощь в течение года после завершения проекта.
Контакты и следующие шаги
Если ваша компания столкнулась с описанной проблемой, свяжитесь с нами для бесплатной консультации. Проведём анализ вашей системы и предложим оптимальное решение. Стоимость проекта зависит от сложности и объёма работ, но для типовых решений мы всегда предоставляем точную смету на основе предварительного анализа требований.







