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

Розробка модуля SEO-автоматизації для 1С-Бітрікс Ми часто бачимо, як редактор сидить і вручну заповнює <title> та <description> для кожної з 8 000 карток товарів. Через тиждень додають ще 300 позицій — знову вручну. Через місяць половина мета-тегів не відповідає цінам та залишкам. Типова ситуація
Послуги, які ми пропонуємо
Показано 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
    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

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

Ми часто бачимо, як редактор сидить і вручну заповнює та <description> для кожної з 8 000 карток товарів. Через тиждень додають ще 300 позицій — знову вручну. Через місяць половина мета-тегів не відповідає цінам та залишкам. Типова ситуація для магазинів на 1С-Бітрікс: SEO-рутина вбиває час, а автоматизації немає.</p> <p>Штатний модуль iblock дозволяє задати шаблони мета-тегів на рівні типу інфоблоку. Але можливості обмежені. Не можна звернутися до пов'язаних елементів, застосувати умовну логіку, врахувати ціну чи наявність. Кастомний модуль SEO-автоматизації закриває цю прогалину системно. За 5 років роботи ми реалізували понад 50 проєктів автоматизації SEO на Бітрікс.</p><h2>Чому SEO-автоматизація критична для інтернет-магазину?</h2><p>Мета-теги безпосередньо впливають на ранжування. Якщо title та description не унікальні або не містять актуальних даних (ціна, наявність), пошукові системи знижують позиції. За даними <cite>Google Search Central</cite>, це важливий фактор. Ручне редагування при каталозі від 5 000 товарів займає 20–40 годин на тиждень. Це еквівалентно зарплаті співробітника. Автоматизація окупається за 2–3 місяці, економлячи до $5.4k–7.8k на рік.</p><h2>Що робить модуль</h2><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><h2>Як шаблонізатор вирішує проблему продуктивності?</h2><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><h2>Що входить у розробку модуля?</h2> <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> <h2>Порівняння ручного та автоматизованого підходу</h2> <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> <h2>Строки розробки</h2> <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> <h2>Типові помилки при налаштуванні автоматизації</h2> <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_en.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_en.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_en.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>