Сначала инвентаризация

Не откладывайте все сторонние скрипты одной командой

Самый безопасный путь — передать разработчику список поставщиков из PSI и назначение каждой интеграции. Согласие, оплата, CAPTCHA и аналитика требуют разных сценариев.

Сторонние интеграции классифицируются, получают безопасный способ запуска и проходят функциональную проверку
Резервная копия → назначение сервисов → способ загрузки → функциональные тесты.

Сообщение разработчику

Проверьте сторонних поставщиков из PSI на указанной странице.
Для каждой интеграции укажите назначение и критические события.
Уменьшите влияние на начальную загрузку, но не ломайте
согласие на cookie, оплату, CAPTCHA, авторизацию, формы и цели.
Сделайте резервную копию и покажите PSI/DevTools до и после.
Отдельно подтвердите работу аналитики, рекламы и чата.

Порядок оптимизации

  1. Откройте PSI → Performance → «Сторонний код» и выпишите поставщиков.
  2. Для каждого определите владельца, назначение, страницы и обязательный момент запуска.
  3. Удалите только подтверждённые дубли и неиспользуемые интеграции.
  4. Независимые скрипты подключите через async или defer, учитывая зависимости.
  5. Некритичные чаты, карты и виджеты запускайте во время простоя или после действия.
  6. Маркетинговые сервисы согласуйте с баннером cookie и требованиями аналитики.
  7. Повторите PSI, запишите Network/Performance и проверьте пользовательские сценарии.

Техническая памятка

Независимый скрипт

<script async src="https://vendor.example/widget.js"></script>

async выполняется сразу после загрузки файла и не сохраняет порядок.

Скрипт после разбора HTML

<script defer src="https://vendor.example/app.js"></script>

defer сохраняет порядок и выполняется после разбора документа.

Не используйте фиксированную задержку вслепую

Запуск «через пять секунд» может потерять короткие посещения и события. Предпочтительнее согласие, простой браузера, приближение блока или конкретное взаимодействие.

Проверка и откат

  • Сделайте тестовый заказ, отправьте форму и откройте чат.
  • Проверьте события в режиме отладки аналитики и рекламных систем.
  • Убедитесь, что в консоли нет ошибок зависимостей.
  • При потере функций верните исходный код и меняйте одну интеграцию за раз.
  • Зафиксируйте результат через ручную проверку стороннего кода.

Минификация собственного JavaScript, шрифты, изображения и исправление ошибок кода считаются отдельно.