Ви запустили каталог на 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 день розрахуємо вартість та строки. Або отримайте консультацію прямо зараз. Вартість налаштування варіюється від 30 000 до 100 000 гривень залежно від складності каталогу — це в рази дешевше ручного заповнення та дає економію до 40 годин на місяць на SEO-оптимізаторах.
Як 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-оптимізації. Замовте аудит поточного стану — виявимо слабкі місця та підготуємо план дій. Результат — зростання органічного трафіку без зайвих витрат на рекламу. Зв'яжіться, щоб обговорити ваш проект.