Почему блог на Битрикс требует отдельного подхода?
Часто слышим от клиентов: «Нам нужен блог на Битрикс, как у всех». Открываем админку — типовой инфоблок новостей с парой свойств. Но настоящий блог — это не лента пресс-релизов. Каждая статья должна быть поисковым магнитом: отвечать на конкретный запрос, иметь уникальную структуру и внутренние ссылки на другие статьи. В одной из наших практик после реструктуризации блога и настройки всех SEO-полей органический трафик вырос на 70% за три месяца. CommerceML — протокол обмена, который часто используют для синхронизации каталога, но блог по нему не передаётся, поэтому реализуем импорт отдельно.
При системном подходе каждая новая статья усиливает весь раздел: перелинковка по тегам, автоподбор связанных материалов и семантическая близость заголовков. Наша команда накопила 10+ лет опыта в разработке на Битрикс и реализовала более 500 проектов по наполнению контента. Мы знаем, что блог — это не просто лента новостей, а полноценный контент-маркетинговый инструмент, требующий глубокой проработки инфоблоков, шаблонов и SEO-настроек.
Инфоблок блога: отличия от новостей
В типовой структуре Битрикс блог и новости — один механизм, разница в настройках. Для блога инфоблок расширяется дополнительными свойствами:
-
READING_TIME— время чтения (в минутах, вычисляется автоматически) -
AUTHOR_ID— привязка к элементу инфоблока «Авторы» через свойство типа «Элемент» -
RELATED_ARTICLES— множественное свойство для блока «Читайте также» -
TABLE_OF_CONTENTS— автогенерируемое оглавление (JSON или HTML) -
TAGS— теги, множественное свойство
Отдельный инфоблок «Авторы» позволяет выводить биографию и другие статьи через CIBlockElement::GetByID() с минимальными запросами к базе.
Как настроить оглавление длинных статей?
Статьи блога часто длиннее 3 000 символов. Без оглавления пользователь не понимает, что его ждёт, и уходит. Стандартный TinyMCE в Битрикс не генерирует оглавление автоматически — это нужно реализовать.
| Критерий | PHP-вариант | JS-вариант |
|---|---|---|
| Скорость загрузки | Быстрее: оглавление готово до рендера | Медленнее: требуется обработка DOM |
| Видимость | Сразу | После выполнения JS |
| Поддержка | Требует правки шаблона | Независим от шаблона |
| Сложность реализации | Средняя | Низкая |
Вариант 1: скрипт на PHP в шаблоне компонента. После получения DETAIL_TEXT парсим заголовки H2/H3 через DOMDocument, присваиваем им атрибуты id, формируем массив для оглавления:
$dom = new DOMDocument('1.0', 'UTF-8'); $dom->loadHTML('<meta charset="UTF-8">' . $arResult['DETAIL_TEXT']); $headings = $dom->getElementsByTagName('h2'); $toc = []; foreach ($headings as $h) { $text = $h->textContent; $id = Cutil::translit($text, 'ru', ['replace_space' => '-', 'replace_other' => '']); $h->setAttribute('id', $id); $toc[] = ['id' => $id, 'text' => $text]; } $arResult['DETAIL_TEXT'] = $dom->saveHTML(); $arResult['TOC'] = $toc; Вариант 2: JS на клиенте. Скрипт после загрузки страницы находит все h2 в .article-body, навешивает ID и строит оглавление в боковой колонке. Проще в реализации, но оглавление не видно до выполнения JS.
Как выбрать вариант?
Если требуется мгновенная загрузка и оглавление видно сразу — выбирайте PHP. Если шаблон компонента не хочется трогать — JS подойдёт. Для сайтов с кэшированием страниц лучше PHP, потому что JS не будет работать, если скрипт не загружен.Внутренняя перелинковка
Статьи блога должны ссылаться друг на друга по теме. Ручная расстановка ссылок в тексте — трудоёмко и требует обновления. Полуавтоматический подход:
- В свойстве
RELATED_ARTICLESконтент-менеджер выбирает 3–5 связанных статей. - В шаблоне детальной страницы блок «Читайте также» выводит эти элементы через
CIBlockElement::GetByID(). - Дополнительно — скрипт автоматического поиска ключевых слов в тексте и подсветки их ссылками на релевантные статьи (по свойству
TAGS).
SEO-оптимизация при наполнении
Каждая статья — потенциальная посадочная страница. Минимальный набор SEO-настроек на уровне элемента инфоблока:
-
META_TITLE: ключевой запрос + бренд, до 65 символов -
META_DESCRIPTION: ответ на запрос + призыв к действию, 150–160 символов - Canonical URL: если статья доступна по нескольким URL, canonical указывает на основной. Следуйте рекомендациям из официальной документации Битрикс для настройки canonical.
В Битрикс canonical добавляется в шаблоне:
$APPLICATION->SetPageProperty('canonical', 'https://example.ru/blog/' . $arResult['CODE'] . '/'); Если блог крупный (500+ статей), настраивается sitemap через bitrix:main.map.google с отдельной картой для блога, с приоритетом 0.7–0.8 для свежих статей.
Изображения для блога
Для социального шаринга критичен размер OG-изображения. Стандарт — 1200×630 px. В Битрикс при загрузке детальной картинки компонент сам не ресайзит под OG. Добавляем автоматический ресайз:
$ogImage = CFile::ResizeImageGet( $arResult['DETAIL_PICTURE'], ['width' => 1200, 'height' => 630], BX_RESIZE_IMAGE_PROPORTIONAL_ALT ); $APPLICATION->SetPageProperty('og:image', SITE_SERVER_NAME . $ogImage['src']); Alt-текст к изображениям — обязателен. В Битрикс он хранится в поле DESCRIPTION записи таблицы b_file. При загрузке через стандартную форму контент-менеджер должен заполнять поле «Описание» — это alt.
Категории и теги: структура навигации
Типичная ошибка — создать 20 тегов без системы, под каждым 1–2 статьи. Правильная структура:
- Разделы инфоблока (категории блога) — широкие темы: «Маркетинг», «Разработка», «Аналитика». Выводятся как основное меню блога.
- Теги — конкретные подтемы. Должны встречаться минимум в 3–5 статьях.
Страницы категорий и тегов требуют отдельных SEO-описаний — через описание раздела в b_iblock_section (поле DESCRIPTION) или через свойства раздела.
Как автоматизировать наполнение блога?
Для регулярного блога с высокой частотой публикаций используем:
- Excel/CSV-импорт через стандартный модуль
iblockили кастомный скрипт сCIBlockElement::Add() - Парсер внешних источников — агент Битрикс, запускается по cron, забирает RSS или API, создаёт черновики со статусом «неактивен»
- OpenAI API для генерации черновиков на основе заголовков и ключевых слов (через
\Bitrix\Main\Web\HttpClient)
Опыт показывает, что автоматизация окупается за 2-3 месяца, если публиковать 10+ статей в неделю.
Что входит в работу
- Анализ текущей структуры инфоблоков и SEO
- Настройка инфоблока блога с дополнительными свойствами
- Разработка шаблона с автоматическим оглавлением
- Настройка SEO-полей и canonical
- Импорт контента (до 100 статей) с перелинковкой
- Автоматический ресайз изображений
- Интеграция с 1С (при необходимости)
- Обучение контент-менеджера
- Техническая поддержка 1 месяц после деплоя
Сроки
| Объём | Что входит | Срок |
|---|---|---|
| До 30 статей | Наполнение, SEO, изображения, перелинковка | 2–3 недели |
| 30–100 статей | + настройка шаблона с оглавлением, авторы | 3–6 недель |
| 100+ статей | + автоматизация импорта, категоризация | 6–10 недель |
Блог начинает давать трафик не сразу — первые позиции в поиске появляются через 2–4 месяца. Но при правильно выстроенном процессе каждая новая статья усиливает весь раздел через внутренние ссылки.
Оценим ваш проект за 1 рабочий день. Для получения консультации свяжитесь с нами — подготовим КП с детальным планом наполнения. Закажите наполнение блога под ключ с гарантией результата.







