Виджеты JivoSite, Calltouch, Битрикс24: как они влияют на скорость
Сколько мегабайт и миллисекунд добавляют чат, обратный звонок, аналитика и пиксели. Как ставить виджеты, чтобы LCP не уезжал за 4 секунды.
Содержание
- Что измеряем
- JivoSite
- Битрикс24 виджет (онлайн-чат и формы)
- Calltouch и обратный звонок
- Яндекс Метрика
- Google Analytics, gtag, Facebook Pixel, VK Pixel
- Виджеты соцсетей: ВКонтакте, Telegram, Одноклассники
- Виджеты отзывов: Яндекс, Google Reviews, Yell
- Кастомные карты: Яндекс Карты, 2ГИС, OSM
- Какие виджеты убирать без сожалений
- Чек-лист, чтобы виджеты не убили скорость
- Сценарии, которые я часто применяю
- Замер до и после
- Когда стоит делегировать
- Частые вопросы
Виджеты это самая частая причина, по которой только что ускоренный сайт уезжает обратно в красную зону. Первичный скрипт чата весит 70-120 КБ, а при открытии тянет ещё 200-400. Счётчики и пиксели добавляют своё, и вместе они съедают всю проделанную работу.
История у клиента: лендинг ускоряли неделю, выжимали LCP до 1.8 секунды, поставили рассыльный пиксель и виджет JivoSite, на следующий день PageSpeed показал 2.9, конверсия упала на 12 процентов. Виджеты это самая частая причина, по которой только что оптимизированный сайт быстро уезжает обратно в красную зону.
Разберу, сколько каждый популярный виджет реально добавляет к загрузке, как ставить их с минимальным ущербом и от каких можно вообще отказаться.

