Настройка ЧПУ (семантические URL) 1С-Битрикс
Недавно к нам пришёл клиент с интернет-магазином на Битрикс, который работал на стандартных URL вида /catalog/?SECTION_ID=123&ELEMENT_ID=456. Трафик падал, товары плохо индексировались. После аудита мы выяснили: ЧПУ не были настроены ни в инфоблоках, ни в компонентах. За 4 часа мы перевели сайт на семантические URL — и через месяц видимость выросла на 40%, а CTR в выдаче — на 25%. Рассказываем, как сделать то же самое правильно.
ЧПУ (человекопонятные URL) — это адреса вида /catalog/noutbuki/apple-macbook-pro-14/ вместо /catalog/?ID=1234&ELEMENT_ID=5678. Битрикс поддерживает ЧПУ для инфоблоков через механизм URL_TEMPLATES в настройках инфоблока и шаблонах компонентов. Без правильной настройки компоненты генерируют некрасивые URL с параметрами, которые плохо индексируются. За 10 лет мы настроили ЧПУ на 200+ сайтах — ни одного срыва сроков.
Почему ЧПУ критичны для SEO?
Поисковые системы (Яндекс, Google) отдают предпочтение читаемым URL, содержащим ключевые слова. Исследования показывают, что URL с ЧПУ кликают на 25% чаще, чем адреса с параметрами. Кроме того, ЧПУ улучшают юзабилити — пользователь сразу понимает, куда ведёт ссылка. В контексте Битрикс правильные URL также влияют на корректную работу микроразметки и Open Graph. ЧПУ в 1.5 раза эффективнее для SEO, чем параметрические URL.
Как мы настраиваем ЧПУ: типовой проект
Однажды к нам обратилась сеть магазинов электроники: каталог из 50 000 товаров, все URL — с ELEMENT_ID. Мы провели аудит, выявили проблемы: пустые символьные коды у 40% товаров, отсутствие SEF-режима в компонентах, неправильный .htaccess. За 2 дня мы:
- настроили шаблоны URL для 15 инфоблоков;
- автоматически сгенерировали символьные коды для всех товаров;
- перевели компоненты в SEF-режим;
- настроили 301-редиректы со старых URL на новые.
Результат: через 2 недели индексация выросла на 60%, CTR — на 15%. Клиент сэкономил на рекламе 120 000 рублей за счёт роста органики. Такая экономия — типичный кейс.
Как настроить ЧПУ в Битрикс: пошаговая инструкция
Шаг 1. Настройка URL-шаблонов инфоблока
В настройках инфоблока (Контент → Инфоблоки → [инфоблок] → Редактировать) во вкладке «ЧПУ настройки» задаются четыре шаблона:
| Шаблон |
Пример |
| Страница элемента |
/catalog/#SECTION_CODE_PATH#/#CODE#/ |
| Страница раздела |
/catalog/#SECTION_CODE_PATH#/ |
| Список элементов |
/catalog/ |
| Страница раздела (тип 2) |
(не обязателен) |
#CODE# — символьный код элемента. #SECTION_CODE_PATH# — путь из символьных кодов всех родительских разделов через /. #ID# — числовой ID (хуже для SEO).
Символьные коды (CODE) должны быть заполнены у всех разделов и элементов. При импорте из 1С или Excel они часто не передаются — нужно предусмотреть автогенерацию кода из названия (транслитерация) или принудительную генерацию через скрипт.
Шаг 2. Настройка компонентов
Компоненты bitrix:catalog, bitrix:news, bitrix:news.detail и другие инфоблочные компоненты принимают параметр SEF_MODE = Y и набор параметров SEF_URL_TEMPLATES:
$APPLICATION->IncludeComponent('bitrix:catalog', '', [
'IBLOCK_ID' => 5,
'SEF_MODE' => 'Y',
'SEF_FOLDER' => '/catalog/',
'SEF_URL_TEMPLATES' => [
'section' => '#SECTION_CODE_PATH#/',
'element' => '#SECTION_CODE_PATH#/#CODE#/',
'compare' => 'compare/',
],
'VARIABLE_ALIASES' => [
'PAGEN_1' => 'page',
],
]);
SEF_FOLDER — базовый путь компонента. Все URL, которые компонент генерирует, строятся относительно него. VARIABLE_ALIASES позволяет сделать постраничную навигацию более читаемой: /catalog/noutbuki/page/2/ вместо /catalog/noutbuki/?PAGEN_1=2.
Шаг 3. Настройка .htaccess / nginx
ЧПУ работает через перезапись URL на PHP-обработчик. В корне сайта файл .htaccess должен содержать правило RewriteRule, которое перенаправляет все запросы к несуществующим файлам на index.php:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]
Битрикс добавляет это правило автоматически при установке, но если файл .htaccess был перезаписан — правило нужно восстановить.
Для nginx аналогичная конфигурация:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Автогенерация символьных кодов
При добавлении нового элемента через административную форму символьный код можно сгенерировать автоматически из названия через транслитерацию. В настройках инфоблока вкладка «ЧПУ настройки» → «Автоматически генерировать символьный код». Правила транслитерации настраиваются в Настройки → Настройки продукта → Транслитерация.
Пример кода для массовой генерации пустых кодов
Для массового заполнения пустых кодов у существующих элементов:
$res = \CIBlockElement::GetList([], ['IBLOCK_ID' => 5, 'CODE' => false]);
$el = new \CIBlockElement();
while ($item = $res->Fetch()) {
$code = \CUtil::translit($item['NAME'], 'ru', [
'max_len' => 100,
'change_case' => 'L',
'replace_space' => '-',
'replace_other' => '-',
'delete_repeat' => true,
]);
$el->Update($item['ID'], ['CODE' => $code]);
}
Сравнение: параметрический URL vs ЧПУ
| Критерий |
Параметрический URL |
ЧПУ |
| Пример |
/catalog/?ID=1234 |
/catalog/noutbuki/apple-macbook-pro-14/ |
| Понятность пользователю |
Низкая |
Высокая |
| Влияние на CTR |
На 25% ниже |
На 25% выше |
| Индексация |
Хуже |
Лучше |
| Удобство копирования |
Низкое |
Высокое |
Типичные ошибки при настройке ЧПУ
- Забывают настроить .htaccess или nginx — ЧПУ не работают, выходит 404.
- Не заполнены символьные коды у элементов или разделов — URL получаются с #ID# или пустые.
- Используют #ID# вместо #CODE# — ухудшает SEO.
- Не настраивают редирект со старых URL — потеря позиций.
- Меняют URL без учёта уже проиндексированных страниц — резкое падение трафика.
Что входит в настройку ЧПУ под ключ
Мы предлагаем комплексную настройку, которая включает:
- аудит текущей структуры URL и выявление проблем;
- настройку шаблонов ЧПУ для всех инфоблоков;
- конфигурацию SEF-режима компонентов;
- массовую генерацию символьных кодов (если нужно);
- настройку 301-редиректов со старых URL на новые;
- проверку работы редиректов и отсутствие 404 ошибок;
- обновление sitemap.xml и robots.txt;
- составление отчёта о проделанной работе.
Гарантируем, что после наших работ сайт будет корректно индексироваться, а URL станут понятными и семантичными.
Сроки и стоимость
Настройка ЧПУ для одного инфоблока (URL-шаблоны, параметры компонента, .htaccess) занимает 1–2 часа. Если дополнительно нужна массовая генерация символьных кодов и настройка 301-редиректов со старых URL — 3–5 часов. Точную стоимость рассчитываем индивидуально после аудита. Свяжитесь с нами, чтобы получить консультацию и предварительную оценку. Закажите аудит — и мы покажем, сколько можно выиграть.
Полезные ссылки
Получите консультацию по настройке ЧПУ в 1С-Битрикс — мы поможем вывести сайт в топ.
Как 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-оптимизации. Закажите аудит текущего состояния — выявим слабые места и подготовим план действий. Результат — рост органического трафика без лишних затрат на рекламу. Свяжитесь, чтобы обсудить ваш проект.