Генерація SEO-текстів за допомогою AI для 1С-Бітрікс
SEO-тексти для сторінок категорій — один із найнудніших видів копірайтингу та один із найдорожчих при ручному виробництві. 500 категорій × 800 слів = 400 000 слів. Фриланс-копірайтер — місяць роботи, агентство — довше та дорожче. AI закриває це завдання за 2–3 дні з контрольованою якістю.
SEO-тексти vs описи товарів: різні завдання
Опис товару — інформація для покупця. SEO-текст для категорії — контент для пошукового просування з вкрапленнями корисної інформації для користувача. Різниця — у структурі та використанні ключових слів.
Типова структура SEO-тексту для категорії:
- H2 з основним ключем («Купити ноутбуки в Мінську»)
- Вступний абзац з відповіддю на «що тут можна знайти»
- H3 «Як вибрати [категорію]» з корисними порадами
- H3 «Переваги покупки у нас» (УТП магазину)
- Фінальний абзац із закликом до дії
Збір SEO-даних для промпту
Для генерації SEO-тексту потрібно передати до AI:
- Назву категорії та її шлях у дереві розділів
- Ключові слова для сторінки (з Яндекс.Вордстат або 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 годин залежно від моделі.