Что измеряем
У каждого виджета есть несколько характеристик, которые определяют его влияние:
- Вес скрипта в КБ. JS-файл, который грузится сразу или с задержкой.
- Запросы к сторонним доменам. Каждый домен это DNS + TLS + RTT.
- Время CPU на инициализацию. Сколько миллисекунд браузер тратит на парсинг и выполнение скрипта.
- Количество перерисовок DOM. Виджет вставляет в DOM свои элементы, и каждое такое действие даёт layout и paint.
- Влияние на Long Tasks. Если инициализация занимает больше 50 миллисекунд непрерывной работы, это уже Long Task, который влияет на INP.
Замер виджета удобно делать через DevTools > Performance:
- Открываете чистую страницу (incognito, без расширений).
- Включаете запись в Performance.
- Перезагружаете страницу.
- Останавливаете запись через 5 секунд.
- В фильтре по доменам ищете
jivo.ru,bitrix24.ru,calltouch.ru, и смотрите общий вес и CPU.
Я гонял такие тесты на десятках сайтов, и ниже привожу типичные цифры. Они отличаются на разных устройствах и сетях, но порядок одинаковый.
JivoSite
Один из самых популярных чатов в России. По стандартному подключению через <script> в <head>:
- Размер первичного скрипта: 70-120 КБ.
- Догрузка стилей и виджет-кода: ещё 200-400 КБ при первом открытии чата.
- Запросы к доменам:
code.jivosite.com,node.jivosite.com,cdn.jivosite.com. Иногда дополнительные домены аналитики. - Время CPU на инициализацию: 80-200 мс на среднем мобильном.
- Влияние на LCP: 100-300 мс на первой загрузке, в основном за счёт сетевых запросов.
Что делает: чат с менеджером в правом нижнем углу, бот-приветствие, перехват уходящих посетителей.
Что я делаю на практике:
Откладываю загрузку JivoSite до первого взаимодействия пользователя или до прокрутки на 50 процентов высоты страницы. Так первая загрузка остаётся быстрой, а чат всё равно появляется до того, как человек реально захочет нажать кнопку.
<script>
(function() {
let loaded = false;
function loadJivo() {
if (loaded) return;
loaded = true;
const s = document.createElement('script');
s.src = '//code.jivosite.com/widget/XXXXXXXX';
s.async = true;
document.head.appendChild(s);
}
// Подгружаем при первом значимом действии
['mousemove', 'scroll', 'touchstart', 'click'].forEach(ev => {
addEventListener(ev, loadJivo, { once: true, passive: true });
});
// Запасной таймер: если пользователь сидит без движения, через 7 секунд всё равно подгружаем
setTimeout(loadJivo, 7000);
})();
</script>
Эффект: LCP не страдает совсем, INP при первом клике остаётся в зелёной зоне. Чат появляется через секунду после взаимодействия, но человек этого не замечает.
Минус: до первого взаимодействия чат не виден. Если у вас бизнес-модель строится на том, что бот должен поприветствовать каждого вошедшего, такой ленивый запуск неуместен. Но в большинстве случаев это нормально.
Битрикс24 виджет (онлайн-чат и формы)
Битрикс24 даёт виджет, который объединяет чат, форму обратной связи, обратный звонок и онлайн-каталог. Удобно с точки зрения функционала, тяжело с точки зрения скорости.
- Размер первичного скрипта: 80-150 КБ.
- Догрузка модулей при открытии: 500-900 КБ.
- Время CPU: 150-300 мс на инициализацию.
- Влияние на LCP: 150-400 мс при стандартном подключении.
Виджет Битрикс24 написан так, что он сразу в DOM добавляет несколько элементов и слушает события. Это даёт небольшие, но ощутимые задержки на любых действиях пользователя.
Что я делаю:
Если у клиента активный CRM Битрикс24 и он реально использует данные виджета, оставляю с ленивой загрузкой по тому же принципу, что JivoSite. Подгрузка по первому взаимодействию. Размер всё равно остаётся, но влияние на LCP уходит.
Если виджет используется только для обратного звонка и формы, заменяю его на простую HTML-форму, которая отправляет в Битрикс24 через API. Так нет лишних 500 КБ JS и нет тормозов вообще, а заявки приходят туда же.
Calltouch и обратный звонок
Calltouch это коллтрекинг, который показывает, с какой кампании пришёл звонок, и пишет разговор. Виджет включает:
- Динамический подмен номера на странице.
- Кнопку обратного звонка.
- Запись звонка через WebRTC при использовании.
- Размер первичного скрипта: 60-120 КБ.
- Запросы:
calltouch.ru, иногда дополнительные. - Время CPU: 50-150 мс.
- Влияние на LCP: 50-200 мс.
Coolltouch обычно ведёт себя приличнее JivoSite или Битрикс24 в плане скорости, но добавляет свои тормоза, особенно при подмене номера: скрипт обходит DOM, ищет паттерны телефонов, заменяет их.
Что я делаю:
Если у клиента есть Calltouch для коллтрекинга, оставляю как есть, но проверяю, что подключение через async. На быстрых сайтах разница 50-100 мс на LCP заметна, но не катастрофа. Альтернативу подмены номера у Calltouch заменить нечем, поэтому компромисс приемлемый.
Если используется только кнопка обратного звонка без коллтрекинга, заменяю на простую кнопку с открытием формы заявки. Без 100 КБ внешнего скрипта.
Яндекс Метрика
Самый универсальный счётчик в России. Без него мало кто работает.
- Размер скрипта: 50-90 КБ.
- Время CPU: 30-100 мс.
- Влияние на LCP: обычно 50-150 мс на первой загрузке.
Метрика подключается стандартно через сниппет, который делает defer и почти не блокирует загрузку. Webvisor тяжелее, чем чистая Метрика без него, на 20-30 процентов.
Что я делаю:
Метрику оставляю, но включаю отложенную инициализацию для тяжёлых функций (Webvisor, карта кликов). Стандартный сниппет от Яндекса в 2026 году уже корректно обрабатывает эти настройки.
Что точно убираю: дублированный счётчик mc.yandex.ru/metrika/tag.js если он подключён вручную в нескольких местах. Бывает, что в шаблоне Битрикса один счётчик, а в виджете Битрикс24 ещё один, и итого Метрика грузится дважды.
Google Analytics, gtag, Facebook Pixel, VK Pixel
Эти пиксели добавляют по 30-80 КБ каждый и делают запросы к сторонним доменам. По одному пикселю это копейки, по три-четыре уже заметно.
Google Analytics в России в 2026 году работает с переменным успехом: иногда блокировка, иногда нет. Многие проекты от него отказались в пользу Метрики.
Facebook Pixel в РФ заблокирован, ставить смысла нет, кроме случаев, когда у вас аудитория за рубежом.
VK Pixel живой и работает, нагрузка средняя.
Что я делаю:
Пиксели подключаю через Google Tag Manager или Yandex Tag Manager, потому что один контейнер легче, чем 5 отдельных скриптов. Tag Manager сам грузит пиксели лениво и в правильном порядке.
Лишние пиксели (мёртвые UTM-кампании, неактивные платформы рекламы, забытые тесты) выпиливаю. На некоторых сайтах вижу 7-10 пикселей, из которых реально нужны 1-2.

