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

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

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1440
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1013
  • 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
    751
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    872
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    791
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1153

Мы часто видим, как редактор сидит и вручную заполняет и <description> для каждой из 8 000 карточек товаров. Через неделю добавляют ещё 300 позиций — снова вручную. Через месяц половина мета-тегов не соответствует ценам и остаткам. Типичная ситуация для магазинов на 1С-Битрикс: SEO-рутина убивает время, а автоматизации нет.</p> <p>Штатный модуль iblock позволяет задать шаблоны мета-тегов на уровне типа инфоблока. Но возможности ограничены. Нельзя обратиться к связанным элементам, применить условную логику, учесть цену или наличие. Кастомный модуль SEO-автоматизации закрывает этот пробел системно. За 5 лет работы мы реализовали более 50 проектов автоматизации SEO на Битрикс.</p><h3>Почему SEO-автоматизация критична для интернет-магазина?</h3><p>Мета-теги напрямую влияют на ранжирование. Если title и description не уникальны или не содержат актуальных данных (цена, наличие), поисковые системы понижают позиции. По данным <cite>Google Search Central</cite>, это важный фактор. Ручное редактирование при каталоге от 5 000 товаров занимает 20–40 часов в неделю. Это эквивалентно зарплате сотрудника. Автоматизация окупается за 2–3 месяца, экономя до $5.4k–7.8k в год.</p><h3>Что делает модуль</h3><p>Ядро модуля — движок шаблонов с синтаксисом вида <code>{ELEMENT_NAME} | {CATALOG_PRICE} | {SECTION_NAME}</code>. Шаблоны компилируются в PHP-замыкания и кешируются через <code>Bitrix\Main\Data\Cache</code>. На фронтенде нет дополнительных запросов — только чтение из кеша.</p> <p><strong>Генерация мета-тегов по шаблону.</strong> Для каждого типа страниц (раздел каталога, элемент, поиск, тег) настраивается свой шаблон. Переменные берутся из свойств инфоблока, полей торгового каталога (<code>b_catalog_price</code>, <code>b_catalog_product</code>) и кастомных источников.</p> <p>Canonical и hreflang. Модуль перехватывает событие <code>OnBeforeIBlockElementUpdate</code> и автоматически проставляет canonical URL с учётом активного языка. Дополнительную информацию можно найти в статье о <a href="https://en.wikipedia.org/wiki/Canonical_link_element">Canonical link element</a>.</p> <p>Автоматические alt для изображений. Через агент <code>\Bitrix\Main\Agent</code> запускается фоновая задача: перебирает элементы инфоблока без заполненного <code>DETAIL_PICTURE</code>-alt и записывает значение по шаблону. Покрытие alt за 2 недели вырастает с 30% до 95%.</p> <p>Генерация sitemap. Подключается к модулю <code>seo</code> (namespace <code>Bitrix\Seo\SitemapFile</code>) и расширяет логику: исключает страницы с <code>noindex</code>, учитывает приоритет по дате изменения, разбивает на части при превышении 50 000 URL.</p><h3>Как шаблонизатор решает проблему производительности?</h3><p>Самая сложная часть — правильно спроектировать источники данных, чтобы шаблон работал быстро даже при 100 000 элементах.</p><pre><code class="language-php">// Регистрация источника данных \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, '.', ' ') : ''; } ); </code></pre><p>Источники данных регистрируются через статический реестр. При рендеринге шаблона движок определяет, какие источники нужны, и делает ровно столько запросов к БД, сколько необходимо. Для списков применяется пакетная загрузка через <code>DataManager::getList</code> с <code>IN</code>-фильтром по массиву ID.</p> <p>Кеширование. Результат рендеринга кешируется с тегом <code>iblock_id_N</code>. Это позволяет сбрасывать кеш точечно при изменении элемента через <code>\Bitrix\Main\Data\TaggedCache</code>.</p> <p>Мониторинг. Модуль ведёт лог заполненности мета-тегов: для каждого раздела выводится процент страниц с непустым <code><title></code>, <code><description></code> и canonical. Таблица <code>myvendor_seo_coverage</code> обновляется через агент раз в сутки.</p><h3>Что входит в разработку модуля?</h3> <ol> <li>Аудит текущих инфоблоков: структура свойств, количество языков, наличие торгового каталога.</li> <li>Проектирование архитектуры источников данных на основе аудита.</li> <li>Настройка шаблонов мета-тегов для всех типов страниц (каталог, разделы, элементы, поиск, теги).</li> <li>Реализация canonical и hreflang с поддержкой мультиязычности.</li> <li>Интеграция с торговым каталогом для подстановки цен и остатков.</li> <li>Агент для автоматического заполнения alt у изображений.</li> <li>Генерация sitemap с учётом noindex и приоритетов.</li> <li>Таблица покрытия мета-тегов для мониторинга.</li> <li>Документация по эксплуатации и обучение администраторов.</li> <li>Гарантия на модуль 12 месяцев, поддержка обновлений Битрикс.</li> </ol> <h3>Сравнение ручного и автоматизированного подхода</h3> <table> <thead> <tr> <th>Параметр</th> <th>Ручное заполнение</th> <th>Автоматизация модулем</th> </tr> </thead> <tbody> <tr> <td>Время на 1 000 товаров</td> <td>10–15 часов</td> <td>0.5 секунды</td> </tr> <tr> <td>Ошибки (пропуски, дубли)</td> <td>до 20%</td> <td>менее 0.1%</td> </tr> <tr> <td>Актуальность цен/наличия</td> <td>обновляется раз в неделю</td> <td>в реальном времени</td> </tr> <tr> <td>Затраты в год на штат SEO-специалиста</td> <td>от $5.4k–7.8k</td> <td>0 (экономия)</td> </tr> </tbody> </table> <h3>Сроки разработки</h3> <table> <thead> <tr> <th>Объём проекта</th> <th>Состав</th> <th>Срок</th> </tr> </thead> <tbody> <tr> <td>Базовый</td> <td>Шаблоны мета-тегов + canonical</td> <td>2–3 недели</td> </tr> <tr> <td>Средний</td> <td>+ sitemap + alt-изображения + лог покрытия</td> <td>4–5 недель</td> </tr> <tr> <td>Расширенный</td> <td>+ редиректы + интеграция с внешними SEO-API</td> <td>6–8 недель</td> </tr> </tbody> </table> <h3>Типичные ошибки при настройке автоматизации</h3> <ul> <li>Игнорирование кастомных свойств инфоблоков — неполные шаблоны.</li> <li>Отсутствие тегированного кеша — падение сайта при нагрузке.</li> <li>Неправильный порядок событий: <code>OnBeforeIBlockElementUpdate</code> конфликтует с сохранением 1С.</li> <li>Забывают про мультиязычность: canonical без hreflang — штраф от Google.</li> </ul><p>Перед стартом важно провести аудит текущих инфоблоков. Структура свойств, количество языков, наличие торгового каталога — всё влияет на архитектуру источников данных. Мы гарантируем индивидуальный подход и фиксированную стоимость после согласования ТЗ.</p> <p>Получите консультацию — оценим ваш проект и предложим оптимальное решение. Закажите разработку, мы работаем по всей РФ и СНГ.</p></div><div class="flex flex-col p-4 md:p-8 gap-4 lg:gap-8 mb-4 lg:mb-16 xl:mb-40 transition-all rounded-lg xl:shadow-light bg-white dark:bg-dark-item border-t-2 border-dark-button"><div class="grid grid-cols-1 md:grid-cols-3 gap-4"><a href="/downloads/bitrix_ru.pptx" download="" class="cursor-pointer flex gap-4 dark:text-white bg-light-fill dark:bg-dark-fill rounded-lg p-4 text-center hover:opacity-75 transition-all"><span class=" flex w-6 h-6 text-[#FF8787] dark:text-[#FF8787]"><svg x="0px" y="0px" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M22 16H28C28.2652 16 28.5196 16.1054 28.7071 16.2929C28.8946 16.4804 29 16.7348 29 17V25C29 25.2652 28.8946 25.5196 28.7071 25.7071C28.5196 25.8946 28.2652 26 28 26H4C3.73478 26 3.48043 25.8946 3.29289 25.7071C3.10536 25.5196 3 25.2652 3 25V17C3 16.7348 3.10536 16.4804 3.29289 16.2929C3.48043 16.1054 3.73478 16 4 16H10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M16 3V16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M10 10L16 16L22 10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M23.5 22.25C24.1904 22.25 24.75 21.6904 24.75 21C24.75 20.3096 24.1904 19.75 23.5 19.75C22.8096 19.75 22.25 20.3096 22.25 21C22.25 21.6904 22.8096 22.25 23.5 22.25Z" fill="currentColor"></path></svg></span>1С Битрикс презентация</a><a href="/downloads/bitrix_24_ru.pptx" download="" class="cursor-pointer flex gap-4 dark:text-white bg-light-fill dark:bg-dark-fill rounded-lg p-4 text-center hover:opacity-75 transition-all"><span class=" flex w-6 h-6 text-[#1E90FF] dark:text-[#1E90FF]"><svg x="0px" y="0px" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M22 16H28C28.2652 16 28.5196 16.1054 28.7071 16.2929C28.8946 16.4804 29 16.7348 29 17V25C29 25.2652 28.8946 25.5196 28.7071 25.7071C28.5196 25.8946 28.2652 26 28 26H4C3.73478 26 3.48043 25.8946 3.29289 25.7071C3.10536 25.5196 3 25.2652 3 25V17C3 16.7348 3.10536 16.4804 3.29289 16.2929C3.48043 16.1054 3.73478 16 4 16H10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M16 3V16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M10 10L16 16L22 10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M23.5 22.25C24.1904 22.25 24.75 21.6904 24.75 21C24.75 20.3096 24.1904 19.75 23.5 19.75C22.8096 19.75 22.25 20.3096 22.25 21C22.25 21.6904 22.8096 22.25 23.5 22.25Z" fill="currentColor"></path></svg></span>1С Битрикс24 презентация</a><a href="/downloads/bitrix_enterprise_ru.pptx" download="" class="cursor-pointer flex gap-4 dark:text-white bg-light-fill dark:bg-dark-fill rounded-lg p-4 text-center hover:opacity-75 transition-all"><span class=" flex w-6 h-6 text-[#D9D300] dark:text-[#FFFB00]"><svg x="0px" y="0px" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M22 16H28C28.2652 16 28.5196 16.1054 28.7071 16.2929C28.8946 16.4804 29 16.7348 29 17V25C29 25.2652 28.8946 25.5196 28.7071 25.7071C28.5196 25.8946 28.2652 26 28 26H4C3.73478 26 3.48043 25.8946 3.29289 25.7071C3.10536 25.5196 3 25.2652 3 25V17C3 16.7348 3.10536 16.4804 3.29289 16.2929C3.48043 16.1054 3.73478 16 4 16H10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M16 3V16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M10 10L16 16L22 10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M23.5 22.25C24.1904 22.25 24.75 21.6904 24.75 21C24.75 20.3096 24.1904 19.75 23.5 19.75C22.8096 19.75 22.25 20.3096 22.25 21C22.25 21.6904 22.8096 22.25 23.5 22.25Z" fill="currentColor"></path></svg></span>1С Предприятие презентация</a></div></div></div></main><div class="block relative mt-8 lg:hidden w-full"></div><footer class="relative hidden lg:block"><div class="mx-auto max-w-7xl py-12 px-6 lg:py-16 lg:px-8"><div class="pb-8 grid grid-cols-4 gap-8"><div class="mt-0"><div class="text-base text-black font-normal dark:text-white">Поддержка</div><ul class="mt-4 space-y-4"><li><a class="text-base text-black/75 dark:text-white/50 hover:text-black dark:hover:text-white transition-all" href="https://truetech.dev/ru/contacts">Бесплатная консультация</a></li><li><a class="text-base text-black/75 dark:text-white/50 hover:text-black dark:hover:text-white transition-all" href="https://truetech.dev/ru/posts">Полезная информация</a></li></ul></div><div><div class="text-base text-black font-normal dark:text-white">Решения</div><ul class="mt-4 space-y-4"><li><a class="text-base text-black/75 dark:text-white/50 hover:text-black dark:hover:text-white transition-all" href="https://truetech.dev/ru/apps">Все решения</a></li></ul></div><div><div class="text-base text-black font-normal dark:text-white">Компания</div><ul class="mt-4 space-y-4"><li><a class="text-base text-black/75 dark:text-white/50 hover:text-black dark:hover:text-white transition-all" href="https://truetech.dev/ru/contacts">Контакты</a></li><li><a class="text-base text-black/75 dark:text-white/50 hover:text-black dark:hover:text-white transition-all" href="https://truetech.dev/ru/about">О компании</a></li><li><a class="text-base text-black/75 dark:text-white/50 hover:text-black dark:hover:text-white transition-all" href="https://truetech.dev/ru/career">Работа в компании</a></li><li><a class="text-base text-black/75 dark:text-white/50 hover:text-black dark:hover:text-white transition-all" href="https://truetech.dev/ru/affiliate-program">Партнерская программа</a></li></ul></div><div class="mt-0"><div class="text-base text-black font-normal dark:text-white">Language & Currency</div><div class="mt-4 flex flex-col gap-4"><div><div class="relative mt-1"><button class="relative rounded-lg w-full cursor-default py-3 pl-3 pr-10 text-left shadow-sm text-base font-normal text-black/75 dark:text-white/50 bg-light-item dark:bg-dark-item focus:outline-none focus:ring-2 focus:ring-dark-button" id="headlessui-listbox-button-:Rpkdl:" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><span class="block truncate">Русский</span><span class="pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon" class="h-5 w-5"><path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd"></path></svg></span></button></div></div><div><div class="relative"><button class="relative rounded-lg w-full cursor-default py-3 pl-3 pr-10 text-left shadow-sm text-base font-normal text-black/75 dark:text-white/50 bg-light-item dark:bg-dark-item focus:outline-none focus:ring-2 focus:ring-dark-button" id="headlessui-listbox-button-:Rqkdl:" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><span class="block truncate">USD</span><span class="pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon" class="h-5 w-5"><path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd"></path></svg></span></button></div></div></div></div></div><div class="py-8 grid grid-cols-4 gap-8 border-t border-black/25 dark:border-white/25"><div><a class="text-base text-black/75 dark:text-white/50 hover:text-black dark:hover:text-white transition-all" href="https://truetech.dev/ru/privacy-policy">Политика конфиденциальности</a></div><div><a class="text-base text-black/75 dark:text-white/50 hover:text-black dark:hover:text-white transition-all" href="https://truetech.dev/ru/terms-of-service">Условия использования</a></div><div class="col-span-2"><div class="text-base text-black/75 dark:text-white/50">© <!-- -->2026<!-- --> <!-- -->Настоящие Технологии ООО. Все права защищены.</div></div></div></div></footer></div><div class="fixed lg:hidden w-full bottom-0"><div class="flex gap-12 px-12 justify-center h-[3.25rem] bg-white border-t border-[#E8E8E8] dark:bg-dark-nav dark:border-none"><a class="grow flex items-center justify-center text-white h-full" aria-label="Главная" href="https://truetech.dev/ru"><span class="flex h-8 w-7 text-black dark:text-white opacity-100"><svg x="0px" y="0px" viewBox="0 0 28 32.7" fill="none" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M16.8,23v-6c0-0.3-0.1-0.5-0.3-0.7c-0.2-0.2-0.4-0.3-0.7-0.3h-4c-0.3,0-0.5,0.1-0.7,0.3 c-0.2,0.2-0.3,0.4-0.3,0.7v6c0,0.3-0.1,0.5-0.3,0.7c-0.2,0.2-0.4,0.3-0.7,0.3l-6,0c-0.1,0-0.3,0-0.4-0.1c-0.1-0.1-0.2-0.1-0.3-0.2 C3,23.6,3,23.5,2.9,23.3c-0.1-0.1-0.1-0.3-0.1-0.4V11.4c0-0.1,0-0.3,0.1-0.4c0.1-0.1,0.1-0.2,0.2-0.3l10-9.1 c0.2-0.2,0.4-0.3,0.7-0.3c0.2,0,0.5,0.1,0.7,0.3l10,9.1c0.1,0.1,0.2,0.2,0.2,0.3c0.1,0.1,0.1,0.3,0.1,0.4V23c0,0.1,0,0.3-0.1,0.4 c-0.1,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.2,0.2-0.3,0.2C24.1,23.9,24,24,23.8,24l-6,0c-0.3,0-0.5-0.1-0.7-0.3 C17,23.5,16.8,23.2,16.8,23L16.8,23z" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><line class="st1" x1="6.4" y1="32" x2="21.4" y2="32" fill="none" stroke="currentColor" stroke-linecap="round"></line></svg></span></a><a class="grow flex items-center justify-center text-white h-full" aria-label="Все решения" href="https://truetech.dev/ru/apps"><span class="flex h-8 w-7 text-black dark:text-white opacity-50"><svg x="0px" y="0px" viewBox="0 0 28 32.7" fill="none" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M11.8,3.1h-8v8h8V3.1z" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M23.8,3.1h-8v8h8V3.1z" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M11.8,15.1h-8v8h8V15.1z" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M23.8,15.1h-8v8h8V15.1z" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></span></a><a class="grow flex items-center justify-center text-white h-full" aria-label="Услуги" href="https://truetech.dev/ru#servicesList"><span class="flex h-8 w-7 text-black dark:text-white opacity-50"><svg x="0px" y="0px" viewBox="0 0 28 32.7" fill="none" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M2.8,13.2h22" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2.8,5.2h22" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2.8,21.2h22" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></span></a><a class="grow flex items-center justify-center text-white h-full" aria-label="Мой аккаунт" href="https://truetech.dev/ru/area51"><span class="flex h-8 w-7 text-black dark:text-white opacity-50"><svg x="0px" y="0px" viewBox="0 0 28 32.7" fill="none" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M13.8,17.2c4.4,0,8-3.6,8-8s-3.6-8-8-8s-8,3.6-8,8S9.4,17.2,13.8,17.2z" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.7,24.2c1.2-2.1,3-3.9,5.1-5.1c2.1-1.2,4.5-1.9,7-1.9c2.5,0,4.9,0.6,7,1.9c2.1,1.2,3.9,3,5.1,5.1" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></span></a></div></div></div></div> <div id="dialog"></div> <div id="dialog-alert"></div> <div id="dialog-iframe" class="hidden"></div> </div> </body> </html>