Добавить на готовый сайт форму заявки, карту или видео можно за 10-15 минут, если понимать две вещи: откуда берётся код вставки и в какое место страницы он кладётся. Ниже разбор по элементам: форма, кнопка с действием, карта, видео, галерея, счётчик Метрики, чат и ссылка на Telegram. По каждому пункту: что для этого нужно, куда идёт код и какая формулировка сработает, если вставку делает за вас ИИ-ассистент.
Три места, куда вставляется код
Почти любая вставка это кусок HTML, который нужно положить в одно из трёх мест страницы. Большинство проблем начинается именно с путаницы между ними.
- Внутрь
<head>. Сюда идёт то, что не видно на странице: код счётчика, подключение шрифтов, метатеги. Элемент отсюда не появится в тексте, он просто работает в фоне. - Внутрь
<body>, ровно в то место, где элемент должен появиться. Так вставляются карта, видео, форма, галерея, кнопка. Поставите выше или ниже нужного абзаца, там элемент и окажется. - Перед закрывающим
</body>. Здесь место скриптов виджетов (чат, обратный звонок, попапы). Внизу они не задерживают отрисовку текста.
Если сайт собран в конструкторе, отдельного файла у вас нет: вместо него блок «HTML» или «Встроенный код» на странице, а содержимое <head> правится в настройках сайта. Если сайт свой, речь про файл index.html (и остальные файлы страниц): открываете его в редакторе кода, вставляете, сохраняете, заливаете на хостинг. Как устроен такой файл, мы разбирали в материале про сайт на HTML.
Перед первой правкой сделайте копию файла. Это спасает чаще, чем кажется: откатиться к рабочей версии за секунду проще, чем искать, какой закрывающий тег потерялся.
Чужой виджет вставить легко, а вот собрать нужный блок самому уже интереснее. На бесплатном вебинаре по вайбкодингу показываем, как это делается с ИИ.
Занять местоФорма заявки, кнопка звонка и ссылка на Telegram
Форму на сайт добавляют двумя путями. Первый: взять готовый сервис форм. У Яндекс Форм базовая версия бесплатная, а в окне публикации формы выдаётся код для вставки в iframe, который кладётся в HTML страницы (инструкция сервиса). Ответы копятся внутри сервиса, ничего программировать не нужно.
Второй путь: своя форма в разметке страницы плюс обработчик, который отправит заявку на почту или в Telegram-бот. Он даёт полный контроль над видом и полями, но требует места, куда форма будет отправлять данные. Разбор всех вариантов с приёмом заявок у нас в отдельной статье про форму на сайте.
Кнопка с действием устроена проще всего: это обычная ссылка <a>, у которой в href стоит не адрес страницы, а протокол действия. tel: открывает набор номера, mailto: почтовую программу, а полный адрес https://t.me/username ведёт в Telegram (в отличие от tel: и mailto:, это не отдельный протокол, и https:// в начале обязателен).
<!-- кнопки-действия: вставляются в body, там где нужны -->
<a class="btn" href="tel:+79990000000">Позвонить</a>
<a class="btn" href="https://t.me/username">Написать в Telegram</a>
<a class="btn" href="mailto:hello@example.ru">Отправить письмо</a>
<!-- ссылка на канал открывается в новой вкладке -->
<a href="https://t.me/username" target="_blank" rel="noopener">Наш канал</a>
Две детали, которые обычно забывают: на телефоне кнопка должна быть крупной (высота от 44 пикселей) и не стоять вплотную к соседней ссылке, а внешним ссылкам с target="_blank" нужен rel="noopener" по соображениям безопасности.
По теме: Как сделать шапку сайта в 2026: код, адаптив и промпты
Карта, видео и галерея: блоки, которые вставляются готовым кодом
- Карта. В Конструкторе карт Яндекса ставите метку, настраиваете масштаб и получаете готовый код в двух форматах: iframe и JavaScript. Для карты проезда с одной меткой достаточно iframe, его просто вставляете в
<body>. Если же подключаете JavaScript API Карт своим кодом, понадобится ключ из Кабинета разработчика (FAQ Яндекса). - Видео. У видеоплощадок код вставки берётся в меню «Поделиться» или «Экспортировать» под роликом, это тот же iframe. Файл видео при этом лежит не у вас, страница не тяжелеет от самого ролика, но появляется сторонний плеер.
- Галерея. Здесь сервис не нужен: это набор тегов
<img>в сетке. Картинки кладёте в папку вродеimages/, размечаете сеткой CSS grid, каждому изображению прописываетеwidth,heightиloading="lazy".
Атрибут loading="lazy" откладывает загрузку картинки или встроенного фрейма до момента, когда посетитель до него дошёл (документация MDN). Для карты и видео внизу страницы это самый дешёвый способ не платить скоростью за красивый блок.
<!-- карта: подставьте свой адрес из Конструктора карт -->
<div class="embed">
<iframe src="https://yandex.ru/map-widget/v1/?um=ВАШ_КОД" loading="lazy" allowfullscreen></iframe>
</div>
/* CSS: обёртка держит пропорцию и не даёт блоку вылезти на телефоне */
.embed { position: relative; width: 100%; aspect-ratio: 16 / 9; }
.embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
Обёртка нужна потому, что сервисы отдают код с жёсткими размерами вроде width="600". На экране шириной 360 пикселей такой блок вылезает за край, и вся страница начинает ездить вбок.
Отдельные вставки имеют смысл, когда складываются в сайт, который работает: заявки приходят, клиент находит адрес, вопросы не теряются. На бесплатном вебинаре по вайбкодингу собираем такой сайт с ИИ по шагам, участникам достаётся гайд в подарок.
Записаться на вебинарСчётчик Метрики и чат: то, что работает в фоне
Счётчик Яндекс Метрики нужен, чтобы видеть, сколько людей на сайте, откуда они приходят и что нажимают. Порядок такой.
- Заведите счётчик в Яндекс Метрике, указав адрес сайта.
- Скопируйте код счётчика целиком, вместе с комментариями и закрывающими тегами.
- Вставьте его в
<head>каждой страницы сайта, чем выше, тем раньше он сработает. - Через несколько часов проверьте в интерфейсе статус: у рабочего счётчика он меняется на «Счётчик установлен» (инструкция Яндекса).
Чат-виджет ставится похоже, только скрипт кладётся перед </body>. У популярного в России сервиса Jivo бесплатный тариф «Начальная» даёт до 2 операторов, чат на сайте, подключение мессенджеров и офлайн-форму, платные тарифы начинаются от 742 ₽ за оператора в месяц при оплате на два года (тарифы Jivo). Альтернатива без стороннего сервиса, свой чат или бот-консультант, разобрана в материале про сайт с чатом.
Здравый предел: два-три фоновых скрипта страница переносит спокойно, пять начинают заметно тормозить открытие на мобильном интернете. Если после вставок сайт стал медленным, посмотрите разбор про вес страницы и скорость загрузки.
Добавляйте по одному элементу за раз и после каждого открывайте сайт на телефоне. Когда вставлено сразу пять блоков, а страница поехала, вы не знаете, какой из них виноват, и разбираете всё заново.
По теме: Как сделать сайт отзывов в 2026: блок, страница и разметка
Как поручить вставку ИИ-ассистенту
ИИ-ассистент (Claude, ChatGPT или инструмент вайбкодинга, работающий прямо с файлами проекта) вставляет такие блоки быстро и почти без ошибок, если задание сформулировано конкретно. Схема одна и та же.
- Покажите файл: приложите
index.htmlцеликом или откройте проект в инструменте, который видит файлы сам. - Скажите, куда именно вставить: «после блока с контактами», «перед закрывающим тегом body», «под первым заголовком».
- Дайте код вставки от сервиса как есть, не переписывая его руками.
- Попросите не трогать остальную разметку и вернуть изменённый фрагмент, а не весь файл заново.
- Проверьте результат на телефоне и в узком окне браузера, до того как заливать на хостинг.
Готовые формулировки, которые можно скопировать и подставить своё:
- «В файле
index.htmlпосле секции с контактами вставь карту. Вот код от Конструктора карт: … . Оберни его так, чтобы карта занимала всю ширину колонки и держала пропорцию на телефоне. Остальную разметку не меняй.» - «Добавь в
<head>файлаindex.htmlэтот код счётчика без единого изменения: … . Поставь его сразу после открывающего тега.» - «Под заголовком первого экрана добавь две кнопки: «Позвонить» со ссылкой
tel:+7…и «Написать в Telegram» со ссылкой наhttps://t.me/username. Стиль одинаковый, на экранах уже 600 пикселей кнопки становятся друг под другом на всю ширину.» - «Собери галерею из шести фотографий из папки
images/: сетка в три колонки, на телефоне в одну, у всех картинок одинаковая пропорция,loading="lazy"и подписи под фото.» - «Найди, из-за чего страница прокручивается вбок на ширине 360 пикселей после вставки видео, и почини, не меняя сам код плеера.»
Последняя формулировка ценна тем, что описывает симптом, а не решение: разбор поломки вёрстки у моделей получается лучше, чем угадывание смысла фразы «сделай красиво».
Ошибки, из-за которых элемент не появляется или ломает страницу
- Код вставлен не туда. Видимый блок в
<head>не отрисуется вообще, а скрипт чата в середине текста задерживает показ всего, что ниже. Проверяйте по правилу трёх мест из начала статьи. - Код скопирован не целиком. Потерянный закрывающий тег
</div>или</iframe>роняет не сам блок, а всю страницу под ним: текст уезжает внутрь чужого контейнера. Копируйте выделением всего поля, а не мышкой по кусочку. - Блок разъехался на телефоне. Почти всегда виноваты жёсткие
widthиheightиз кода сервиса. Лечится обёрткой сwidth: 100%иaspect-ratio, как в примере выше. - Страница стала медленной. Каждый сторонний виджет это отдельная загрузка чужих файлов. Помогают
loading="lazy"для фреймов, атрибутdeferу скриптов и честный вопрос, нужен ли этот виджет вообще. - Элемент есть на одной странице, а нужен на всех. Типичная история со счётчиком: код добавили только на главную, и статистика собирается по четверти сайта.
- Вставка идёт по адресу
http://на сайте сhttps://. Браузер блокирует смешанное содержимое, и на месте карты или видео остаётся пустое место. Адрес в коде вставки должен начинаться сhttps://. - Изменений не видно, хотя файл обновлён. Это кэш: обновите страницу с очисткой кэша (Ctrl+F5 или Cmd+Shift+R) и убедитесь, что правили тот файл, который лежит на хостинге, а не локальную копию.
Частые вопросы
Куда вставлять код, если сайт сделан в конструкторе?
Ищите блок с названием «HTML», «Код» или «Встроенный код» и кладите вставку туда, на нужное место страницы. Для счётчиков и подобных фоновых кодов у конструкторов есть отдельное поле в настройках сайта, обычно в разделе аналитики или «Код в head».
Нужен ли ключ, чтобы поставить карту?
Для карты проезда, собранной в Конструкторе карт и вставленной как iframe, ничего получать не нужно. Ключ из Кабинета разработчика понадобится, когда вы подключаете JavaScript API Карт своим кодом и управляете картой из скрипта.
Можно ли добавить форму, если у сайта нет своего сервера?
Да, для этого и существуют сервисы форм: сама форма живёт у них, на вашей странице стоит только фрейм, а ответы приходят в личный кабинет и на почту. Своя обработка нужна, когда заявки должны попадать в вашу систему сразу и в нужном формате.
Почему после вставки видео сайт стал открываться дольше?
Плеер тянет свои файлы вместе со страницей. Поставьте фрейму loading="lazy", а если ролик стоит на первом экране, замените его картинкой-превью, которая подгружает плеер по клику.
Если хочется не просто вставлять чужие виджеты, а собирать сайты с ИИ под конкретную задачу и брать за это деньги, приходите на воркшоп: показываем весь путь от идеи до опубликованной страницы.
Смотреть воркшоп