Внедрение скрипта: простое руководство для любого сайта

Вы хотите добавить интерактивность, но боитесь, что скрипт замедлит страницу? На самом деле всё зависит от того, где и как вы подключаете код. В этой статье разберём основные способы вставки JavaScript, подскажем, какие атрибуты использовать и как проверить, что всё работает быстро.

Где разместить тег <script>

Самый простой вариант – положить тег в конец <body>. Браузер отрисует контент, а потом подгрузит скрипт, поэтому пользователь сразу видит страницу. Если скрипт нужен до рендера (например, для изменения разметки), его ставят в <head> с атрибутом defer или async.

Что выбрать: defer или async

defer откладывает выполнение скрипта до полного построения DOM, но сохраняет порядок загрузки, если их несколько. Это удобно для библиотек, которые зависят друг от друга. async загружает и запускает скрипт сразу, как только он готов, без ожидания других. Он хорош для независимых виджетов, но порядок может быть произвольным.

Пример с defer:

<head>
  <script src="/js/main.js" defer></script>
  <script src="/js/vendor.js" defer></script>
</head>

Пример с async:

<head>
  <script src="https://example.com/analytics.js" async></script>
</head>

Если вы не уверены, начните с defer. Он почти не вредит производительности и сохраняет порядок, что упрощает отладку.

Не забывайте про кеширование. Указывайте правильные заголовки на сервере, чтобы браузер не скачивал один и тот же файл каждый раз. Маленькие файлы объединяйте в один пакет, а большие – разбивайте на модули, которые подгружаются только при необходимости.

Отладка скриптов проще, если включить source maps. Они позволяют видеть оригинальный код в инструментах разработчика, даже если вы используете минификаторы. Это экономит часы поиска ошибок.

Наконец, проверяйте скорость с помощью Google PageSpeed Insights или Lighthouse. Если показатель «Время до интерактивности» высокий, попробуйте перенести тяжелый скрипт в конец body или загрузить его асинхронно.

Итого: разместите скрипты в конце body или используйте defer в head, применяйте async только для независимых файлов, кешируйте и включайте source maps. Следуя этим простым правилам, вы быстро внедрите любой скрипт без штрафов для скорости сайта.

От Данила Якушев, 1 авг, 2025 / Веб-разработка

Простой способ добавить скрипт на сайт: руководство для новичков и профи

Вы узнаете, как шаг за шагом добавить скрипт на сайт: инлайн, через файлы, с помощью популярных CMS, а также разберётесь с ошибками и безопасностью.