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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка модуля SEO-автоматизации для 1С-Битрикс
Средний
~1-2 недели
Часто задаваемые вопросы

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

Этапы разработки

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

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

Мы часто видим, как редактор сидит и вручную заполняет и <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 месяца, экономя до 600 000 ₽ в год.</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>от 600 000 ₽</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="frontend-post-text 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"><h2>Разработка и настройка модулей 1С-Битрикс</h2> <p>Главная ловушка Битрикса — <code>init.php</code>. Сунул туда обработчик <code>OnBeforeIBlockElementUpdate</code>, потом ещё один — через год файл на 2000 строк, и при каждом хите весь этот ком выполняется. Мы переносим бизнес-логику в полноценные модули с D7 ORM, собственными таблицами и административным интерфейсом. Модуль можно отключить, перенести на другой проект, покрыть тестами — с <code>init.php</code> ничего из этого не получится. Опыт команды — 10+ лет в Битрикс, сертифицированные специалисты, гарантия на код 6 месяцев. Закажите консультацию — расскажем, как перевести legacy-код в модульную архитектуру.</p> <h3>Почему init.php — худшее место для бизнес-логики?</h3> <p><code>Init.php</code> не поддерживает автозагрузку классов, не имеет изолированного пространства имён, не поддаётся модульному тестированию и не отключается без правки самого файла. Каждый обработчик, написанный там, срабатывает на каждом запросе, даже если он не нужен. В модуле вы регистрируете обработчика через <code>EventManager</code>, и он выполняется только при наступлении события. Разница в производительности — до 3 раз при 10+ обработчиках.</p> <h3>Стандартные модули: типовые проблемы и решения</h3> <p><strong>Информационные блоки.</strong> Архитектура ИБ — первое, что мы ревьюим на любом проекте. Классическая ошибка: один инфоблок каталога с 80 свойствами, из которых 30 — множественные. Таблица <code>b_iblock_element_property</code> раздувается до миллионов строк, <code>CIBlockElement::GetList</code> на фильтрации по трём свойствам уходит в полное сканирование. Переносим справочники в Highload-блоки, убираем множественные свойства где можно, проектируем структуру с прицелом на то, что каталог вырастет в 5 раз.</p> <p><strong>Интернет-магазин (sale).</strong> Бизнес-правила корзины — отдельная история. Настраиваем приоритеты скидок, чтобы две акции не дали 60% вместо 30%, подключаем платёжные обработчики, прописываем кастомную валидацию через <code>OnSaleOrderBeforeSaved</code>.</p> <p><strong>Поиск.</strong> Встроенный модуль search с морфологией работает до 10–15 тысяч элементов. Дальше — <a href="https://en.wikipedia.org/wiki/Elasticsearch">Elasticsearch</a>. Настраиваем через API модуля поиска Битрикс, индексируем через <code>CSearchFullText</code> или кастомные индексаторы.</p> <p>Highload-блоки для справочников, логов, пользовательских данных — вместо раздутых ИБ. Прямые запросы через <code>Bitrix\Highloadblock\HighloadBlockTable</code>, собственные таблицы вместо EAV-структуры стандартных инфоблоков. Миллион записей — без деградации.</p> <p>Почтовые события. Настройка — не только шаблоны в <code>b_event_message</code>. Главное — SPF, DKIM, DMARC на DNS, иначе транзакционные письма летят в спам. Проверяем доставляемость, настраиваем bounce-обработку.</p> <h3>Проектирование инфоблоков для производительности</h3> <p>Используем Highload-блоки для справочных данных (цвета, размеры, производители), которые не участвуют в сложных выборках. Для торговых предложений — отдельный инфоблок с привязкой через <code>IBLOCK_ELEMENT_PROPERTY</code>. Включаем <code>INDEX_PROPERTY</code> для часто фильтруемых свойств. Кэширование тегированное: при изменении элемента сбрасывается только связанный кеш. Highload-блоки обрабатывают до 10 раз быстрее, чем инфоблоки с множественными свойствами, на объёмах от 100 000 записей.</p> <h3>Разработка кастомных модулей</h3> <p>Каждый модуль — по структуре <code>/local/modules/vendor.modulename/</code>:</p> <ul> <li> <code>install/index.php</code> — класс установки, создание таблиц через <code>$DB->RunSQLBatch()</code> </li> <li> <code>lib/</code> — классы D7 ORM, наследники <code>Bitrix\Main\ORM\Data\DataManager</code> </li> <li> <code>admin/</code> — административные страницы через <code>CAdminList</code>, <code>CAdminForm</code> </li> <li> <code>include.php</code> — автозагрузка, регистрация обработчиков через <code>EventManager::getInstance()->registerEventHandler()</code> </li> <li>REST API endpoints через <code>\Bitrix\Rest\RestManager</code> </li> </ul> <p>Модуль регистрируется в системе, появляется в списке «Установленные решения», имеет свои настройки в <code>/bitrix/admin/settings.php?mid=vendor.modulename</code>. Его можно включать, отключать, обновлять через <code>UpdateSystem</code> или свой механизм миграций.</p> <p>Примеры реализованных задач:</p> <ul> <li>Управление акциями — визуальный конструктор условий через <code>CAdminCalendar</code>, таймеры через агенты (<code>CAgent::AddAgent</code>), аналитика эффективности в связке с модулем sale</li> <li>Калькулятор стоимости — React-виджет на фронте, REST API в модуле, формулы хранятся в Highload-блоке</li> <li>Система бронирования — real-time календарь, блокировка через <code>$DB->StartTransaction()</code> / <code>$DB->Commit()</code> при одновременных запросах, синхронизация с channel manager через webhook</li> </ul> <h3>Компоненты и композитный кэш</h3> <p>Кастомизация компонентов — через <code>result_modifier.php</code> и <code>component_epilog.php</code>, не через правку <code>template.php</code> стандартного шаблона. Так ядро обновляется безболезненно.</p> <p>Композитный кэш (технология «Композитный сайт») — сервер отдаёт готовый HTML, минуя PHP-роутинг. Динамические зоны (корзина, авторизация) подгружаются через <code>CBitrixComponent::setFrameMode(true)</code> и AJAX. TTFB падает до 30–50 мс. Но есть нюансы: не все компоненты совместимы, <code>$APPLICATION->ShowPanel()</code> ломает композит, нужна аккуратная разметка <code><div id="bx-composite-..."></code>.</p> <h3>Маркетплейс: аудит перед установкой</h3> <p>Перед установкой модуля с маркетплейса — обязательный аудит. Проверяем: SQL-запросы без подготовленных выражений (привет, SQL-инъекции), прямое обращение к <code>$_REQUEST</code> без фильтрации, использование устаревшего API старого ядра вместо D7, конфликты с модулем композитного кэширования. Модуль без обновлений больше года и с парой десятков установок — скорее всего, проблема на ближайшем обновлении PHP. Типичный случай: модуль вызывает <code>CIBlockElement::GetList</code> с несброшенным кешем — сайт падает при 5000 элементов.</p> <h3>Миграция на D7</h3> <p>При обновлении PHP или переходе на новую редакцию — рефакторинг устаревших вызовов:</p> <ul> <li> <code>CIBlockElement::GetList()</code> → <code>Bitrix\Iblock\Elements\ElementTable::getList()</code> </li> <li> <code>CSaleOrder::GetList()</code> → <code>Bitrix\Sale\Order::getList()</code> </li> <li> <code>CModule::IncludeModule()</code> → <code>Bitrix\Main\Loader::includeModule()</code> Тестирование на staging, откат через git при проблемах.</li> </ul> <p>Согласно <a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2119">официальной документации 1С-Битрикс</a>, D7 ORM является рекомендуемым средством для работы с данными, обеспечивая безопасность типов и автогенерацию запросов.</p> <h2>Сравнение подходов: Init.php vs Модуль</h2> <table> <thead> <tr> <th>Критерий</th> <th>Init.php</th> <th>Модуль с D7 ORM</th> </tr> </thead> <tbody> <tr> <td>Производительность</td> <td>Выполняется на каждом хите</td> <td>Выполняется только при событии</td> </tr> <tr> <td>Тестируемость</td> <td>Нет автозагрузки, тесты невозможны</td> <td>Полная поддержка PHPUnit</td> </tr> <tr> <td>Поддерживаемость</td> <td>Кодовая база растёт бесконтрольно</td> <td>Изолированная структура, версионирование</td> </tr> <tr> <td>Миграции</td> <td>Нет</td> <td>Собственные таблицы, управление через install</td> </tr> <tr> <td>Кэширование</td> <td>Не поддерживает автоинвалидацию</td> <td>Тегированное кэширование, сброс по событию</td> </tr> </tbody> </table> <h2>Стоимость и состав разработки модулей</h2> <h3>Что входит в разработку модуля?</h3> <ul> <li>Техническое задание и архитектурная схема</li> <li>Код с соблюдением PSR-4 и код-стайла Битрикс</li> <li>Unit-тесты (PHPUnit) на бизнес-логику</li> <li>Интеграционные тесты на события и REST API</li> <li>Документация по установке, настройке и API</li> <li>Передача доступов к репозиторию и документации</li> <li>Обучение администраторов работе с модулем</li> <li>Гарантийная поддержка 6 месяцев</li> </ul> <p>Ориентировочные сроки и сложность:</p> <table> <thead> <tr> <th>Сложность</th> <th>Примеры</th> <th>Сроки</th> </tr> </thead> <tbody> <tr> <td>Простой</td> <td>Виджет обратного звонка, баннерная система, простой калькулятор</td> <td>3–5 дней</td> </tr> <tr> <td>Средний</td> <td>Система бронирования, конфигуратор товаров, модуль отзывов с модерацией</td> <td>1–2 недели</td> </tr> <tr> <td>Сложный</td> <td>Мультирегиональность, кастомная программа лояльности, интеграция с ERP</td> <td>2–4 недели</td> </tr> <tr> <td>Enterprise</td> <td>Маркетплейс-платформа, сложные бизнес-процессы с множеством ролей</td> <td>1–3 месяца</td> </tr> </tbody> </table> <p>Стоимость рассчитывается индивидуально — свяжитесь с нами для оценки вашего проекта.</p> <h2>Тестирование модулей</h2> <p>Unit-тесты через PHPUnit покрывают бизнес-логику: расчёт скидок, валидацию, формирование документов. Моки для <code>Bitrix\Main\Application::getConnection()</code> позволяют тестам не зависеть от БД. Интеграционные тесты проверяют обработчики событий на реальной базе — <code>OnAfterIBlockElementAdd</code>, <code>OnSaleOrderSaved</code> и другие. REST API endpoints тестируем через curl или PHPUnit HTTP-клиент. Критично для модулей, работающих с <code>b_sale_order</code>, <code>b_catalog_price</code> — где ошибка стоит денег.</p> <p>Совместимость проверяется на PHP 7.4, 8.0, 8.1, 8.2 и редакциях: Стандарт, Малый бизнес, Бизнес. Проверяем конфликты с популярными модулями маркетплейса — они любят перехватывать те же события. Нагрузочное тестирование: замеры на 10K, 100K, 1M записей, профилирование через Xdebug на предмет утечек памяти и N+1 запросов.</p> <h2>Примеры из практики</h2> <p>Модуль акций для сети электроники. Штатные скидки модуля sale не покрывали сценарии «2+1», подарок при покупке от суммы, комбинированные условия. Собрали визуальный конструктор: маркетолог создаёт правила через drag-and-drop, без тикетов в разработку. Календарь акций, автодеактивация через агенты, аналитика в привязке к <code>b_sale_order</code> — конверсия, средний чек, количество применений. Время запуска новой акции упало с двух дней до получаса.</p> <p>Калькулятор для строителей. Параметры (площадь, материалы, этажность) → формула → предварительная смета → заявка в CRM через <code>CRest::call('crm.lead.add')</code>. Региональные коэффициенты и сезонные наценки — из Highload-блока, цены материалов — из обмена с 1С. Количество целевых заявок выросло на треть: клиенты видят разбивку по статьям до звонка менеджеру.</p> <p>Бронирование для сети отелей. Real-time доступность через AJAX-запросы к кастомной таблице <code>vendor_booking_slots</code>, расчёт тарифов по сезону, синхронизация с Booking.com через channel manager API. Блокировка номера при одновременном бронировании — через <code>SELECT ... FOR UPDATE</code> в транзакции. Таймзоны обрабатываются через <code>\DateTimeZone</code> — гость из Владивостока и менеджер из Москвы видят одну картину.</p> <p>Оценим проект за 1 день. Пишите — расскажем, что входит в разработку под ключ. Свяжитесь с нами для консультации по вашему проекту. Закажите разработку модуля под ключ — получите готовое решение с документацией и поддержкой.</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/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/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/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/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/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/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/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/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/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/"><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/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/#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/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>