Куда Тильда пускает код: четыре места и когда какое

«Как вставить код на Тильду» - запрос, за которым обычно прячется не одна проблема, а три. Человек не знает, куда именно класть код; кладёт не туда; а потом смотрит на страницу и не понимает, почему ничего не изменилось. Мест для кода в Тильде четыре, и они делают разные вещи.

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

Всё описанное касается обычных сайтов на Тильде, без экспорта на свой хостинг. Формулировки пунктов в панели иногда меняются, поэтому ориентируйтесь на смысл, а не на точный текст кнопки.

Четыре места: короткая карта

Тильда принимает произвольный код в четырёх точках. Отличаются они двумя вещами: областью действия и моментом выполнения.

  1. Настройки сайта, поле для кода внутри head. Работает на всех страницах, выполняется до того, как браузер отрисует контент.
  2. Настройки сайта, поле для кода перед закрывающим тегом body. Тоже на всех страницах, но выполняется уже после разбора разметки.
  3. Настройки конкретной страницы, там такие же поля. Работает только на этой странице.
  4. HTML внутри самой страницы: блок T123 из категории «Другое» или элемент HTML внутри Zero Block. Код живёт в конкретном месте макета.

Правило выбора одно: чем уже область действия, тем лучше. Если скрипт нужен на одном лендинге, ему нечего делать в настройках всего сайта.

Настройки сайта: head и перед закрывающим body

Путь: список сайтов, шестерёнка нужного сайта, раздел «Ещё». Там два поля: код внутрь head и код перед закрывающим тегом body. Оба подставляются в каждую страницу сайта.

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

Перед закрывающим body идёт всё остальное: чаты, поп-апы, пиксели рекламных систем, сторонние виджеты. Скрипт видеовиджета или онлайн-консультанта ставится именно сюда: он всё равно рисует свой интерфейс после загрузки страницы, и тормозить ради него разбор HTML незачем. Подробнее про установку на Тильду есть в отдельной инструкции.

Учтите, что код из этих полей попадёт и туда, где вы его не ждали: на страницы благодарности, на 404, на служебные страницы. Для счётчика это нормально, для скрипта, который что-то делает с формой, часто нет.

Настройки страницы: код только здесь

У каждой страницы есть собственные поля для кода. Открываются они из списка страниц: шестерёнка у нужной страницы, дальше раздел «Ещё» или «Дополнительно», в зависимости от версии панели.

Сюда кладут то, что относится ровно к одной посадочной: пиксель конкретной рекламной кампании, стили под нестандартный блок, скрипт квиза, разметку для одного лендинга.

Плюс очевидный: если код сломается, сломается одна страница, а не весь сайт. Приём выручает, когда на разных лендингах разные счётчики и вешать их всем подряд нельзя.

Блок T123: HTML прямо в потоке страницы

Блок T123 живёт в категории «Другое» и представляет собой кусок разметки, вставленный между обычными блоками. Скрипты и стили внутри него выполняются, а не показываются как текст.

  • Подходит, когда виджет должен стоять в определённом месте: после первого экрана, перед формой, в конце страницы.
  • Годится для iframe, форм сторонних сервисов, калькуляторов, таблиц.
  • Высота блока задаётся содержимым: если внутри вырос большой элемент, страница просто станет длиннее.

Ограничение тоже есть: блок занимает всю ширину контейнера и встаёт в общий поток. Свободно двигать его по экрану нельзя, для этого нужен Zero Block.

И отдельно: в обычный текстовый блок код вставлять бесполезно. Тильда экранирует его и покажет посетителю ваши теги как обычные буквы.

Zero Block: код на свободном холсте

В Zero Block есть отдельный элемент для HTML. Вы добавляете его на холст, открываете содержимое и вставляете код туда же, куда обычно вставляют текст.

  • У элемента заданы координаты и размеры для каждого разрешения: 1200, 980, 640, 480 и 320 пикселей.
  • Содержимое не растягивает холст: высота блока остаётся такой, какой вы её задали.
  • Стили страницы могут перебивать стили внутри вставки, поэтому свои правила лучше делать конкретнее по селекторам.

Отсюда самая частая беда: скрипт нарисовал элемент выше контейнера, и содержимое обрезалось или наехало на соседний. Проверять вставку нужно на всех пяти разрешениях, а не только на десктопном.

