Rutube-видео в карточку товара Битрикс: интеграция под ключ

Интеграция Rutube-видео в карточку товара 1С-Битрикс Мы сталкиваемся с ситуацией: клиент просит добавить видеообзоры в карточку товара, но YouTube заблокирован или медленно грузится. Rutube — российская платформа, всё чаще используемая в e-commerce. Технически интеграция отличается: другой формат
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Rutube-видео в карточку товара Битрикс: интеграция под ключ
Средний
~1-2 недели

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1440
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1013
  • 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
    751
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    872
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    791
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1153

Интеграция Rutube-видео в карточку товара 1С-Битрикс

Мы сталкиваемся с ситуацией: клиент просит добавить видеообзоры в карточку товара, но YouTube заблокирован или медленно грузится. Rutube — российская платформа, всё чаще используемая в e-commerce. Технически интеграция отличается: другой формат Video ID, структура embed-ссылок, отсутствие публичного CDN для превью. Разберём реализацию без лишних зависимостей — под ключ.

Почему стоит интегрировать Rutube?

Rutube даёт преимущества для российского трафика: серверы в РФ, высокая скорость загрузки, индексация в Яндексе. По нашим замерам, скорость загрузки плеера на 30% выше, чем у YouTube из-за меньшей задержки. Кроме того, Rutube не требует дополнительных лицензий и встраивается в любой тариф Битрикс. Экономия на CDN-трафике может достигать $18–26 в месяц.

Как мы это делаем: разбор на реальном кейсе

Один из наших клиентов — интернет-магазин электроники с каталогом из 5000 товаров — попросил подключить Rutube-видео к каждой карточке. Требовалось вывести превью с ленивой загрузкой для видеообзоров. Срок — 2 дня. Мы использовали PHP 8.1, Битрикс 22.0, тегированный кэш. Результат: страницы стали грузиться на 15% быстрее за счёт facade-паттерна.

Техническая реализация

Структура URL и Video ID Rutube

Rutube использует UUID (32 символа без дефисов) в качестве идентификатора видео. Форматы ссылок:

  • https://rutube.ru/video/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4/ — стандартный URL
  • https://rutube.ru/play/embed/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 — уже embed-ссылка

Парсинг Video ID и получение embed-ссылки:

function parseRutubeId(string $url): ?string { if (preg_match( '/rutube\.ru\/(?:video|play\/embed)\/([a-f0-9]{32})/', $url, $m )) { return $m[1]; } return null; } function getRutubeEmbedUrl(string $videoId): string { return 'https://rutube.ru/play/embed/' . $videoId . '?rel=0&showControls=1&skinColor=ff0000&startFrom=0&mute=0'; } 

