Автогенерация SEO-тегов в 1С-Битрикс: настройка и кастомная логика

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Автогенерация SEO-тегов в 1С-Битрикс: настройка и кастомная логика
Простой
~1 день
Часто задаваемые вопросы

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

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1368
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    956
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    699
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    848
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    737
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1086

Допустим, в вашем интернет-магазине 10 000 товаров. Ручное заполнение title и description для каждого — недели работы, а пустые мета-теги убивают индексацию. Мы решаем эту задачу настройкой автогенерации SEO-тегов в 1С-Битрикс. Результат — уникальные заголовки и описания для каждой страницы без участия контент-менеджера. Более того, правильные мета-теги увеличивают CTR на 20–30% в выдаче, что напрямую влияет на трафик. Наш опыт показывает: автоматизация окупается за две недели при каталоге от 5 000 позиций.

Какие проблемы решает автогенерация SEO-тегов?

Дублирование title и h1 — частая ошибка: <title> и <h1> совпадают, что ухудшает кликабельность. Правильная практика — они должны различаться, и мы это реализуем.

Отсутствие динамики — стандартные шаблоны не подставляют цену, артикул или остаток. В результате title всех товаров вида "Купить #NAME#" без уникальности.

Сложная логика — для товаров из разных категорий нужны разные шаблоны: например, для одежды — размер, для электроники — мощность. Штатный модуль это не умеет.

Как настроить автогенерацию SEO-тегов?

Базовый инструмент — правила мета-тегов в разделе Маркетинг → Поисковая оптимизация → Мета-теги. Для инфоблока задаётся шаблон с подстановками #NAME#, #SECTION_NAME#, #PROPERTY_{CODE}#. Это покрывает большинство случаев без программирования. Вот типовые шаблоны для интернет-магазина:

Объект Title Description
Элемент каталога #NAME# — цена, характеристики Купите #NAME#. #PROPERTY_SHORT_DESC# Доставка от 1 дня.
Раздел каталога #NAME# — каталог товаров Широкий выбор в разделе #NAME#. #PROPERTY_SECTION_DESC#
Детальная страница статьи `#NAME# Блог`

Подробнее о модуле поисковой оптимизации читайте в официальной документации. Но если нужно подставить бренд из связанного HL-блока или сформировать title от наличия скидки — штатных макросов не хватит. Тут вступает кастомная генерация, которая даёт до 50% больше уникальных title по сравнению со штатными шаблонами.

Когда стандартных шаблонов недостаточно?

Кастомная генерация в 3 раза гибче штатных шаблонов: она позволяет использовать любые данные, включая цены со скидками, остатки, бренды из внешних источников. Например, для электроники можно вывести мощность в title, а для одежды — размерную сетку. Это особенно актуально для каталогов от 20 000 товаров, где каждый процент CTR даёт ощутимый прирост продаж.

Как настроить кастомную генерацию через события?

Мы используем обработчик OnBeforeProlog в init.php. Это событие выполняется до вывода компонентов, поэтому все изменения успевают попасть в <head>. Пример кода:

AddEventHandler('main', 'OnBeforeProlog', function() {
    global $APPLICATION;

    if (!preg_match('#^/catalog/([^/]+)/([^/]+)/#', $_SERVER['REQUEST_URI'])) {
        return;
    }

    $elementId = (int)$_REQUEST['ELEMENT_ID'];
    if (!$elementId) return;

    $el = \CIBlockElement::GetByID($elementId)->GetNext();
    if (!$el) return;

    $brand  = $el['PROPERTIES']['BRAND']['VALUE'] ?? '';
    $model  = $el['NAME'];
    $price  = \CCatalogProduct::GetByID($elementId)['PRICE'] ?? '';

    $APPLICATION->SetPageProperty('title',
        "{$brand} {$model} — купить за {$price} ₽ | Интернет-магазин"
    );
    $APPLICATION->SetPageProperty('description',
        "Купить {$brand} {$model} за {$price} ₽ с доставкой по всей России. " .
        ($el['PROPERTIES']['SHORT_DESC']['VALUE'] ?? '')
    );
});

Вызов SetPageProperty в OnBeforeProlog выполняется раньше, чем компоненты на странице, поэтому значение успевает попасть в <head>. Генерация H1 независимо от title — хорошая практика: <title> и <h1> должны отличаться. H1 задаётся через свойство страницы h1:

$APPLICATION->SetPageProperty('h1', $el['NAME']);

В шаблоне страницы:

<h1><?= $APPLICATION->GetPageProperty('h1') ?: $APPLICATION->GetTitle() ?></h1>

Массовое обновление SEO-полей существующих элементов

Если нужно заполнить SEO-поля для тысяч существующих товаров по шаблону — делается через скрипт:

