Як налаштувати новинний розділ на 1С-Бітрікс: без дублів і затримок

Як налаштувати новинний розділ на 1С-Бітрікс: без дублів і затримок Уявіть: редактор публікує новину, але вона не з'являється на сайті через застарілий кеш. Або Google індексує `/news/?PAGEN_1=2` як дублікат головної сторінки. Такі баги — наслідок невірного налаштування інфоблоку та пагінації. Ми
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Як налаштувати новинний розділ на 1С-Бітрікс: без дублів і затримок
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1466
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    811
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1167

Як налаштувати новинний розділ на 1С-Бітрікс: без дублів і затримок

Уявіть: редактор публікує новину, але вона не з'являється на сайті через застарілий кеш. Або Google індексує /news/?PAGEN_1=2 як дублікат головної сторінки. Такі баги — наслідок невірного налаштування інфоблоку та пагінації. Ми налаштовуємо новинні розділи на 1С-Бітрікс так, щоб вони працювали без збоїв: без дублів URL, з коректним кешуванням та автоматичною публікацією. За понад 7 років досвіду реалізували понад 50 проєктів, де новинні блоки обробляють тисячі публікацій. В одному з проєктів після нашого налаштування Google зафіксував 0 дублів, а час публікації скоротився з 2 годин до 1 хвилини — це в 120 разів швидше за стандартне рішення. Нижче розберемо ключові моменти від інфоблоку до посторінкової навігації, щоб ви могли уникнути типових помилок.

Покрокове налаштування новинного розділу

  1. Створення інфоблоку: Тип news, символьний код news. Встановіть параметри: BIZPROC = N, VERSION = 2, INDEX_ELEMENT = Y, INDEX_SECTION = Y, TRANSLIT_AUTOFIELD_NAME = Y. Детальна сторінка: /news/#ELEMENT_CODE#/.
  2. Налаштування компонентів: Вставте bitrix:news.list на сторінку списку новин. Параметри: SORT_BY1 = ACTIVE_FROM, SORT_ORDER1 = DESC, CACHE_TYPE = A, CACHE_TIME = 3600. Для детальної сторінки використовуйте bitrix:news.detail.
  3. ЧПУ-пагінація: У urlRewrite.php додайте правило для /news/page/\d+/. У шаблоні навігації додайте <link rel="next"> та <link rel="prev"> у component_epilog.php.
  4. RSS-стрічка: Створіть сторінку /news/rss.php з компонентом bitrix:rss.export. Встановіть CACHE_TIME = 900.
  5. Автопублікація: Створіть агент, який перевіряє елементи з ACTIVE_FROM <= NOW() та скидає кеш. Інтервал — 1 хвилина.
  6. Тестування: Перевірте відсутність дублів 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.