Разработка модуля SEO-автоматизации 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Разработка модуля SEO-автоматизации 1С-Битрикс
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Разработка модуля SEO-автоматизации 1С-Битрикс

Редактор сидит и вручную заполняет <title> и <description> для каждой из 8 000 карточек товаров. Через неделю добавляют ещё 300 позиций — снова вручную. Через месяц выясняется, что половина мета-тегов не соответствует текущим ценам и остаткам. Это типичная ситуация для магазинов среднего размера на 1С-Битрикс: SEO-рутина убивает время, а автоматизации нет, потому что штатного инструментария не хватает.

Штатный модуль iblock позволяет задать шаблоны мета-тегов на уровне типа инфоблока, но возможности ограничены: нельзя обратиться к связанным элементам, применить условную логику, учесть цену или наличие. Кастомный модуль SEO-автоматизации закрывает этот пробел системно.

Что делает модуль

Ядро модуля — движок шаблонов с синтаксисом вида {ELEMENT_NAME} | {CATALOG_PRICE} | {SECTION_NAME}. Шаблоны компилируются в PHP-замыкания и кешируются через Bitrix\Main\Data\Cache, поэтому на фронтенде нет дополнительных запросов — только чтение из кеша.

Генерация мета-тегов по шаблону. Для каждого типа страниц (раздел каталога, элемент каталога, страница поиска, страница тега) настраивается свой шаблон. Переменные берутся из свойств инфоблока, полей торгового каталога (b_catalog_price, b_catalog_product) и кастомных источников.

Canonical и hreflang. Модуль перехватывает событие OnBeforeIBlockElementUpdate и автоматически проставляет canonical URL с учётом активного языка сайта (мультиязычная структура через Bitrix\Main\Localization).

Автоматические alt для изображений. Через агент \Bitrix\Main\Agent запускается фоновая задача: перебирает элементы инфоблока без заполненного DETAIL_PICTURE-alt и записывает значение по шаблону.

Генерация sitemap. Подключается к модулю seo (namespace Bitrix\Seo\SitemapFile) и расширяет логику: исключает страницы с noindex, учитывает приоритет по дате последнего изменения, разбивает на части при превышении лимита 50 000 URL.

Глубокий разбор: шаблонизатор и источники данных

Это самая сложная часть — правильно спроектировать источники данных, чтобы шаблон работал быстро даже при 100 000 элементов.

// Регистрация источника данных
\MyVendor\SeoModule\TemplateEngine::registerSource(
    'CATALOG_PRICE',
    function(int $elementId, array $context): string {
        $price = \Bitrix\Catalog\PriceTable::getList([
            'filter' => ['=PRODUCT_ID' => $elementId, '=CATALOG_GROUP_ID' => 1],
            'select' => ['PRICE'],
            'limit'  => 1,
        ])->fetchObject();
        return $price ? number_format($price->getPrice(), 0, '.', ' ') : '';
    }
);

Источники данных регистрируются через статический реестр. При рендеринге шаблона движок определяет, какие источники нужны, и делает ровно столько запросов к БД, сколько необходимо — не больше. Для списков применяется пакетная загрузка через DataManager::getList с IN-фильтром по массиву ID.

Кеширование. Результат рендеринга кешируется с тегом iblock_id_N, что позволяет сбрасывать кеш точечно при изменении элемента через стандартный механизм тегированного кеша Битрикс (\Bitrix\Main\Data\TaggedCache).

Мониторинг. Модуль ведёт лог заполненности мета-тегов: для каждого раздела выводится процент страниц с непустым <title>, <description> и canonical. Таблица myvendor_seo_coverage обновляется через агент раз в сутки.

SEO-редиректы как часть модуля

Опционально в модуль включается управление 301-редиректами. Список правил хранится в собственной таблице myvendor_seo_redirects, правила компилируются в регулярные выражения и применяются через обработчик события OnPageStart до того, как Битрикс начнёт строить страницу. Это быстрее, чем проверка через .htaccess для динамических паттернов.

Интеграция с административной панелью

Модуль добавляет раздел в административный интерфейс Битрикс (через CAdminMenu и стандартный механизм страниц в /bitrix/admin/). В интерфейсе — редактор шаблонов с подсветкой переменных, предпросмотр для конкретного элемента и таблица покрытия.

Сроки разработки

Объём проекта Состав Срок
Базовый Шаблоны мета-тегов + canonical 2–3 недели
Средний + sitemap + alt-изображения + лог покрытия 4–5 недель
Расширенный + редиректы + интеграция с внешними SEO-API 6–8 недель

Перед стартом важно провести аудит текущих инфоблоков: структура свойств, количество языков, наличие торгового каталога и его конфигурация — всё это влияет на архитектуру источников данных.