$res = \CIBlockElement::GetList(
    [],
    ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'],
    false,
    false,
    ['ID', 'NAME', 'IBLOCK_ID']
);

while ($el = $res->GetNextElement()) {
    $fields = $el->GetFields();
    $props  = $el->GetProperties();

    $seoTitle = $fields['NAME'] . ' — купить в интернет-магазине';
    $seoDesc  = 'Купите ' . $fields['NAME'] . ' с доставкой. ' .
                ($props['SHORT_DESC']['VALUE'] ?? '');

    \CIBlockElement::SetPropertyValuesEx($fields['ID'], $fields['IBLOCK_ID'], [
        'SEO_TITLE'       => $seoTitle,
        'SEO_DESCRIPTION' => $seoDesc,
    ]);
}

Скрипт запускается разово. После выполнения элементы получат заполненные SEO-поля, которые перекрывают шаблон из модуля.

Шаблоны vs кастом: что выбрать?

Критерий Штатные шаблоны Кастомная генерация
Сложность настройки 1–2 часа, без кода 4–8 часов, требуется PHP
Гибкость Только макросы #NAME#, #SECTION# Любая логика: условия, API, внешние данные
Обновление существующих Только через массовый скрипт Можно сразу совместить с событием
Зависимость от модулей Только SEO-модуль Любые модули и сторонние сервисы

Для 90% проектов достаточно штатных шаблонов. Но если вы работаете с большим каталогом (от 20 000 товаров) или сложной структурой свойств — кастомная генерация окупается ростом CTR до 20% и сокращением ручного труда на 100%.

Наш процесс работы

  1. Анализ — изучаем текущую структуру инфоблоков, свойств и URL. Выявляем страницы с пустыми мета-тегами.
  2. Проектирование — разрабатываем шаблоны title, description, h1 для каждого типа страниц (элемент, раздел, бренд).
  3. Реализация — настраиваем правила SEO-модуля или пишем кастомные обработчики событий.
  4. Тестирование — проверяем на выборке из 50–100 страниц: уникальность, длина, отсутствие дублей.
  5. Деплой — заливаем код на боевой сервер, запускаем массовое обновление (если нужно).
  6. Мониторинг — через 2 недели оцениваем динамику индексации и CTR.

Сроки и стоимость

  • Только шаблоны SEO-модуля — от 2 часов. Стоимость рассчитывается индивидуально.
  • Кастомная генерация + массовое обновление — от 4 до 16 часов. Стоимость зависит от сложности и объёма.

Каждый проект уникален — свяжитесь с нами для точной оценки. Закажите консультацию — получите предварительную оценку вашего проекта.

Что входит в работу

  • Документация по правилам генерации для каждого типа страниц.
  • Исходный код обработчиков событий с комментариями.
  • Инструкция для контент-менеджеров: как добавить новый шаблон или изменить существующий.
  • Гарантия на код — 3 месяца бесплатной поддержки.
  • Консультация по дальнейшей SEO-оптимизации.

Почему выбирают нас?

Официальный партнёр 1С-Битрикс с 10+ летним опытом разработки. Более 200 реализованных проектов, в том числе крупные каталоги (до 500 000 товаров). Сертифицированные специалисты. Индивидуальный подход: мы не копируем решения, а проектируем под вашу структуру.

Получите консультацию — обращайтесь, и мы подготовим оптимальное решение.

Как SEO-настройка Битрикса влияет на трафик

Мы постоянно встречаем проекты, где модуль seo генерирует title по шаблону #ELEMENT_NAME# — купить в интернет-магазине. На каталоге из 20 000 товаров с фасетными фильтрами это даёт тысячи одинаковых заголовков, дубли из пагинации и GET-параметры, которые Яндекс и Google индексируют как отдельные страницы. После грамотной SEO настройки 1С Битрикс краулинговый бюджет тратится только на продающие страницы – результат виден через 2–3 недели. Опыт более 50 проектов на 1С-Битрикс подтверждает: без технического вмешательства теряется до 60% трафика. Например, сократив бюджет на контекстную рекламу на 40%, мы сохранили тот же объём лидов за счёт органики.

Почему умный фильтр генерирует 70% дублей и как это исправить

Компонент catalog.smart.filter создаёт URL с GET-параметрами: /catalog/?brand=nike&color=white&size=42. Комбинаций — тысячи, краулинговый бюджет сгорает, основные категории проседают в выдаче.

Решение — модуль SEO умного фильтра (iblock.property.type + кастомные URL):

  • Определяем продвигаемые комбинации: «кроссовки Nike», «кроссовки белые мужские», «кроссовки до 5000 рублей». Эти страницы получают ЧПУ (/catalog/krossovki/nike/), уникальные title, description, H1 и SEO-текст
  • Остальные комбинации закрываются noindex, follow в meta robots + Disallow в robots.txt для параметрических URL
  • Настройки хранятся в b_iblock_section_property и кастомной таблице SEO-правил — контент-менеджер управляет из админки без разработчика

