Наповнення новинного розділу контентом 1С-Бітрікс
Новинний розділ на Бітріксі виглядає просто в теорії: інфоблок з типом «Новини», компонент bitrix:news.list на розділі і bitrix:news.detail на детальній сторінці. На практиці через півроку після запуску сайту розділ перетворюється на звалище: частина новин без фото, частина без OG-тегів, анонси обрізані посередині слова, теги не проставлені, SEO-поля порожні. Індексація йде, але трафіку немає.
Наповнення новинного розділу — це не просто «скопіювати текст у візуальний редактор». Це робота зі структурою інфоблока, налаштуваннями полів, SEO-шаблонами і правилами публікації.
Структура інфоблока новин і що в ній важливо
Стандартний інфоблок новин у Бітрікс має передбачуваний набір полів:
-
Назва (
NAME) — іде в<title>і в<h1>, якщо SEO-шаблон налаштований черезiblock_element_meta -
Анонс (
PREVIEW_TEXT) — текст-превью у списку, має бути 150–200 символів без HTML -
Детальний опис (
DETAIL_TEXT) — основне тіло новини -
Картинка анонсу (
PREVIEW_PICTURE) — показується у списку, розмір задається в шаблоні компонента -
Детальна картинка (
DETAIL_PICTURE) — у тілі новини -
Дата активності (
ACTIVE_FROM) — дата публікації, впливає на сортування -
Теги — через властивість інфоблока типу «Список» або через
b_iblock_element_propertyз множинним значенням
Помилка, яку роблять при наповненні вручну: копіюють текст із форматуванням з Word або зовнішнього джерела, і в DETAIL_TEXT потрапляє <span style="font-family: Calibri;">. Компонент виводить це напряму, ламаючи верстку. Перед додаванням весь текст потрібно пропустити через «Вставити як звичайний текст» у візуальному редакторі (TinyMCE у Бітрікс) або через PHP-функцію strip_tags() з дозволеними тегами.
Оптимізація процесу: шаблони і маски
Для кожної новини потрібно заповнити SEO-поля — META_TITLE, META_KEYWORDS, META_DESCRIPTION. Робити це вручну для кожної з 500 новин — витрата часу. У Бітрікс це вирішується через SEO-шаблони інфоблока.
У налаштуваннях інфоблока (розділ «SEO»):
Шаблон заголовка: {=this.Name} — {=this.Fields.ACTIVE_FROM.format("d.m.Y")} | НазваСайту
Шаблон опису: {=this.PreviewText}
Шаблон застосовується автоматично до кожного нового елемента. Для вже доданих — через масове редагування або скрипт оновлення.
Кастомний скрипт для пакетного оновлення SEO-полів наявних новин:
$res = CIBlockElement::GetList(
['DATE_ACTIVE_FROM' => 'DESC'],
['IBLOCK_ID' => IBLOCK_NEWS_ID, 'ACTIVE' => 'Y'],
false, false,
['ID', 'NAME', 'PREVIEW_TEXT']
);
while ($el = $res->Fetch()) {
CIBlockElement::SetPropertyValuesEx($el['ID'], IBLOCK_NEWS_ID, [
'META_TITLE' => $el['NAME'] . ' | Сайт компанії',
'META_DESCRIPTION' => mb_substr(strip_tags($el['PREVIEW_TEXT']), 0, 160),
]);
}
Зображення: правила обробки
Кожна новина вимагає двох зображень: анонсного (300×200 px) і детального (800×450 px або за сіткою верстки). Завантажувати оригінальні прес-фото в DETAIL_PICTURE напряму — помилка: оригінал важить 5–10 МБ, компонент віддасть його як є.
Правильний шлях — ресайз через параметри компонента:
// в .parameters.php компонента або в template.php
$arParams['PREVIEW_PICTURE_SIZE'] = [
'WIDTH' => 600,
'HEIGHT' => 400,
'TYPE' => BX_RESIZE_IMAGE_PROPORTIONAL,
];
Бітрікс кешує ресайзнуті зображення в /upload/resize_cache/. При повторних запитах віддається кешована версія, оригінал не обробляється знову.
Для вже завантажених зображень без ресайзу — скрипт пакетної обробки через CFile::ResizeImageGet().
Open Graph і соціальні мережі
Якщо новини поширюються у соцмережах, кожна повинна мати коректні OG-теги. У Бітрікс вони генеруються або через компонент bitrix:main.og.tags, або вручну в шаблоні детальної сторінки:
$APPLICATION->SetPageProperty('og:title', $arResult['NAME']);
$APPLICATION->SetPageProperty('og:description', strip_tags($arResult['PREVIEW_TEXT']));
$APPLICATION->SetPageProperty('og:image', SITE_SERVER_NAME . $arResult['PREVIEW_PICTURE_INFO']['SRC']);
Ці властивості підхоплюються в head-шаблоні сайту.
Структура тегів і розділів
Якщо новинний розділ розростається, важлива правильна структура категорій (розділів інфоблока) і системи тегів. Розділи у Бітрікс — це b_iblock_section. Кожен елемент прив'язується до одного або кількох розділів. Фільтрація за розділом — стандартний параметр SECTION_ID у компоненті bitrix:news.list.
Теги — через властивість інфоблока з прив'язкою до таблиці b_iblock_element_property. Виводяться на детальній сторінці як посилання на фільтрований список.
Регламент і чек-лист публікації
Без регламенту контент-менеджери будуть робити по-різному. Мінімальний чек-лист для кожної новини:
- Назва до 70 символів (поміщається в
<title>без обрізки) - Анонс 150–200 символів, без HTML, із закінченим реченням
- Детальна картинка 1200×630 px (універсальний розмір для OG)
- Розділ вибрано, теги проставлено
- Дата активності відповідає реальній даті події, а не даті завантаження
- SEO-поля перевірено (автошаблон або вручну)
Терміни
| Обсяг | Тип робіт | Термін |
|---|---|---|
| До 50 новин | Наповнення + SEO-оптимізація кожної | 1–2 тижні |
| 50–200 новин | + пакетний імпорт через API/Excel | 2–4 тижні |
| 200+ новин | + парсинг зовнішніх джерел, автоматизація | 4–8 тижнів |
Правильно побудований процес наповнення економить час при кожній наступній публікації та виключає технічний борг, який накопичується при безсистемному додаванні контенту.







