Автоматизація SEO-текстів через AI: досвід для 1С-Бітрікс
На одному з проєктів із 800 категоріями ручне написання SEO-текстів зайняло б півроку. Ми автоматизували цей процес за допомогою AI — генерація зайняла 3 дні, а позиції за низькочастотними запитами зросли на 40% за перший місяць. Економія на контенті для каталогу з 500 розділів склала до 60% бюджету порівняно з фріланс-копірайтерами. AI-генерація текстів у 3 рази швидша за ручну працю, а вартість — у 2–3 рази нижча. Наша команда з 7-річним досвідом у Бітріксі реалізувала 50+ проєктів з автоматизації контенту.
Проблеми, які вирішуємо
Фріланс-копірайтер пише 500 розділів за місяць, агентство — довше. AI закриває це завдання за 2–3 дні з контрольованою якістю. Однак просто скормити API назву категорії недостатньо — потрібен контекст: ціни, бренди, характеристики фільтра. Без цього тексти виходять шаблонними й не приносять користі.
Збір 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),
];
}
Як AI генерує текст з урахуванням структури?
Промпт містить не лише дані, а й шаблон розмітки. Ми задаємо вимоги: H2 і H3, вступний абзац, блок «Як вибрати», УТП, заклик. AI заповнює шаблон конкретикою з контексту. Наприклад, для категорії «Ноутбуки» генерується H2 «Купити ноутбук у Мінську — ціни розраховуються індивідуально» і далі за схемою. Ключові слова передаються як список вимог: основний ключ «купити ноутбук Мінськ», додаткові «ноутбуки інтернет-магазин», «ноутбук ціна», LSI «процесор», «оперативна пам'ять». AI органічно вплітає їх у текст.
Оновлення 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).
Чому AI вигідніший за ручний копірайтинг?
Ручний копірайтинг для 500 розділів коштує в кілька разів дорожче й займає до півтора місяця. AI-генерація дає економію до 60% бюджету й дозволяє запустити контент за 3 дні. При цьому тексти проходять контроль унікальності й оптимізовані під ключові запити.
Що входить у роботу?
| deliverable |
опис |
| розробка промптів для кожного типу розділів |
шаблони з урахуванням структури та ключів |
| збирач контексту розділу |
модуль на PHP для вилучення цін, брендів, фільтрів |
| генератор з керуванням ключовими словами |
інтеграція з AI (OpenAI, YandexGPT) |
| запис у поля Бітрікса |
DESCRIPTION, мета-теги, успадкування |
| планувальник оновлень |
агенти та події для автоматичної перегенерації |
| документація та навчання |
опис архітектури, інструкція з додавання нових типів |
Таймлайн робіт
| Етап |
Термін |
| Проектування промптів для кожного типу розділів |
2–3 дні |
| Збирач контексту розділу (ціни, бренди, фільтр) |
1–2 дні |
| Генератор з керуванням ключовими словами |
1–2 дні |
| Запис у поля Бітрікса, мета-теги розділів |
4–8 годин |
| Планувальник оновлень, тригери |
1 день |
Разом: 5–9 робочих днів. При 500+ розділах — час первинної генерації 3–8 годин залежно від моделі AI (наприклад, YandexGPT або OpenAI — обидві підтримуються).
Хочете автоматизувати контент для вашого каталогу? Зв'яжіться з нами — оцінимо проєкт і запропонуємо рішення під ваш стек. Замовте консультацію: ми гарантуємо унікальність кожного тексту та ріст позицій за цільовими запитами.
Як 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 або кастомний компонент:
-
Product —
name, 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_iblock → FIELDS → CODE → TRANSLITERATION. Стандарт — 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 для статики
Процес роботи: покроково
-
Аудит — аналіз поточного стану: мета-теги, структура URL, індексація, швидкість, мікророзмітка. Формуємо звіт з пріоритезацією.
-
Проектування — узгоджуємо план: які сторінки отримують канонічні URL, які закриваються, шаблони мета-тегів, список редиректів.
-
Реалізація — налаштування модуля SEO, ЧПУ,
robots.txt, sitemap.xml, впровадження JSON-LD. Пишемо кастомні обробники для авторедиректів та SEO-фільтрів.
-
Тестування — перевірка через Google Search Console, Яндекс.Вебмайстер, Screaming Frog. Переконуємося, що зникли дублі, краулер ходить тільки по потрібних сторінках.
-
Деплой та моніторинг — викатка на продакшн, щомісячні звіти з індексації та трафіку. При необхідності коригуємо.
Що входить в роботу з 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-оптимізації. Замовте аудит поточного стану — виявимо слабкі місця та підготуємо план дій. Результат — зростання органічного трафіку без зайвих витрат на рекламу. Зв'яжіться, щоб обговорити ваш проект.