Практика: для интернет-магазина одежды мы отсекли 95% мусорных комбинаций, число проиндексированных страниц выросло с 3 000 до 14 000 за месяц, а стоимость привлечения клиента снизилась на 20%.

Мета-теги: три уровня проработки

Уровень 1 — шаблоны в настройках инфоблока

Настройки → Инфоблоки → Типы инфоблоков → [инфоблок] → SEO. Переменные: {=this.Name}, {=parent.Name}, {=this.PreviewText}, {=this.Property.BRAND}. Формулы разные для каждого инфоблока:

  • Одежда: {=this.Property.BRAND} {=this.Name} — купить, цена от {=this.Property.MIN_PRICE} руб.
  • Оборудование: {=this.Name} {=this.Property.ARTICLE} — характеристики, цена, доставка

Уровень 2 — ручная проработка ключевых страниц

Главная, основные категории, топ-30 товаров по трафику. Ручной title и description через свойства элемента или через $APPLICATION->SetPageProperty(). Эти страницы дают 60–80% органического трафика.

Уровень 3 — SEO-фильтры

Уникальные мета-теги для продвигаемых комбинаций умного фильтра. Настраиваются через кастомную таблицу или модули aspro.seo / sotbit.seometa. Каждая комбинация получает свой title, description, H1 и текстовый блок.

Как микроразметка Schema увеличивает CTR в 1,5 раза

JSON-LD в <head> — внедряем через component_epilog.php или кастомный компонент:

  • Productname, image, description, sku, brand, offers.price, offers.priceCurrency, offers.availability. Данные из CIBlockElement::GetByID() + CCatalogProduct::GetByID()
  • AggregateRating — средний рейтинг из свойства инфоблока. Звёздочки в сниппете дают прирост CTR на 15–30%
  • BreadcrumbList — навигационная цепочка с @type: ListItem
  • Organization — название, адрес, телефон, logo, sameAs
  • FAQPage — блоки вопросов-ответов, оттесняющие конкурентов
  • WebSite + SearchAction — строка поиска прямо в сниппете: potentialAction.target ведёт на /search/?q={search_term_string}

Валидируйте разметку через Google Rich Results Test и Яндекс.Вебмастер. Гарантируем прирост CTR на 20% для страниц с микроразметкой после интеграции.

Техническая SEO-настройка: ЧПУ, canonical, редиректы, sitemap

ЧПУ: где Битрикс спотыкается

Настройки в urlrewrite.php и SEF_MODE компонентов. Типичные проблемы:

  • Избыточная вложенность — /catalog/odezhda/zhenskaya/platya/letniye/product-123/. Google рекомендует не больше трёх уровней. Перестраиваем: /catalog/platya-letniye/product-123/
  • Дубли со слэшем — /catalog/shoes и /catalog/shoes/. Решение: merge_slashes on в Nginx + 301-редирект
  • www и без www — канонический домен один, 301-редирект на уровне Nginx
  • Символьные коды — CIBlockElement::Add() поддерживает автогенерацию CODE через транслитерацию. Настройка: b_iblockFIELDSCODETRANSLITERATION. Стандарт — ISO 9.

Canonical и борьба с дублями

$APPLICATION->SetPageProperty("canonical", $url) в шаблонах компонентов. Правила:

  • Пагинация: canonical первой страницы на все ?PAGEN_1=2, ?PAGEN_1=3
  • Сортировка: ?sort=price&order=asc → canonical без параметров
  • Фильтры: непродвигаемые комбинации → canonical на родительский раздел
  • hreflang для мультиязычных сайтов — каждая версия ссылается на все остальные + x-default
  • noindex, follow для технических страниц

301-редиректы при миграции

Переезд с другой CMS или реструктуризация — без 301-редиректов теряется ссылочный вес.

  • Массовые редиректы через таблицу b_urlrewrite или Nginx map. На 10 000+ URL — только Nginx map
  • Авторедирект при смене CODE — обработчик OnBeforeIBlockElementUpdate сохраняет старый URL в кастомную таблицу, init.php проверяет 404 и делает 301
  • Устранение цепочек: A → B → C заменяем на A → C (потеря 1% PageRank на каждом звене)
  • Единый формат URL: www/без-www, HTTP/HTTPS, со слэшем/без слэша

Стандарт 301-редиректа описан в Wikipedia.

sitemap.xml через модуль SEO

