Як налаштувати новинний розділ на 1С-Бітрікс: без дублів і затримок
Уявіть: редактор публікує новину, але вона не з'являється на сайті через застарілий кеш. Або Google індексує /news/?PAGEN_1=2 як дублікат головної сторінки. Такі баги — наслідок невірного налаштування інфоблоку та пагінації. Ми налаштовуємо новинні розділи на 1С-Бітрікс так, щоб вони працювали без збоїв: без дублів URL, з коректним кешуванням та автоматичною публікацією. За понад 7 років досвіду реалізували понад 50 проєктів, де новинні блоки обробляють тисячі публікацій. В одному з проєктів після нашого налаштування Google зафіксував 0 дублів, а час публікації скоротився з 2 годин до 1 хвилини — це в 120 разів швидше за стандартне рішення. Нижче розберемо ключові моменти від інфоблоку до посторінкової навігації, щоб ви могли уникнути типових помилок.
Покрокове налаштування новинного розділу
-
Створення інфоблоку: Тип
news, символьний кодnews. Встановіть параметри:BIZPROC = N,VERSION = 2,INDEX_ELEMENT = Y,INDEX_SECTION = Y,TRANSLIT_AUTOFIELD_NAME = Y. Детальна сторінка:/news/#ELEMENT_CODE#/. -
Налаштування компонентів: Вставте
bitrix:news.listна сторінку списку новин. Параметри:SORT_BY1 = ACTIVE_FROM,SORT_ORDER1 = DESC,CACHE_TYPE = A,CACHE_TIME = 3600. Для детальної сторінки використовуйтеbitrix:news.detail. -
ЧПУ-пагінація: У
urlRewrite.phpдодайте правило для/news/page/\d+/. У шаблоні навігації додайте<link rel="next">та<link rel="prev">уcomponent_epilog.php. -
RSS-стрічка: Створіть сторінку
/news/rss.phpз компонентомbitrix:rss.export. ВстановітьCACHE_TIME = 900. -
Автопублікація: Створіть агент, який перевіряє елементи з
ACTIVE_FROM <= NOW()та скидає кеш. Інтервал — 1 хвилина. - Тестування: Перевірте відсутність дублів URL, 404 помилок, швидкість завантаження.
Інфоблок новин: що важливо
Створюєте інфоблок з типом news, символьний код news. Ключові параметри:
-
BIZPROC = N— бізнес-процеси для новин надлишкові, включення сповільнює запис. -
VERSION = 2— зберігання властивостей в окремих таблицях (b_iblock_element_prop_s{id}), швидше для великих обсягів. 1С-Бітрікс рекомендує VERSION=2 для нових проєктів. -
INDEX_ELEMENT = Y,INDEX_SECTION = Y— для пошуку. -
DETAIL_PAGE_URL = /news/#ELEMENT_CODE#/— URL детальної сторінки через символьний код, не ID.
Символьний код (CODE в b_iblock_element) заповнюйте автоматично: в налаштуваннях інфоблоку ввімкніть TRANSLIT_AUTOFIELD_NAME = Y. Це генерує трансліт з назви новини при збереженні. Без цього редактори залишають поле порожнім, і Бітрікс видає 404. В офіційній документації це описано.
Властивості інфоблоку: SOURCE (джерело, рядок), AUTHOR (прив'язка до користувача або рядок), TAGS (множинний рядок).
Компоненти list і detail
Пара bitrix:news.list + bitrix:news.detail — стандарт. Параметри bitrix:news.list:
IBLOCK_TYPE = news IBLOCK_ID = <id вашого інфоблоку> SORT_BY1 = ACTIVE_FROM SORT_ORDER1 = DESC CACHE_TYPE = A CACHE_TIME = 3600 DISPLAY_DATE = Y PAGER_SHOW = Y PAGER_TEMPLATE = .default Кеш CACHE_TIME = 3600 з автоматичною інвалідацією (CACHE_TYPE = A) — оптимально. При публікації через CIBlockElement::Add() Бітрікс автоматично скидає кеш компонента.
| Параметр | Значення | Коментар |
|---|---|---|
| SORT_BY1 | ACTIVE_FROM | Сортування за датою публікації |
| SORT_ORDER1 | DESC | Спочатку нові |
| CACHE_TIME | 3600 | 1 година кешу |
У template.php виводьте $arItem["NAME"], $arItem["PREVIEW_TEXT"], $arItem["PREVIEW_PICTURE"], $arItem["DISPLAY_ACTIVE_FROM"]. Зображення: оригінал у /upload/, ресайзи через CFile::ResizeImageGet() із записом до /upload/resize_cache/.
Як уникнути дублів URL та 404?
Пагінація в bitrix:news.list працює через GET-параметр PAGEN_1. Рішення: використовуйте шаблон пагінації з <link rel="next"> та <link rel="prev"> у <head> — додавайте їх у component_epilog.php. Для ЧПУ-пагінації виду /news/page/2/ потрібна кастомізація через urlRewrite.php або перевизначення шаблону навігації. У наших проєктах це усуває 100% дублів пагінації.
Чому кеш не скидається після публікації?
Бітрікс скидає кеш компонентів при додаванні елемента через API або адмінку. Якщо кеш залишається старим — перевірте CACHE_TYPE та наявність агента. Стандартний агент CIBlockAgent::CheckDiskQuota не відповідає за скидання кешу новин. Рекомендуємо встановити CACHE_TYPE = A та написати простий агент для ручного скидання. В одному проєкті кеш жив 24 години — після налаштування агента час оновлення скоротився до 5 хвилин, а середній час завантаження сторінки новин знизився на 200 мс.
RSS-стрічка
Новинний розділ часто потребує RSS. Модуль rss в Бітріксі — компонент bitrix:rss.export. Підключається на окремій сторінці /news/rss.php з типом контенту application/xml. При активному кешуванні RSS оновлюється із затримкою — встановлюйте CACHE_TIME не більше 900 секунд або скидайте кеш через обробник події OnAfterIBlockElementAdd.
Автопублікація та агент
Поля ACTIVE_FROM та ACTIVE_TO керують часом публікації. Елемент з ACTIVE_FROM у майбутньому не відображається при стандартній фільтрації. Для автопублікації в точний час потрібен агент (таблиця b_agent). Приклад коду:
CAgent::AddAgent( "MyNamespace\\NewsPublishAgent::execute();", "news", "N", 60, "", "Y", date("d.m.Y H:i:s"), date("d.m.Y H:i:s", strtotime("+1 minute")) ); Агент перевіряє елементи з ACTIVE_FROM <= NOW() та скидає кеш інфоблоку. Інтервал — 1 хвилина, гарантується публікація з точністю до хвилини.
Що входить та терміни
При замовленні налаштування новинного розділу під ключ ви отримуєте:
- Налаштування інфоблоку (поля, властивості, символьні коди)
- Встановлення та конфігурацію компонентів list/detail з ЧПУ-пагінацією
- Інтеграцію RSS-стрічки
- Налаштування агента для автопублікації
- Кешування з автоматичним скиданням
- Тестування на дублі URL та 404 помилки
- Документацію з налаштувань та доступи
- Навчання редакторів (1 година онлайн)
| Етап | Тривалість |
|---|---|
| Аналітика та узгодження | 0,5 дня |
| Налаштування інфоблоку та компонентів | 1 день |
| Пагінація, ЧПУ, RSS | 1 день |
| Автопублікація та кешування | 0,5 дня |
| Тестування та фікси | 0,5 дня |
| Разом | 3–5 робочих днів |
Також можливе додаткове налаштування: інтеграція з зовнішніми джерелами, кастомні шаблони, міграція з інших CMS.
Економія та результати
Завдяки правильному налаштуванню кешування та автопублікації, сайт не потребує ручного втручання після кожного посту. Економія технічного часу сягає 2 годин на тиждень на підтримку, а витрати на SEO-просування знижуються на 30% за рахунок відсутності дублів та 404. Середня вартість налаштування новинного розділу під ключ — від 800 євро, що на 40% дешевше за виправлення типових багів окремо. Ми маємо 7+ років досвіду в налаштуванні Бітрікс, понад 50 виконаних проєктів.
Замовте налаштування новинного розділу під ключ — отримайте готове рішення без дублів та з автоматичною публікацією. Зв'яжіться з нами для консультації та оцінки вашого проєкту. Ми підберемо оптимальну конфігурацію під ваш обсяг новин та вимоги до SEO.







