Наповнення блогу контентом 1С-Бітрікс
Блог на Бітрікс — найчастіше той самий інфоблок, що й новини, але з іншою структурою контенту та іншими вимогами до SEO. Проблема, яку вирішують при наповненні: статті блогу мають працювати як посадкові сторінки за інформаційними запитами, а не просто як текстовий архів. Це означає семантичне ядро, внутрішні посилання між статтями, правильну розмітку заголовків і таблицю змісту для довгих матеріалів.
Інфоблок блогу: відмінності від новин
У типовій структурі Бітрікс блог і новини — один і той самий механізм, різниця в налаштуваннях. Для блогу інфоблок розширюється додатковими властивостями:
-
READING_TIME— час читання (у хвилинах, обчислюється автоматично) -
AUTHOR_ID— прив'язка до елемента інфоблоку «Автори» через властивість типу «Елемент» -
RELATED_ARTICLES— множинна властивість типу «Елемент» для блоку «Читайте також» -
TABLE_OF_CONTENTS— автоматично згенерований зміст (JSON або HTML) -
TAGS— теги, множинна властивість
Окремий інфоблок «Автори» (b_iblock_element з IBLOCK_ID авторів) дозволяє виводити біографію автора та його інші статті через CIBlockElement::GetByID() з мінімальними запитами до бази.
Структура довгих статей
Статті блогу часто довші за 3 000 символів і містять кілька смислових блоків. Без змісту користувач не розуміє, що на нього чекає, і іде. Стандартний TinyMCE у Бітрікс не генерує зміст автоматично — це потрібно реалізувати:
Варіант 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.
Внутрішня перелінковка
Статті блогу мають посилатися одна на одну за темою. Ручне розставлення посилань у тексті — трудомістко і потребує оновлення при додаванні нових матеріалів.
Напівавтоматичний підхід:
- У властивості
RELATED_ARTICLESконтент-менеджер вибирає 3–5 пов'язаних статей. - У шаблоні детальної сторінки блоку «Читайте також» ці елементи виводяться через
CIBlockElement::GetByID(). - Додатково — скрипт автоматичного пошуку ключових слів у тексті та підсвічування їх посиланнями на релевантні статті (за властивістю
TAGS).
SEO-оптимізація при наповненні
Кожна стаття блогу — потенційна посадкова сторінка. Мінімальний набір SEO-налаштувань на рівні елемента інфоблоку:
-
META_TITLE: ключовий запит + бренд, до 65 символів -
META_DESCRIPTION: відповідь на запит + заклик до дії, 150–160 символів - Canonical URL: якщо стаття доступна за кількома URL (розділ + теги), 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)
Терміни
| Обсяг | Що входить | Термін |
|---|---|---|
| До 30 статей | Наповнення, SEO, зображення, перелінковка | 2–3 тижні |
| 30–100 статей | + налаштування шаблону зі змістом, автори | 3–6 тижнів |
| 100+ статей | + автоматизація імпорту, категоризація | 6–10 тижнів |
Блог починає давати трафік не одразу — перші позиції в пошуку з'являються через 2–4 місяці після публікації. Але при правильно вибудуваному процесі наповнення кожна нова стаття посилює весь розділ через внутрішні посилання та перелінковку за тегами.







