Налаштування canonical URL в 1С-Бітрікс є критичним для SEO. В інтернет-магазині на 1С-Бітрікс один і той самий товар може бути доступний за десятком URL: через різні розділи каталогу, через пошук, з параметрами сортування та фільтра. Без тега <link rel="canonical"> пошуковики витрачають краулінговий бюджет на дублі контенту, а ранжування розпорошується на всі копії. За даними Google Search Central, canonical URL — єдиний надійний спосіб вказати бажаний адресу. Ми налаштовуємо його під ключ: аналізуємо проєкт за день, впроваджуємо рішення за 2–8 годин, даємо гарантію на результат. За понад 8 років досвіду та 200+ виконаних проєктів з SEO-оптимізації Бітрікс наша команда має 5+ років спеціалізації на Бітрікс. Втрати від дублів можуть сягати 30% SEO-бюджету, а економія після налаштування canonical — до 30% бюджету на просування, що може становити сотні доларів щомісяця. Наприклад, для проєкту з бюджетом 1000 $/міс економія сягає 300 $/міс.
Де в Бітрікс виникають дублі URL
- Товар доступний з кількох розділів каталогу (інфоблок з множинною прив'язкою до розділів).
- Сторінка з GET-параметрами:
/catalog/?sort=price&order=ascта/catalog/. - Сторінка розумного фільтра без SEF:
/catalog/?arrFilter_P1=100&set_filter=Y. - HTTP і HTTPS версії.
- З
wwwі безwww. - Додавання
/index.phpв кінці. - Сесійні параметри (sessid, BITRIX_SM_...) в URL.
Понад 60% сайтів на Бітрікс мають хоча б один вид дублів. Усунення цієї проблеми — база для здорового SEO.
Порівняння підходів до налаштування canonical
| Метод | Гнучкість | Складність | Час виконання |
|---|---|---|---|
| Через шаблон компонента | Висока (під кожен тип сторінок) | Середня | 2–4 години на каталог |
| Глобальний init.php | Низька (єдина логіка) | Низька | 30 хвилин + тести |
| Кастомний обробник з винятками | Максимальна | Висока | 4–8 годин |
Метод через шаблон компонента в 3 рази гнучкіший за init.php, хоча повільніший у 2 рази. Він дає більше контролю над URL.
Як налаштувати canonical для картки товару? (покроково)
Крок 1: Відкрийте файл template.php компонента bitrix:catalog.element. Крок 2: Додайте нижченаведений код після отримання $arResult. Крок 3: Очистіть кеш компонента. Крок 4: Перевірте наявність тега canonical у вихідному коді сторінки.
// Отримати канонічний URL елемента $canonicalUrl = $APPLICATION->GetCurDir() . CIBlockElement::GetDetailPageUrl( $arResult['IBLOCK']['DETAIL_PAGE_URL'], $arResult ); // Вивести в HEAD через AddHeadString $APPLICATION->AddHeadString( '<link rel="canonical" href="https://site.ru' . htmlspecialchars($canonicalUrl) . '" />', true ); Важливо: URL має бути абсолютним і без зайвих параметрів. Якщо товар прив'язаний до кількох розділів, потрібно обрати головний розділ через налаштування інфоблоку.
Приклад з практики: для каталогу з 5000 товарів з множинною прив'язкою до розділів ми реалізували canonical через шаблон компонента за 4 години. Після налаштування індексація унікальних сторінок зросла на 35%.
Що робити зі сторінками пагінації?
Сторінки /catalog/?PAGEN_1=2 — спірний момент. Варіанти:
- Canonical на першу сторінку (агресивно, втрачає посилальну вагу).
- Не ставити canonical, але використовувати
rel="prev"/rel="next"(застарілий підхід, Google не враховує). - Унікальний canonical для кожної сторінки пагінації (рекомендується при унікальному контенті на кожній сторінці).
Ми рекомендуємо третій варіант. Він зберігає вагу сторінок і коректно індексує всі товари. Для каталогу з 10 сторінками пагінації це збільшило переходи на 20% за даними Яндекс.Метрики.
Canonical для сторінок з фільтром
Сторінки розумного фільтра з непорожніми параметрами повинні мати canonical на базову сторінку розділу або на SEF-URL фільтра (якщо використовується ЧПУ для фільтра).
У шаблоні компонента розумного фільтра або розділу:
$isFiltered = !empty($_REQUEST['set_filter']) || !empty($_REQUEST['arrFilter_P1']); if ($isFiltered) { $canonicalUrl = $APPLICATION->GetCurPage(); // тільки шлях без GET-параметрів $APPLICATION->AddHeadString('<link rel="canonical" href="https://site.ru' . $canonicalUrl . '" />'); } Глобальне налаштування canonical через init.php
Для централізованої установки canonical без зміни кожного шаблону:
// /local/php_interface/init.php AddEventHandler('main', 'OnEndBufferContent', function(&$content) { global $APPLICATION; $canonical = 'https://site.ru' . $APPLICATION->GetCurPage(); $tag = '<link rel="canonical" href="' . htmlspecialchars($canonical) . '" />'; $content = str_replace('</head>', $tag . '</head>', $content); }); Підхід грубий — підходить для простих сайтів. Для каталогів з фільтрами потрібна логіка винятків.
Що входить у роботу
| Етап | Опис |
|---|---|
| Аналіз | Аудит поточного стану: пошук дублів, перевірка метатегів, виявлення проблемних сторінок |
| Проєктування | Вибір стратегії canonical для кожного типу сторінок (картки, розділи, фільтри, пагінація) |
| Реалізація | Впровадження через шаблон компонента або init.php, написання обробників |
| Тестування | Перевірка всіх типів дублів, коректність виведення canonical |
| Деплой і моніторинг | Викладка на прод, спостереження за індексацією |
Додатково: документація з налаштувань, доступ до CMS, консультація з суміжних SEO-питань.
Терміни та вартість
Налаштування canonical для карток товарів і розділів каталогу — 2–4 години. Повна реалізація з обробкою сторінок фільтра, пагінації та кастомних URL — 4–8 годин. Вартість налаштування canonical для каталогу з 5000 товарів — від 5000 грн. Зв'яжіться з нами для попередньої оцінки — ми проконсультуємо безкоштовно. Отримайте здорову індексацію вже сьогодні. Гарантія 30 днів на результат.
Значення коректного налаштування canonical
Без коректного canonical пошуковики витрачають краулінговий бюджет на дублі, а не на унікальний контент. В результаті — падіння позицій, погіршення індексації. Наше налаштування під ключ гарантує, що Google і Яндекс будуть бачити лише правильні URL. Ми використовуємо сучасні підходи, описані в офіційній документації Wikipedia. Також рекомендуємо ознайомитися з офіційною документацією 1С-Бітрікс. Замовте консультацію та починайте покращувати SEO вашого сайту.