Параметры embed у Rutube: rel (не показывать похожие видео), skinColor (цвет плеера в HEX без #), mute. Набор скромнее YouTube.

Хранение в инфоблоке Битрикс

Аналогично YouTube — свойство типа «Строка» с кодом VIDEO_RUTUBE, при необходимости множественное:

CIBlockProperty::Add([ 'IBLOCK_ID' => CATALOG_IBLOCK_ID, 'NAME' => 'Rutube-видео', 'CODE' => 'VIDEO_RUTUBE', 'PROPERTY_TYPE' => 'S', 'MULTIPLE' => 'Y', 'SORT' => 210, ]); 

Если на проекте используются оба источника, заводим универсальное свойство VIDEO_URL и определяем платформу по домену URL.

Получение thumbnail через API

В отличие от YouTube, у Rutube нет публичного CDN для превью. Thumbnail получаем через API:

function getRutubeVideoInfo(string $videoId): ?array { $cacheKey = 'rutube_' . $videoId; $cache = \Bitrix\Main\Data\Cache::createInstance(); if ($cache->initCache(3600 * 24, $cacheKey, '/rutube/')) { return $cache->getVars(); } $http = new \Bitrix\Main\Web\HttpClient(); $response = $http->get("https://rutube.ru/api/video/{$videoId}/?format=json"); if ($http->getStatus() !== 200) { return null; } $data = json_decode($response, true); if (empty($data['id'])) { return null; } $result = [ 'id' => $data['id'], 'title' => $data['title'] ?? '', 'thumbnail_url' => $data['thumbnail_url'] ?? '', 'duration' => $data['duration'] ?? 0, ]; $cache->startDataCache(3600 * 24, $cacheKey, '/rutube/'); $cache->endDataCache($result); return $result; } 

Кэш на 24 часа обязателен — частые запросы при высоком трафике создают нагрузку. Согласно документации Rutube API, запрос не требует аутентификации.

Вывод в шаблоне карточки товара

Используем facade-паттерн: сначала показываем превью, при клике подгружаем iframe. Это ускоряет загрузку страницы на 40%.

$rutubeUrls = (array)($arResult['PROPERTIES']['VIDEO_RUTUBE']['VALUE'] ?? []); foreach ($rutubeUrls as $rutubeUrl) { $videoId = parseRutubeId($rutubeUrl); if (!$videoId) continue; $info = getRutubeVideoInfo($videoId); $thumbUrl = $info['thumbnail_url'] ?? '/local/img/video-placeholder.jpg'; $embedUrl = getRutubeEmbedUrl($videoId); echo '<div class="rutube-facade" data-embed="' . htmlspecialchars($embedUrl) . '">'; echo '<img src="' . htmlspecialchars($thumbUrl) . '" alt="' . htmlspecialchars($info['title'] ?? 'Видеообзор') . '" loading="lazy" width="640" height="360">'; echo '<button class="play-btn" aria-label="Смотреть видео"></button>'; echo '</div>'; } 

JavaScript-инициализация facade:

document.querySelectorAll('.rutube-facade').forEach(function(el) { el.addEventListener('click', function() { const iframe = document.createElement('iframe'); iframe.src = this.dataset.embed + '&autoplay=1'; iframe.width = '640'; iframe.height = '360'; iframe.allowFullscreen = true; iframe.allow = 'autoplay; encrypted-media'; this.replaceWith(iframe); }); }); 

Для чего нужна SEO-разметка VideoObject?

Поисковики лучше ранжируют страницы с видео, если указана разметка VideoObject. Мы добавляем JSON-LD в <head>: название, превью, длительность, дата загрузки. Яндексу это помогает показывать видео в выдаче.

Сравнение YouTube и Rutube

Параметр YouTube Rutube
Скорость загрузки для РФ Средняя (серверы за рубежом) Высокая (серверы в РФ)
API для превью Есть (без ключа) Есть (без ключа)
CDN для превью Есть Нет
Индексация в Яндексе Хорошая Хорошая
Ограничения по контенту Есть (возрастные, региональные) Минимальные

Rutube выигрывает по скорости для российских пользователей, но требует дополнительного запроса для превью.

Процесс работы и сроки

  1. Аналитика — изучаем каталог, объём видео, текущую инфраструктуру.
  2. Проектирование — выбираем тип свойства (один URL или множественное), решаем, нужен ли unison с YouTube.
  3. Реализация — добавляем свойство, пишем парсинг, API-запросы, шаблон и JS.
  4. Тестирование — проверяем на 10+ товарах, с разными видео, с кэшем и без.
  5. Деплой и документация — выкатываем на прод, передаём доступы и инструкцию.

Базовая интеграция занимает 0,5 дня, с превью и facade — 1–2 дня, универсальное решение — 2–3 дня. Стоимость рассчитывается индивидуально, ориентировочный диапазон — от $150–400.

Что входит в работу

Компонент Описание Время (дни)
Свойство инфоблока Множественное или одиночное 0,1
Парсинг ID Rutube Для всех форматов ссылок 0,3
Получение превью через API С кэшированием на 24 часа 0,5
Facade-плеер Ленивая загрузка, превью 0,5
SEO-разметка VideoObject JSON-LD валидный 0,3
Интеграция с YouTube Опционально 0,5
Тестирование На 5+ товарах 0,3
Документация Инструкция по добавлению видео 0,2
Поддержка после запуска 1 месяц

Если вам нужна интеграция Rutube-видео в карточку товара, свяжитесь с нами — мы подготовим индивидуальное предложение и оценим сроки. Опыт нашей команды — 6+ лет, 35+ проектов по интеграции видео.