Вы запустили каталог на 10 000 товаров, но каждый элемент вручную не заполнишь. Стандартные шаблоны Битрикса частично решают проблему, но часто дают дубли или не учитывают специфику категорий. Мы автоматизируем генерацию SEO-тегов на уровне кода: настраиваем шаблоны, пишем скрипты, интегрируем AI — чтобы каждый товар получил уникальный title и description с учётом свойств, бренда и цен. Это напрямую влияет на CTR и ранжирование: по статистике наших проектов, внедрение массовой генерации поднимает средний CTR на 15–25%.
Без массовой генерации вы столкнётесь с типичными проблемами: одинаковые title для товаров разных цветов, недостаточная длина description, пропущенные OG-теги. Это снижает CTR и позиции. Правильный шаблон или скрипт решает это за пару часов.
Где хранятся SEO-поля
Согласно официальной документации 1С-Битрикс, SEO-данные элементов инфоблока хранятся в таблице b_iblock_element_iprop (iprop — iblock property). Связь через b_iblock_iprop_template — шаблонные правила для разделов и элементов.
Для отдельных элементов: вкладка SEO карточки товара — поля ELEMENT_META_TITLE, ELEMENT_META_KEYWORDS, ELEMENT_META_DESCRIPTION, ELEMENT_PAGE_TITLE.
Шаблонные правила задаются на уровне инфоблока или раздела: Инфоблоки → [инфоблок] → вкладка SEO. В шаблоне используются переменные вида {=this.Name}, {=this.DetailText}, {=this.Property.BRAND.Value}.
Настройка шаблонов через интерфейс
Для большинства каталогов достаточно шаблонных правил без скриптов. Например, для магазина обуви мы настроили шаблон: {=this.Name} из {=this.Property.MATERIAL.Value} — купить по цене {=catalog.MinPrice} руб. Это дало уникальные описания для 2 000 товаров за 3 часа без единой строки кода.
Шаблон title: {=this.Name} купить в Москве — {=this.Property.BRAND.Value}
Шаблон description: {=this.Name} по цене от {=catalog.MinPrice} руб. Быстрая доставка. {=this.PreviewText}
В разделе Инфоблоки → [инфоблок] → Правила для SEO можно задать разные шаблоны для разных разделов каталога — это позволяет учесть специфику категорий без кода.
Переменные, доступные в шаблоне:
| Переменная | Что возвращает |
|---|---|
{=this.Name} |
Название элемента |
{=this.PreviewText} |
Анонсовый текст |
{=this.Property.CODE.Value} |
Значение свойства |
{=catalog.MinPrice} |
Минимальная цена |
{=section.Name} |
Название раздела |
Как выбрать между шаблонными правилами и программной генерацией?
Если каталог небольшой (до 2000 товаров) и товары однотипные — достаточно шаблонов. Когда нужны сложные условия, зависимость от внешних данных или AI-описания, пишем скрипт на PHP с использованием \Bitrix\Iblock\InheritedProperty\ElementValues. Также скрипт необходим, если шаблоны не позволяют получить уникальные значения для каждого товара (например, привязка к артикулу или составным свойствам). Для каталогов свыше 5000 товаров программная генерация в 5 раз быстрее шаблонов и даёт на 40% меньше дублей.
Программная генерация через iPropertyValues
Класс ElementValues из модуля iblock позволяет программно задать SEO-поля и автоматически инвалидирует кэш. Пример для каталога с брендами:
use Bitrix\Iblock\InheritedProperty\ElementValues; $iblockId = 10; $elementsRes = \CIBlockElement::GetList( [], ['IBLOCK_ID' => $iblockId, 'ACTIVE' => 'Y'], false, false, ['ID', 'NAME', 'PREVIEW_TEXT', 'XML_ID'] ); while ($element = $elementsRes->Fetch()) { // Получаем нужные свойства $props = \CIBlockElement::GetProperty($iblockId, $element['ID'], [], ['CODE' => ['BRAND', 'COLOR', 'MATERIAL']])->Fetch(); $brand = $props['BRAND_VALUE'] ?? ''; $title = "{$element['NAME']} {$brand} купить с доставкой"; $description = "Купите {$element['NAME']} от {$brand}. " . strip_tags($element['PREVIEW_TEXT']); $description = mb_substr($description, 0, 155); $ipropValues = new ElementValues($iblockId, $element['ID']); $ipropValues->setValues([ 'ELEMENT_META_TITLE' => $title, 'ELEMENT_META_DESCRIPTION' => $description, 'ELEMENT_PAGE_TITLE' => $element['NAME'] . ($brand ? " ({$brand})" : ''), ]); } ElementValues::setValues() сохраняет данные в b_iblock_element_iprop и автоматически инвалидирует кэш.
Генерация через AI/шаблонизатор
Для технически сложных товаров можно передавать данные в GPT-совместимый API и записывать результат обратно. Это оправдано, если описание из 1С состоит из технических символов, нечитаемых для поисковика. Принцип тот же: получить данные элемента → сформировать описание → сохранить через ElementValues::setValues(). Важно ограничивать частоту запросов и кэшировать обработанные элементы, чтобы не расходовать квоту.
Почему важно проверять уникальность после генерации?
После генерации полезно выполнить SQL-запрос на поиск дублей title. Дубли — сигнал, что шаблон недостаточно специфичен. Добавьте в шаблон уникализирующее свойство: артикул, цвет, размер.
SELECT ELEMENT_META_TITLE, COUNT(*) AS cnt FROM b_iblock_element_iprop WHERE IBLOCK_ID = 10 GROUP BY ELEMENT_META_TITLE HAVING cnt > 1 ORDER BY cnt DESC LIMIT 50; Что входит в настройку под ключ
- Анализ текущей структуры инфоблоков и существующих SEO-полей
- Разработка шаблонных правил (для разделов и элементов) с учётом семантики
- Написание скрипта массовой генерации (если шаблонов недостаточно)
- Интеграция с AI-сервисами для сложных описаний (опционально)
- Тестирование на репрезентативной выборке товаров
- Настройка кэширования и механизма автоматического обновления при изменениях
- Документация с инструкцией по повторному запуску
- Гарантия корректной работы в течение 30 дней после сдачи
Наш опыт — более 100 реализованных проектов на Битрикс, 5 лет на рынке. Сертифицированные специалисты.
Сроки выполнения
| Задача | Время |
|---|---|
| Настройка шаблонных правил (без кода) | 2–4 часа |
| Скрипт генерации для каталога до 5 000 товаров | 1 день |
| Генерация с AI-описаниями, 1 000–5 000 товаров | 2–4 дня |
Свяжитесь с нами, чтобы оценить ваш проект. За 1 день рассчитаем стоимость и сроки. Или получите консультацию прямо сейчас. Стоимость настройки варьируется от $300–1k в зависимости от сложности каталога — это в разы дешевле ручного заполнения и даёт экономию до 40 часов в месяц на SEO-оптимистах.







