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