Генерация SEO-текстов с помощью AI для 1С-Битрикс
SEO-тексты для страниц категорий — один из самых скучных видов копирайтинга и один из самых дорогих при ручном производстве. 500 категорий × 800 слов = 400 000 слов. Фриланс-копирайтер за месяц, агентство — дольше и дороже. AI закрывает эту задачу за 2–3 дня с контролируемым качеством.
SEO-тексты vs описания товаров: разные задачи
Описание товара — информация для покупателя. SEO-текст для категории — контент для поискового продвижения с вкраплениями полезной информации для пользователя. Разница в структуре и использовании ключевых слов.
Типичная структура SEO-текста для категории:
- H2 с основным ключом («Купить ноутбуки в Минске»)
- Вводный абзац с ответом на «что здесь можно найти»
- H3 «Как выбрать [категорию]» с полезными советами
- H3 «Преимущества покупки у нас» (УТП магазина)
- Финальный абзац с призывом к действию
Сбор SEO-данных для промпта
Для генерации SEO-текста нужно передать в AI:
- Название категории и её путь в дереве разделов
- Ключевые слова для страницы (из Яндекс.Wordstat или SEMrush)
- Количество товаров в категории и подкатегории
-
Диапазон цен (берём из
b_catalog_priceчерез min/max) - Топовые бренды в категории
- Характеристики фильтра — что можно отфильтровать на странице
Сборщик данных для категории:
function buildCategoryContext(int $sectionId): array {
$section = CIBlockSection::GetByID($sectionId)->Fetch();
$priceRange = getPriceRange($sectionId); // SELECT MIN/MAX из b_catalog_price
$brands = getTopBrands($sectionId, 5); // топ-5 брендов по количеству товаров
$filterProps = getFilterProperties($sectionId); // свойства умного фильтра
return [
'name' => $section['NAME'],
'breadcrumb' => getSectionBreadcrumb($sectionId),
'count' => $section['ELEMENT_CNT'],
'price_from' => $priceRange['min'],
'price_to' => $priceRange['max'],
'brands' => implode(', ', $brands),
'filter_params' => implode(', ', $filterProps),
];
}
Ключевые слова в промпте
Передаём в промпт 5–10 ключевых фраз, которые должны органично встречаться в тексте:
Используй следующие ключевые слова естественным образом (не перечисляй их подряд):
Основной: "купить ноутбук Минск"
Дополнительные: "ноутбуки интернет-магазин", "ноутбук цена", "игровой ноутбук", "ноутбук для работы"
LSI: "процессор", "оперативная память", "SSD", "дисплей"
Ключевые слова храним в SEO-свойствах раздела инфоблока (b_iblock_section_property) или в отдельном Highload-блоке SectionSeoKeywords.
Обновление SEO-текстов разделов
SEO-текст раздела хранится в b_iblock_section.DESCRIPTION. Запись через API:
$ibs = new CIBlockSection();
$ibs->Update($sectionId, [
'DESCRIPTION' => $generatedHtml,
'DESCRIPTION_TYPE' => 'html',
]);
Для мета-тегов раздела — аналогично товарам, через \Bitrix\Iblock\InheritedProperty\SectionValues:
$ipropValues = new \Bitrix\Iblock\InheritedProperty\SectionValues($iblockId, $sectionId);
$ipropValues->save([
'SECTION_META_TITLE' => $metaTitle,
'SECTION_META_DESCRIPTION' => $metaDescription,
]);
Планировщик обновлений
SEO-тексты устаревают: меняются цены, появляются новые бренды, обновляется ассортимент. Стратегия обновлений:
- Автоматически: если диапазон цен изменился более чем на 20% → перегенерировать
- По расписанию: раз в квартал — полная перегенерация для всех разделов
- По триггеру: при добавлении новой подкатегории — перегенерация родительского раздела
Контроль уникальности
Перед публикацией — проверка уникальности. Простой вариант без внешних сервисов: сравниваем с уже опубликованными текстами через similar_text(). Если схожесть > 40% — перегенерируем с другим seed (параметр temperature: 0.8 вместо стандартного 0.7).
Таймлайн работ
| Этап | Срок |
|---|---|
| Проектирование промптов для каждого типа разделов | 2–3 дня |
| Сборщик контекста раздела (цены, бренды, фильтр) | 1–2 дня |
| Генератор с управлением ключевыми словами | 1–2 дня |
| Запись в поля Битрикса, мета-теги разделов | 4–8 часов |
| Планировщик обновлений, триггеры | 1 день |
Итого: 5–9 рабочих дней. При 500+ разделах — время первичной генерации 3–8 часов в зависимости от модели.







