Узнайте, как сторонний JavaScript может повлиять на производительность и что можно сделать, чтобы он не замедлял работу ваших сайтов.
Сторонний JavaScript обычно относится к скриптам, встроенным в ваш веб-сайт, которые:
- Не авторство
- Обслуживается сторонними серверами
Сайты используют эти скрипты для различных целей, в том числе:
- Кнопки социальных сетей
- Встроенный видеоплеер
- Чат-сервисы
- Рекламные фреймы
- Аналитика и скрипты метрик
- Скрипты A/B-тестирования для экспериментов
- Вспомогательные библиотеки (например, форматирование даты, анимация и функциональные библиотеки)
Сторонние скрипты могут обеспечить мощный функционал, но это не вся история. Они также влияют на конфиденциальность, безопасность и поведение страницы—и они могут быть особенно проблематичными для производительности.
Производительность
Любое значительное количество JavaScript может замедлить производительность . Но поскольку сторонний JavaScript обычно находится вне вашего контроля, он может принести дополнительные проблемы.
Сеть
Настройка соединений занимает время, а отправка слишком большого количества запросов на несколько серверов приводит к замедлению. Это время еще больше для защищенных соединений, которые могут включать в себя поиск DNS, перенаправления и несколько циклов на конечный сервер, который обрабатывает запрос пользователя.
Сторонние скрипты часто увеличивают нагрузку на сеть, например:
- Выполнение дополнительных сетевых запросов
- Загрузка неоптимизированных изображений и видео
- Недостаточное кэширование HTTP , что приводит к частому извлечению сетевых ресурсов
- Недостаточное сжатие ресурсов сервера
- Несколько экземпляров фреймворков и библиотек, вставленных различными сторонними встраиваемыми приложениями
Рендеринг
То, как загружается сторонний JavaScript, имеет большое значение. Если это делается синхронно в критическом пути рендеринга, это задерживает парсинг остальной части документа.
Если у третьей стороны возникли проблемы с сервером и она не может предоставить ресурс, рендеринг блокируется до истечения времени ожидания запроса, которое может составлять от 10 до 80 секунд. Вы можете протестировать и смоделировать эту проблему с помощью тестов WebPageTest Single-Point-of-Failure .
Что с этим делать?
Использование стороннего JavaScript часто неизбежно, но есть вещи, которые вы можете сделать, чтобы свести к минимуму неблагоприятные последствия:
- При выборе сторонних ресурсов отдавайте предпочтение тем, которые отправляют наименьший объем кода, но при этом предоставляют вам необходимую функциональность.
- Используйте бюджеты производительности для стороннего контента, чтобы контролировать его стоимость.
- Не используйте один и тот же функционал от двух разных поставщиков. Вам, вероятно, не нужны два менеджера тегов или две аналитические платформы.
- Регулярно проверяйте и удаляйте избыточные сторонние скрипты.
Чтобы узнать, как проводить аудит стороннего контента и эффективно загружать его для повышения производительности и удобства пользователей, ознакомьтесь с другими публикациями в разделе «Оптимизация сторонних ресурсов» .