Наполнение новостного раздела контентом 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 недель |
Правильно выстроенный процесс наполнения экономит время при каждой последующей публикации и исключает технический долг, который накапливается при бессистемном добавлении контента.