Виджеты соцсетей: ВКонтакте, Telegram, Одноклассники
Кнопки Поделиться, виджеты сообществ, ленты постов. Эти штуки часто стоят в подвале или в боковой панели и тянут массу JS.
- Виджет ВК с лентой группы: 100-200 КБ JS, плюс 20-30 запросов к серверам ВК.
- Кнопки
Поделитьсяот стандартных сервисов: 30-80 КБ в зависимости от количества кнопок. - Виджет канала Telegram: 50-100 КБ.
Что я делаю:
Кнопки Поделиться заменяю на простые ссылки share/twitter.com/intent/..., vk.com/share.php?url=.... Они работают одинаково, но без подключения чужого JS.
Виджеты лент сообществ либо убираю, либо подгружаю лениво при прокрутке (через IntersectionObserver). Чаще всего владелец сайта смотрит на эти ленты раз в год и не страдает от их отсутствия.
Виджеты отзывов: Яндекс, Google Reviews, Yell
Виджет отзывов Яндекса добавляет 80-150 КБ. Виджет от агрегаторов (Yell, 2GIS) сравним.
Хорошая новость: эти виджеты обычно стоят в нижней части страницы, и ленивая подгрузка через IntersectionObserver решает проблему практически полностью. Подгружается, когда пользователь докрутил до раздела с отзывами.
Если виджет в первом экране, перенесите его ниже или вытащите данные через API и отрисуйте свой блок: тогда нет внешних скриптов, и кеш CDN работает.
Кастомные карты: Яндекс Карты, 2ГИС, OSM
Карта это серьёзная нагрузка. Минимум 200-400 КБ JS плюс данные тайлов на лету.
- Яндекс Карты API: 250-400 КБ JS, плюс тайлы по 30-50 КБ каждый.
- 2GIS API: похожий объём.
- Leaflet с тайлами OSM: 40 КБ JS Leaflet плюс тайлы.
Что я делаю:
Карты обязательно с ленивой подгрузкой через IntersectionObserver, не раньше, чем пользователь докрутил до раздела с картой.
Если на странице нужна только статичная картинка с локацией офиса, заменяю интерактивную карту на скриншот через Yandex Static Maps или генерирую один раз при сборке. Размер 50-100 КБ на картинку, никакой динамики, нагрузка нулевая.
Какие виджеты убирать без сожалений
Список из реальных аудитов:
addthis.com,sharethis.com,addtoany. Старые сервисы кнопок поделиться, тянут много кода и устарели. Замена на статические ссылки.- Старые счётчики LiveInternet, Rambler Top100. Если они стоят
на всякий случай, удаляйте, ими никто не пользуется. - Hotjar и аналоги в РФ. Часто ставят в дополнение к Метрике с её Webvisor. Дублирование, можно отказаться.
- Виджеты погоды и курсов валют. Если они не несут бизнес-смысла, убираем.
- Виджет
Калькулятор стоимостиот сторонних сервисов. Заменить своим CSS-калькулятором без JS можно почти всегда.
Чек-лист, чтобы виджеты не убили скорость
- Все сторонние скрипты подключены с
asyncилиdefer. - Чат и виджеты обратной связи грузятся лениво (по событию или по таймеру).
- Карта и тяжёлые виджеты грузятся через
IntersectionObserver. - Под каждый виджет в DOM зарезервировано место, чтобы CLS не прыгал.
- Подключения к сторонним доменам собраны в Tag Manager, а не разбросаны по шаблону.
- Дубликаты счётчиков и пикселей удалены.
- На странице не больше 4-5 сторонних доменов в waterfall.
- В PageSpeed отчёте раздел
Reduce the impact of third-party codeне подсвечен красным.
Сценарии, которые я часто применяю
Лендинг с одним продуктом
Минимум: Метрика + JivoSite (отложенно) + кнопка обратного звонка через свою форму. Никаких пикселей, кроме одного целевого, никаких лишних виджетов. LCP под 2 секунды легко.
Корпоративный сайт услуг
Метрика, форма заявки своя, JivoSite или Битрикс24 чат отложенно. Карта офиса как статичная картинка. Виджет отзывов Яндекса лениво. На главной ничего не блокирует загрузку.
Интернет-магазин
Метрика, Tag Manager, пиксель целевой рекламной системы (ВК, Yandex Direct), коллтрекинг (Calltouch при необходимости), чат отложенно. Карта в разделе контактов лениво. Карточка товара без лишних виджетов, только то, что прямо помогает покупке.
Информационный сайт / блог
Метрика, кнопки Поделиться через статические ссылки, виджет канала Telegram внизу страницы лениво. Карты не нужны.

