Интеграция 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-фида — первый этап выполняется за день. Получите консультацию по интеграции вашего Битрикс с Дзеном — мы оценим проект за один рабочий день.Приобретайте услугу интеграции.
Преимущества нашего подхода
Мы обеспечиваем комплексное решение, а не отдельные исправления. Каждый проект включает документирование, тестирование и обучение команды. Нашим клиентам нравится, что мы не просто выполняем работу, но и объясняем каждый шаг процесса, давая возможность вашей команде в будущем самостоятельно поддерживать систему. Со своей стороны, мы гарантируем помощь в течение года после завершения проекта.
Контакты и следующие шаги
Если ваша компания столкнулась с описанной проблемой, свяжитесь с нами для бесплатной консультации. Проведём анализ вашей системы и предложим оптимальное решение. Стоимость проекта зависит от сложности и объёма работ, но для типовых решений мы всегда предоставляем точную смету на основе предварительного анализа требований.







