Настройка массовой генерации SEO-тегов 1С-Битрикс

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

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

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

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

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    989

Настройка массовой генерации SEO-тегов 1С-Битрикс

Новый раздел каталога — 3 000 товаров, у каждого нужен уникальный <title>, <meta name="description"> и OG-теги. Писать вручную нецелесообразно. Битрикс поддерживает шаблонную генерацию SEO-полей через встроенный механизм SEO-фильтров, и его возможности достаточно широки для большинства задач.

Где хранятся SEO-поля

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}.

Настройка шаблонов через интерфейс

Для большинства каталогов достаточно шаблонных правил без скриптов:

Шаблон 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} Название раздела

Программная генерация через iPropertyValues

Если шаблонного механизма недостаточно — генерируем SEO-теги скриптом и сохраняем через \Bitrix\Iblock\InheritedProperty\ElementValues:

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(). Важно: ограничивайте частоту запросов к API и кэшируйте уже обработанные элементы, чтобы повторный запуск не тратил API-квоту.

Проверка уникальности

После генерации полезно проверить, нет ли полных дублей 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;

Дубли title — это сигнал, что шаблон недостаточно специфичен. Добавьте в шаблон уникализирующее свойство: артикул, цвет, размер.

Сроки выполнения

Задача Время
Настройка шаблонных правил (без кода) 2–4 часа
Скрипт генерации для каталога до 5 000 товаров 1 день
Генерация с AI-описаниями, 1 000–5 000 товаров 2–4 дня