Замер до и после
Маленький эксперимент, который я делаю с каждым клиентом перед массовой переработкой:
- Замер PageSpeed до изменений: записываете LCP, INP, CLS, TBT.
- Включаете в DevTools
Network > Throttling > Slow 4GиPerformance > CPU > 4x slowdown. - Замечаете, как ведёт себя страница: где задержки, где Long Tasks.
- Переносите все некритичные виджеты на ленивую загрузку.
- Удаляете дубликаты и неактивные пиксели.
- Замер PageSpeed после изменений.
На моих проектах типичный результат: LCP падает на 200-600 мс, INP с 350-450 мс уезжает к 150-200, TBT падает в 2-3 раза. Конверсия не страдает, потому что чат, формы, кнопки сохраняются, просто грузятся умнее.
Когда стоит делегировать
Аудит виджетов и переключение их на ленивую загрузку на типичном сайте занимает 4-8 часов. На большом коммерческом проекте с десятком виджетов и сложным Tag Manager до 16 часов с тестированием конверсий. Это входит в часовую ставку или в любой из тарифов на /#pricing. Если у вас плохой PageSpeed и есть подозрение, что виноваты виджеты, опишите ситуацию через /#contact.
Связанные материалы по скорости в /blog/category/speed/, там есть отдельные статьи про LCP, INP, CLS, шрифты и lazy load картинок.
Частые вопросы
Сколько весят виджеты на сайте
Первичный скрипт чата 70-120 КБ, догрузка при открытии ещё 200-400. Виджет карты доходит до мегабайта. Три-четыре виджета на странице легко перевешивают всё остальное содержимое.
Как измерить вклад конкретного виджета
Записать загрузку страницы в инструментах разработчика с виджетом и без. Разница по времени до отрисовки и по объёму скачанного и есть цена этого виджета.
Как оставить виджет и не потерять скорость
Грузить его по прокрутке, по времени или по клику на статичную кнопку. Посетителю разницы почти нет, а метрики страницы остаются на месте.
Какие виджеты убирать в первую очередь
Те, которыми никто не пользуется: ленты соцсетей, карты на страницах без адреса, счётчики систем, в которые никто не заходит. Проверьте статистику перед тем, как их защищать.