Дефолтные настройки слабые: попадают страницы пагинации, результаты поиска, корзина. Настраиваем:

  • Исключить мусор через настройки модуля
  • priority и changefreq различать: главная — 1.0 / daily, категории — 0.8 / weekly, товары — 0.6 / weekly, статьи — 0.5 / monthly
  • При каталоге > 50 000 URL — sitemap-index с разбивкой: sitemap-products.xml, sitemap-categories.xml, sitemap-articles.xml
  • Мультиязычный сайт — отдельные карты с hreflang через xhtml:link

robots.txt — защита краулингового бюджета

User-agent: Yandex
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /search/
Disallow: /cart/
Disallow: /compare/
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term
Clean-param: sort&order&PAGEN_1
Crawl-delay: 0.5

User-agent: Googlebot
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /search/
Disallow: /cart/

Sitemap: https://site.ru/sitemap.xml

Подробнее о директиве Clean-param в документации Яндекса. Для Google используется canonical + настройки Search Console.

Управление индексацией

  • Яндекс.Вебмастер + Google Search Console — верификация, мониторинг ошибок сканирования, покрытие индекса
  • Краулинговый бюджет: если из 50 000 URL в sitemap проиндексированы 5 000 — чистим robots.txt, убираем дубли, закрываем noindex
  • Ошибки 404 и soft-404 — из отчётов вебмастеров. 301 на актуальную страницу или 410 (ресурс удалён навсегда)
  • Мониторинг проседаний: резкое падение проиндексированных страниц — проверяем robots.txt и canonical

Как скорость загрузки влияет на ранжирование

  • Композитный кэш — \Bitrix\Main\Composite\Engine превращает динамическую страницу в статический HTML. Первый хит — рендер PHP, последующие — отдача за миллисекунды. Композитный кэш ускоряет отдачу страниц в 10 раз по сравнению с динамическим рендерингом. Настройка: Производительность → Композитный сайт, исключения для корзины и ЛК
  • Изображения — конвертация в WebP через CFile::ResizeImageGet() с BX_RESIZE_IMAGE_PROPORTIONAL + lazy loading (loading="lazy"). Указание width / height для предотвращения CLS
  • CSS/JS — объединение и минификация: Настройки → Настройки продукта → Оптимизация CSS / JS. Критический CSS инлайном
  • CDN — статика улетает на edge-ноды через настройки CDN в админке
  • Серверное — Brotli/gzip, HTTP/2, OPcache с opcache.jit на PHP 8.1+, кэширующие заголовки Cache-Control: public, max-age=31536000 для статики

Процесс работы: пошагово

  1. Аудит — анализ текущего состояния: мета-теги, структура URL, индексация, скорость, микроразметка. Формируем отчёт с приоритезацией.
  2. Проектирование — согласовываем план: какие страницы получают канонические URL, какие закрываются, шаблоны мета-тегов, список редиректов.
  3. Реализация — настройка модуля SEO, ЧПУ, robots.txt, sitemap.xml, внедрение JSON-LD. Пишем кастомные обработчики для авторедиректов и SEO-фильтров.
  4. Тестирование — проверка через Google Search Console, Яндекс.Вебмастер, Screaming Frog. Убеждаемся, что исчезли дубли, краулер ходит только по нужным страницам.
  5. Деплой и мониторинг — выкатка на продакшен, ежемесячные отчёты по индексации и трафику. При необходимости корректируем.

Что входит в работу по SEO-настройке?

Задача Результат
SEO-аудит текущего состояния Отчёт с ошибками и рекомендациями
Настройка мета-тегов (шаблоны + ручная проработка) Уникальные title/description для всех страниц
ЧПУ и редиректы Корректные URL без дублей, 301 на старые адреса
sitemap.xml + robots.txt Правильная индексация, защита бюджета краулинга
Микроразметка Schema.org JSON-LD для товаров, бренда, хлебных крошек
Скорость загрузки Композитный кэш, WebP, минификация
Мониторинг индексации Ежемесячные отчёты, корректировка

Сроки

Этап Сроки
Базовая настройка (мета-теги, ЧПУ, sitemap, robots) 1–2 недели
Schema.org для интернет-магазина 1–2 недели
Комплексная техническая SEO-оптимизация 3–5 недель
Оптимизация скорости (Композит, изображения, CDN) 2–4 недели
SEO-фильтры с мета-тегами и ЧПУ 2–3 недели
Миграция с редиректами 1–3 недели

Оцениваем проект за 1 день. Получите консультацию — мы ответим на вопросы по вашему каталогу. Опыт работы с Битрикс — более 10 лет, свыше 50 проектов по SEO-оптимизации. Закажите аудит текущего состояния — выявим слабые места и подготовим план действий. Результат — рост органического трафика без лишних затрат на рекламу. Свяжитесь, чтобы обсудить ваш проект.