Наповнення розділу статей контентом 1С-Бітрікс
Розділ статей відрізняється від блогу метою: блог — про актуальність і трафік, статті — про експертизу і конверсію. Типові завдання: база знань з продукту, довідник технічних описів, розділ «Допомога» або «Навчання». Тут важлива не частота публікацій, а глибина опрацювання кожного матеріалу та навігація по великому обсягу контенту.
Проблема, з якою приходять: 200 статей накопичено, але знайти потрібне неможливо — немає пошуку по розділу, немає категоризації, статті перемішані, внутрішніх посилань немає. SEO-потенціал розділу не реалізований, користувачі йдуть у Яндекс замість того, щоб знайти відповідь на сайті.
Архітектура інфоблока статей
Під розділ статей створюється окремий інфоблок. Структура розділів (b_iblock_section) відповідає ієрархії тем — до 3 рівнів вкладеності. Глибша вкладеність у Бітрікс технічно можлива, але погіршує навігацію і SEO (довгий URL, розмитий вага).
Обов'язкові властивості інфоблока:
-
DIFFICULTY— рівень складності матеріалу (список: «Початківець», «Просунутий», «Експерт») -
READING_TIME— час читання в хвилинах -
LAST_UPDATED— дата останнього оновлення статті (важливо для технічних матеріалів) -
RELATED_LINKS— множинна властивість типу «Рядок» для зовнішніх джерел -
VIDEO_EMBED— код вставки відеоінструкції
Дата публікації (ACTIVE_FROM) і дата оновлення (LAST_UPDATED) — різні поля. Для технічних статей важливо показувати актуальність. У шаблоні детальної сторінки виводиться: «Останнє оновлення: 15 січня 2025».
Пошук по розділу статей
Стандартний пошук Бітрікс (bitrix:search.page) працює по всьому сайту. Для розділу статей часто потрібен пошук лише всередині інфоблока. Це вирішується двома способами:
Через стандартний модуль пошуку з фільтром. Індексування інфоблока статей налаштовується через CSearch::Index(). Пошук з обмеженням за параметром IBLOCK_ID:
$obSearch = new CSearch();
$obSearch->Search([
'QUERY' => $searchQuery,
'MODULE_ID' => 'iblock',
'PARAM2' => IBLOCK_ARTICLES_ID,
]);
Через Elasticsearch / Sphinx для великих розділів (1 000+ статей). Стандартний повнотекстовий пошук MySQL/PostgreSQL повільний при складних запитах. Зовнішній пошуковий рушій підключається через кастомний компонент, дані до нього синхронізуються через агент Бітрікс.
Перехресні посилання і навігація
Навігація по розділу статей — критичний елемент. Користувач прийшов за відповіддю на питання, знайшов статтю, повинен легко перейти до пов'язаних тем.
Хлібні крихти — стандартний компонент bitrix:breadcrumb, працює автоматично при правильній структурі розділів інфоблока.
Бічне меню категорій — компонент bitrix:menu з параметром MENU_TYPE або кастомний компонент з CIBlockSection::GetList():
$sections = CIBlockSection::GetList(
['SORT' => 'ASC'],
['IBLOCK_ID' => IBLOCK_ARTICLES_ID, 'DEPTH_LEVEL' => 1, 'ACTIVE' => 'Y'],
false,
['ID', 'NAME', 'CODE', 'SECTION_PAGE_URL']
);
Блок «Схожі статті» — за збігом розділу або тегів:
$related = CIBlockElement::GetList(
['RAND' => 'ASC'],
['IBLOCK_ID' => IBLOCK_ARTICLES_ID, 'SECTION_ID' => $arResult['IBLOCK_SECTION_ID'], '!ID' => $arResult['ID'], 'ACTIVE' => 'Y'],
false, ['nTopCount' => 4],
['ID', 'NAME', 'PREVIEW_PICTURE', 'PREVIEW_TEXT', 'DETAIL_PAGE_URL']
);
Структуровані дані (Schema.org)
Для статей підключається розмітка Article або HowTo залежно від типу контенту. Це покращує відображення у пошуку (розширені сніпети):
// в template.php детальної сторінки
$schema = [
'@context' => 'https://schema.org',
'@type' => 'Article',
'headline' => $arResult['NAME'],
'datePublished' => $arResult['ACTIVE_FROM'],
'dateModified' => $arResult['PROPERTIES']['LAST_UPDATED']['VALUE'],
'author' => ['@type' => 'Organization', 'name' => 'Назва компанії'],
];
echo '<script type="application/ld+json">' . json_encode($schema, JSON_UNESCAPED_UNICODE) . '</script>';
Масове наповнення і імпорт
Великий розділ статей нерідко наповнюється з зовнішніх джерел: Word-документи, PDF-інструкції, Google Docs. Ручне введення кожної статті у візуальний редактор Бітрікс неефективне.
Імпорт з Excel. Стандартний інструмент Бітрікс дозволяє імпортувати елементи інфоблока з CSV. Колонки: NAME, PREVIEW_TEXT, DETAIL_TEXT, SECTION_ID, властивості. Але HTML-розмітка в CSV — проблема: лапки і переноси ламають формат. Рішення — кастомний PHP-скрипт з CIBlockElement::Add().
Конвертація з Word/PDF. Бібліотека PHPWord (через Composer) читає DOCX і конвертує в HTML. PDF конвертується через pdftohtml (системна утиліта) або через зовнішній API (Adobe PDF Services). Результат очищується регулярними виразами і зберігається в DETAIL_TEXT.
Версіонування контенту. Для технічної документації важливо відстежувати зміни. У Бітрікс немає вбудованого версіонування вмісту статей (є лише для сторінок сайту через модуль landing). Кастомне рішення: перед оновленням статті стара версія DETAIL_TEXT зберігається в окрему таблицю b_custom_article_versions з полями ELEMENT_ID, VERSION_DATE, CONTENT, USER_ID.
Автоматичне оновлення застарілих статей
Технічні статті застарівають. Потрібна система сповіщень: через 6–12 місяців після публікації контент-менеджер отримує нагадування перевірити актуальність. Реалізація через агент Бітрікс (CAgent::Add()), який раз на місяць перевіряє дату останнього оновлення і надсилає листа через CEvent::Send().
Терміни
| Обсяг | Формат робіт | Термін |
|---|---|---|
| До 50 статей | Наповнення вручну + базове SEO | 2–3 тижні |
| 50–200 статей | + імпорт, категоризація, перелінковка | 3–6 тижнів |
| 200+ статей | + пошук по розділу, версіонування | 6–12 тижнів |
Розділ статей окупається повільно, але стабільно: технічні матеріали зберігають позиції в пошуку роками при правильній структурі і періодичному оновленні.