Шпаргалка: что куда класть

  • Счётчик Метрики или другой аналитики - head в настройках сайта, один раз на весь сайт.
  • Пиксель одной рекламной кампании - head конкретной страницы, а не всего сайта.
  • Чат, обратный звонок, всплывающие виджеты - поле перед закрывающим body в настройках сайта.
  • Глобальные правки оформления - тег style в head сайта.
  • Сторонний виджет в определённом месте макета - блок T123 или HTML-элемент в Zero Block.
  • Внешний шрифт - head сайта, иначе текст успеет отрисоваться дважды.

Дублирование - главный источник странных цифр. Счётчик, вставленный и в настройки сайта, и в блок на странице, посчитает один визит дважды, а отчёты после этого будут врать месяцами.

Почему код в head тормозит загрузку

Браузер читает документ сверху вниз. Встретив обычный тег script с внешним адресом в head, он останавливает разбор HTML, скачивает файл, выполняет его и только потом идёт дальше. Всё это время человек смотрит на пустой экран.

  • Переносите в поле перед закрывающим body всё, что не обязано стартовать первым.
  • Для своих скриптов используйте атрибуты defer или async, они снимают блокировку.
  • Не тащите в head тяжёлую библиотеку ради одной функции, которую можно написать в десять строк.
  • Проверьте, что все внешние адреса начинаются с https: иначе браузер вырежет запрос на защищённом сайте.

Разница особенно заметна на мобильном интернете, где каждый лишний запрос стоит сотни миллисекунд. Замерьте страницу в PageSpeed Insights до переноса и после - цифра покажет цену вопроса лучше любых советов.

Как проверить, что код подключился

  1. Откройте опубликованную страницу в обычном окне браузера, не в режиме предпросмотра.
  2. Нажмите Ctrl+U и поищите по исходному коду кусок своей вставки. Нет фрагмента - код до страницы не доехал.
  3. Откройте F12, вкладку Network, перезагрузите страницу и найдите файл скрипта. Статус 200 значит, что файл получен, 404 или красная строка - адрес неверный.
  4. Загляните во вкладку Console: красные ошибки означают, что скрипт загрузился, но упал на выполнении.
  5. Через вкладку Elements убедитесь, что виджет действительно вставил свою разметку в страницу.

Типичные причины «кода нет на странице»: правили один сайт, а смотрите другой; вставили в настройки страницы, а открыли соседнюю; блокировщик рекламы вырезал счётчик; скрипт подключается по http на https-сайте.

Если фрагмент в исходном коде есть, а эффекта нет - проблема уже не в Тильде, а в самом скрипте. Дальше разбираться нужно по ошибкам в консоли.

Публикация: шаг, без которого ничего не работает

Тильда хранит черновик отдельно от опубликованной версии. Пока вы не нажали «Опубликовать», посетители видят прежнюю страницу, а вы ищете ошибку в совершенно правильном коде.

  • Правили код страницы - опубликуйте эту страницу.
  • Правили настройки сайта, то есть head или поле перед закрывающим body, - переопубликуйте все страницы, где код должен работать. В списке страниц для этого есть массовая публикация.
  • После публикации обновляйте страницу через Ctrl+F5: обычное обновление часто отдаёт версию из кэша браузера.

Если сайт стоит на своём домене и перед ним есть CDN или кэширующий прокси, добавьте ещё один шаг: сброс кэша на его стороне. Иначе картина не изменится - у вас всё новое, у клиента всё старое.

Частые вопросы

Можно ли вставить скрипт в обычный текстовый блок Тильды?

Нет, Тильда экранирует такой код и покажет теги как текст. Для работающего HTML нужен блок T123 из категории «Другое» или элемент HTML внутри Zero Block. Если код должен работать на всех страницах, его место в настройках сайта.

Почему код работает в предпросмотре, но не на сайте?

Скорее всего страница не опубликована после правки. Изменения в настройках сайта требуют переопубликовать страницы, а браузер после этого стоит обновить через Ctrl+F5. Если и это не помогло, проверьте, тот ли домен вы открываете.

Сколько кода можно положить в head?

Технически много, практически - ровно столько, сколько выдержит скорость загрузки. Каждый синхронный скрипт в head задерживает отрисовку страницы, поэтому всё, что не обязано стартовать первым, переносите в поле перед закрывающим body.

Где вставлять код счётчика аналитики?

В поле для head в настройках сайта, один раз на весь сайт. Не дублируйте его в блоках на страницах: визиты начнут считаться дважды, и отчёты будут завышены. После вставки проверьте через F12 и вкладку Network, что запрос счётчика уходит.