Как развернуть блог на Битрикс с комментариями и почему стандартный блог плох
В 1С-Битрикс есть стандартный модуль и компоненты для блога, но на практике использовать их для современного сайта не всегда удобно. Особенно если блог нужен не просто как лента заметок, а как полноценный SEO-раздел: со статьями, разделами, ЧПУ, микроразметкой, комментариями, перелинковкой и нормальной работой с мета-тегами.
Я бы не рекомендовал разворачивать новый блог на стандартном компоненте blog. Гораздо удобнее собрать блог на базе инфоблоков, компонента bitrix:news и отдельного решения для комментариев. Такой подход проще поддерживать, легче дорабатывать и он лучше подходит под SEO.
Почему стандартный компонент blog в Битриксе плох
Главная проблема стандартного блогового компонента в Битриксе в том, что он морально устарел. Он появился в то время, когда требования к блогам были гораздо проще: вывести список записей, страницу записи, автора и комментарии. Сейчас этого уже недостаточно.
Для нормального блога обычно нужны:
- понятная структура URL;
- разделы и подразделы;
- SEO-поля для каждой статьи;
- удобная перелинковка между материалами;
- блоки «Читайте также» и «Сейчас читают»;
- нормальная работа с изображениями;
- микроразметка Article и BreadcrumbList;
- быстрая загрузка страниц;
- удобное подключение внешних комментариев;
- возможность гибко менять шаблон.
Со стандартным компонентом blog всё это либо неудобно, либо требует большого количества доработок. В итоге проще сразу сделать блог на инфоблоке, чем пытаться привести старый компонент к современному виду.
Какие проблемы есть у стандартного блога Битрикс
У стандартного компонента blog есть несколько неприятных особенностей, которые быстро начинают мешать при развитии проекта.
1. Сложная и устаревшая структура шаблонов
Шаблоны стандартного блога не такие удобные, как у привычных компонентов bitrix:news и bitrix:news.list. Их сложнее адаптировать под современную верстку, сетки, карточки, боковую колонку, оглавление статьи и дополнительные CTA-блоки.
Если вы привыкли работать с инфоблоками, то блоговый модуль может показаться лишним уровнем сложности. В нём другая логика хранения данных, другие компоненты и меньше гибкости при кастомизации.
2. Неудобная SEO-настройка
Для блога очень важны title, description, canonical, Open Graph, хлебные крошки и правильная структура заголовков. В стандартном компоненте всё это можно дорабатывать, но делать это менее удобно, чем в инфоблоках.
В инфоблоке можно сразу создать нужные свойства: SEO title, SEO description, картинка для Open Graph, признак популярной статьи, время чтения, теги и другие поля. Потом эти данные легко использовать в шаблоне.
3. Сложнее управлять URL
Для SEO важно, чтобы адреса статей были короткими, понятными и стабильными. Например:
https://blog.example.ru/bitrix/gotovyy-nginx-config-dlya-bitriks/
https://blog.example.ru/linux/kak-nastroit-ssh/
https://blog.example.ru/seo/chto-takoe-soft-404/
На инфоблоках такую структуру можно настроить через ЧПУ компонента bitrix:news. Вы сами контролируете символьные коды разделов и элементов, можете делать редиректы со старых адресов и хранить старый URL в отдельном свойстве.
Как лучше развернуть блог на Битрикс
Оптимальный вариант — сделать блог на отдельном инфоблоке. Это привычная и гибкая схема для Битрикс-разработчика.
Общая структура может быть такой:
- отдельный инфоблок «Блог»;
- разделы инфоблока как рубрики блога;
- элементы инфоблока как статьи;
- компонент bitrix:news для вывода раздела;
- кастомный шаблон для списка и детальной страницы;
- отдельный блок комментариев на детальной странице;
- дополнительные свойства для SEO и перелинковки.
Шаг 1. Создаем инфоблок для блога
В административной панели Битрикса создаем новый тип инфоблока, например:
Контент
└── Блог
Внутри инфоблока создаем разделы:
- Битрикс;
- PHP;
- Python;
- Linux;
- Frontend;
- SEO;
- Инструменты;
- Заметки.
Разделы будут использоваться в URL и в навигации по блогу. Поэтому символьные коды лучше задавать вручную и делать их короткими.
bitrix
php
python
linux-server
frontend
seo
tools
notes
Шаг 2. Настраиваем свойства инфоблока
Для статей стоит сразу добавить несколько полезных свойств. Они пригодятся для SEO, миграции, вывода блоков и внутренней перелинковки.
| Свойство | Код | Для чего нужно |
|---|---|---|
| Время чтения | READING_TIME | Для вывода в карточке и статье |
| Популярная статья | IS_POPULAR | Для блока «Сейчас читают» |
| Связанные статьи | RELATED_ARTICLES | Для ручной перелинковки |
| Связанная услуга | RELATED_SERVICE | Для вывода CTA на услугу |
Такой набор свойств делает блог намного гибче. Вы сможете управлять не только текстом статьи, но и тем, как она участвует в SEO, перелинковке и конверсии.
Шаг 3. Подключаем компонент bitrix:news
Для вывода блога можно использовать стандартный компонент bitrix:news. Он удобен тем, что уже умеет работать со списком, разделами, детальной страницей и ЧПУ.
Пример подключения:
<?php
$APPLICATION->IncludeComponent(
"bitrix:news",
"blog",
[
"IBLOCK_TYPE" => "content",
"IBLOCK_ID" => "9",
"NEWS_COUNT" => "10",
"USE_SEARCH" => "N",
"USE_RSS" => "Y",
"USE_RATING" => "N",
"USE_CATEGORIES" => "N",
"USE_REVIEW" => "N",
"USE_FILTER" => "N",
"SORT_BY1" => "ACTIVE_FROM",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "SORT",
"SORT_ORDER2" => "ASC",
"CHECK_DATES" => "Y",
"SEF_MODE" => "Y",
"SEF_FOLDER" => "/",
"SEF_URL_TEMPLATES" => [
"news" => "",
"section" => "#SECTION_CODE#/",
"detail" => "#SECTION_CODE#/#ELEMENT_CODE#/",
],
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"SET_TITLE" => "Y",
"SET_STATUS_404" => "Y",
"SHOW_404" => "Y",
"MESSAGE_404" => "",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "Y",
"ADD_ELEMENT_CHAIN" => "Y",
"LIST_FIELD_CODE" => [
"ID",
"NAME",
"PREVIEW_TEXT",
"PREVIEW_PICTURE",
"DATE_ACTIVE_FROM"
],
"LIST_PROPERTY_CODE" => [
"READING_TIME",
"IS_POPULAR"
],
"DETAIL_FIELD_CODE" => [
"ID",
"NAME",
"DETAIL_TEXT",
"DETAIL_PICTURE",
"DATE_ACTIVE_FROM"
],
"DETAIL_PROPERTY_CODE" => [
"SEO_TITLE",
"SEO_DESCRIPTION",
"SEO_KEYWORDS",
"OLD_URL",
"READING_TIME",
"RELATED_ARTICLES",
"RELATED_SERVICE"
],
],
false
);
?>
Важные параметры здесь — это SET_STATUS_404 и SHOW_404. Они нужны, чтобы несуществующие страницы не открывали главную или пустой шаблон. Для SEO это критично: несуществующий URL должен отдавать настоящую 404-ошибку.
Шаг 4. Делаем нормальную структуру URL
Для блога лучше использовать понятную структуру:
/razdel/statya/
Например:
/bitrix/gotovyy-robots-txt-dlya-bitriks/
/linux-server/gotovyy-nginx-config-dlya-bitriks/
/seo/kak-url-vliyaet-na-seo/
Такая структура понятна пользователю и поисковым системам. По адресу сразу видно, к какому разделу относится статья.
Если блог переносится со старого сайта, важно настроить 301-редиректы со старых адресов на новые. Для этого удобно хранить старый адрес в свойстве OLD_URL, а затем сгенерировать карту редиректов.
Шаг 5. Настраиваем SEO на детальной странице
На детальной странице статьи нужно выводить title и description. Если SEO-свойства заполнены вручную, используем их. Если нет — можно брать название статьи и текст анонса.
<?php
$seoTitle = $arResult["PROPERTIES"]["SEO_TITLE"]["VALUE"] ?: $arResult["NAME"];
$seoDescription = $arResult["PROPERTIES"]["SEO_DESCRIPTION"]["VALUE"] ?: $arResult["PREVIEW_TEXT"];
$seoKeywords = $arResult["PROPERTIES"]["SEO_KEYWORDS"]["VALUE"];
$APPLICATION->SetPageProperty("title", $seoTitle);
$APPLICATION->SetPageProperty("description", $seoDescription);
if (!empty($seoKeywords)) {
$APPLICATION->SetPageProperty("keywords", $seoKeywords);
}
?>
Также стоит добавить canonical:
<?php
$canonicalUrl = "https://" . SITE_SERVER_NAME . $APPLICATION->GetCurPage(false);
$APPLICATION->AddHeadString('<link rel="canonical" href="' . htmlspecialcharsbx($canonicalUrl) . '">', true);
?>
Это особенно важно, если на сайте могут появляться GET-параметры, пагинация, дубли или старые адреса.
Шаг 6. Продумываем шаблон статьи
Хорошая страница статьи — это не только текст. У неё должна быть понятная структура, которая помогает пользователю читать материал, а поисковым системам — лучше понимать страницу.
Оптимальная структура детальной страницы может быть такой:
- хлебные крошки;
- H1 статьи;
- дата публикации, раздел, время чтения;
- анонс или короткое вступление;
- основной текст статьи;
- мини-CTA внутри статьи;
- блок связанной услуги;
- комментарии;
- блок об авторе;
- похожие статьи;
- блок «Сейчас читают».
Комментарии лучше размещать после основного текста и связанной услуги. Если поставить комментарии слишком высоко, они могут отвлекать от основной цели статьи. Если слишком низко — пользователи могут до них не дойти.
Шаг 7. Добавляем комментарии
Для комментариев можно использовать несколько вариантов:
- стандартные комментарии Битрикса;
- собственный инфоблок комментариев;
- внешний движок комментариев;
- виджет комментариев от стороннего сервиса.
Для блога разработчика я бы рассматривал внешний движок комментариев. Например, Remark42. Он может работать отдельно от Битрикса, поддерживает авторизацию, хранит комментарии отдельно и подключается на страницу как виджет.
Пример подключения блока комментариев:
<div id="remark42"></div>
<script>
var remark_config = {
host: "https://comments.example.ru",
site_id: "blog",
url: window.location.origin + window.location.pathname,
title: document.title
};
</script>
<script>
(function(c) {
for (var i = 0; i < c.length; i++) {
var d = document, s = d.createElement("script");
s.src = remark_config.host + "/web/" + c[i] + ".js";
s.defer = true;
(d.head || d.body).appendChild(s);
}
})(["embed"]);
</script>
Важный момент — параметр url. Именно по нему комментарии привязываются к странице. Если вы меняете адреса статей, нужно заранее продумать миграцию комментариев и соответствие старых URL новым.
Шаг 8. Добавляем блоки перелинковки
Для блога важна внутренняя перелинковка. Она помогает пользователю переходить между материалами и распределяет вес между страницами.
В блоге можно использовать несколько блоков:
- Читайте также — статьи по этой же теме;
- Сейчас читают — популярные материалы;
- Материалы из этого раздела — соседние статьи рубрики;
- Связанная услуга — переход из информационного материала в коммерческий раздел;
- Подписка на Telegram — если блог используется для прогрева аудитории.
Например, в статье про Битрикс можно показать услугу поддержки или доработки сайта на 1С-Битрикс. В статье про SEO — аудит сайта или техническую SEO-оптимизацию. В статье про сервер — администрирование или настройку окружения.
Шаг 9. Подключаем микроразметку
Для статей стоит добавить микроразметку Article или BlogPosting. Это помогает поисковым системам лучше понимать страницу.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "<?=htmlspecialcharsbx($arResult["NAME"])?>",
"description": "<?=htmlspecialcharsbx($arResult["PREVIEW_TEXT"])?>",
"datePublished": "<?=$arResult["ACTIVE_FROM"]?>",
"author": {
"@type": "Person",
"name": "Николаев Виталий"
},
"publisher": {
"@type": "Organization",
"name": "Nikovit"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "<?=$canonicalUrl?>"
}
}
</script>
Также желательно добавить микроразметку хлебных крошек BreadcrumbList. Особенно если статьи разложены по разделам.
Почему инфоблок лучше стандартного blog-компонента
Инфоблоки в Битриксе дают больше контроля. Вы сами определяете структуру данных, свойства, URL, шаблоны и логику вывода. Для разработчика это намного удобнее.
Преимущества блога на инфоблоке:
- проще настраивать SEO;
- удобнее работать с ЧПУ;
- легче делать редиректы;
- можно добавлять любые свойства;
- проще дорабатывать шаблоны;
- удобнее делать перелинковку;
- легче подключать внешние комментарии;
- проще переносить блог на отдельный поддомен;
- меньше зависимости от устаревшего функционала.
По сути, блог на инфоблоке — это обычный раздел сайта с новостями или статьями, который можно развивать как угодно. А стандартный компонент blog чаще ограничивает, чем помогает.
Что важно не забыть при запуске блога
Перед запуском блога стоит проверить несколько технических моментов:
- все страницы статей открываются по правильным URL;
- несуществующие страницы отдают 404, а не главную;
- настроены 301-редиректы со старых адресов;
- у статей заполнены title и description;
- есть canonical;
- работают хлебные крошки;
- подключена карта сайта;
- robots.txt не закрывает нужные разделы;
- комментарии привязаны к правильному URL;
- страницы быстро загружаются;
- в шаблоне нет дублей H1;
- проверена мобильная версия.
Вывод
Развернуть блог на Битрикс можно разными способами, но стандартный компонент blog я бы не использовал для нового проекта. Он устарел, неудобен для SEO и плохо подходит для гибкой доработки.
Более правильный вариант — сделать блог на инфоблоке, вывести его через bitrix:news, настроить ЧПУ, SEO-поля, 404-страницы, перелинковку и подключить отдельный движок комментариев.
Такой блог будет проще поддерживать, развивать и переносить. А самое главное — он не будет ограничивать вас стандартной логикой старого компонента. Для личного блога разработчика, технических статей и SEO-продвижения это намного более практичное решение.
Комментарии