Tilda · 6 мин чтения

Повторяющийся блок на страницах Тильды: как не дублировать вручную

Задача знакома почти всем, кто ведёт сайт на Тильде дольше пары месяцев: баннер с акцией, блок доставки или форма заявки нужны сразу на десятке страниц, а обновлять их приходится вручную на каждой. Повторяющийся блок на страницах Тильды - штука, с которой сталкивается любой владелец многостраничника, и решается она далеко не только копированием через «Библиотеку блоков». Разберу рабочие варианты, которые применяю в проектах клиентов: от встроенного функционала Тильды до кастомного JS-инжекта и синхронизации между разными сайтами.

Почему копипаст блока по страницам создаёт проблемы

Стандартный путь в Тильде такой: собираешь блок один раз, сохраняешь в личную библиотеку и вставляешь копию на каждую нужную страницу. Работает, пока страниц три-четыре. На практике у клиентов бывает 15-30 лендингов под разные города или товарные категории, и уже на десятой странице кто-то из команды забывает обновить копию.

Был случай: у клиента с сетью лендингов под франшизу поменялась цена в баннере акции. Обновили 11 страниц из 14, три забыли - и два дня баннер с устаревшей ценой собирал жалобы в поддержку. Отдельная головная боль - блоки с юридической информацией или реквизитами: если такой блок продублирован руками, при проверке возникает риск, что на части страниц висит старая редакция.

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

Общий блок в Тильде: встроенное решение

В Zero Block у Тильды есть функция «Сделать общим блоком» (Global Block). Логика простая: один и тот же блок физически существует в проекте один раз, а на страницах размещаются его связанные копии. Правишь оригинал - изменения подтягиваются на всех страницах, где блок вставлен, без повторного редактирования и без повторной публикации каждой страницы отдельно.

Важное ограничение: общие блоки работают внутри одного проекта Тильды, то есть одного сайта с одним доменом и общим набором страниц в личном кабинете. Если у вас несколько отдельных сайтов на Тильде (например, разные домены под разные регионы), между ними общий блок не протянуть - для этого нужен другой подход, о котором расскажу дальше.

Второе ограничение - тариф. Общие блоки доступны начиная с тарифа Business и выше, на Personal и Start функции нет. Если сайт держится на младшем тарифе, а повторяющихся блоков много, дешевле обычно посчитать разницу в стоимости тарифа против стоимости часов на ручные правки - почти всегда выгоднее апгрейд.

Как подключить общий блок пошагово

Порядок действий в редакторе Zero Block такой:

  1. Собираете нужный блок на любой странице проекта как обычно - текст, изображения, кнопки.
  2. Кликаете на блок правой кнопкой мыши и выбираете пункт «Сделать общим блоком» (или аналогичный пункт в панели настроек блока, в зависимости от версии редактора).
  3. Даёте блоку понятное имя - пригодится, когда таких блоков накопится десяток и нужно будет найти нужный среди списка.
  4. На других страницах открываете библиотеку блоков, переключаетесь на вкладку «Общие блоки» и вставляете нужный блок из списка.
  5. После правок в оригинале публикуете страницы, где блок используется - без этого шага изменения не попадут в опубликованную версию сайта, хотя сам блок обновится во всех редакторах сразу.

Одна деталь, которая часто ломает логику новичков: старые типовые блоки Тильды (T450, T210 и подобные, не из Zero Block) в общие не переводятся - функция работает только с блоками, собранными в конструкторе Zero Block. Если сайт целиком на старых блоках, для повторяющегося контента остаётся либо перевод конкретного блока в Zero Block, либо кастомный скрипт.

Отдельно от общих блоков в Тильде есть встроенный механизм шапки и подвала (Header/Footer) в настройках проекта - для меню и футера они закрывают задачу «одна вёрстка на всех страницах» без всяких общих блоков, это отдельная и более старая функция.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Когда общий блок не подходит: JS-инъекция контента

Есть три ситуации, где встроенный общий блок не сработает: младший тариф без Business, блок нужен на разных сайтах (не страницах одного проекта), либо содержимое блока должно меняться по условию - например, показывать разный текст в зависимости от UTM-метки или региона посетителя.

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

<div id="shared-promo-block"></div>
<script>
fetch('https://your-backend.ru/api/shared-block')
  .then(function(res) { return res.text(); })
  .then(function(html) {
    document.getElementById('shared-promo-block').innerHTML = html;
  });
</script>

Скрипт вставляется через настройки страницы «Ещё код для вставки» или в общий код проекта, если блок нужен везде. Правка происходит один раз на бэкенде, а не в 20 копиях внутри Тильды. Минус в том, что контент подгружается через доли секунды после отрисовки страницы - для баннера это незаметно, а для блока, критичного для SEO-текста в первом экране, лучше не использовать этот способ, поисковики не всегда дожидаются JS-рендера.

Способ Где работает Сложность Главный минус
Ручное копирование любой тариф, любые блоки нулевая риск рассинхронизации на 3+ страницах
Общий блок Zero Block внутри одного проекта, тариф Business+ низкая не работает между разными сайтами
JS-инъекция контента любой тариф, любые сайты нужен разработчик контент подгружается с задержкой
Синхронизация через n8n/API несколько сайтов, разные CMS высокая требует настройки и обслуживания сценария

Синхронизация одного блока между несколькими сайтами Тильды

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

Рабочая схема - тот же JS-инжект, но контент отдаётся не статичным файлом, а через сценарий автоматизации: правка вносится в одном источнике (админка, таблица, CRM-карточка), а n8n или похожий инструмент публикует обновлённую версию блока в API-эндпоинт, к которому уже стучатся все сайты сети. Такую синхронизацию я обычно собираю как разовый проект под конкретную задачу клиента - если у вас похожая сеть сайтов на Тильде, разумнее сразу обсудить с разработчиком архитектуру, а не городить костыль на коленке: посмотреть подробнее про разработку кастомных решений для Тильды можно у меня в услугах.

Практические кейсы, где это чаще всего всплывает

Из того, что реально встречается в работе с клиентами:

  • Промо-баннер с текущей акцией на всех лендингах товарной линейки - меняется раз в неделю, руками обновлять утомительно.
  • Блок способов оплаты с логотипами эквайринга (в частности, интеграции с Т‑Банком) - вёрстка одинаковая на карточках товаров и на странице заказа.
  • Блок доставки с расчётом стоимости через СДЭК - логика расчёта одна, а страниц с формой заказа много.
  • Уведомление в шапке о времени работы поддержки или о статусе загрузки заявок - завязано на бэкенд и должно быть синхронно на всех посадочных.
  • Виджет с уведомлением о заявке, который дублирует данные в Telegram-бота на aiogram - блок формы один и тот же, меняется только текст подтверждения под конкретный лендинг.

Во всех этих случаях логика одна: чем чаще блок меняется и чем больше страниц он затрагивает, тем дороже обходится ручное дублирование и тем быстрее окупается либо переход на общий блок Zero Block, либо кастомный скрипт синхронизации.

Когда стандартных блоков не хватает

Кастомный скрипт

от 3 000 ₽

Подробнее →

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

Работает ли общий блок между разными сайтами на Тильде?

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

На каком тарифе Тильды доступны общие блоки?

Функция открывается начиная с тарифа Business. На тарифах Personal и Start общих блоков нет, там остаётся либо ручное копирование, либо подключение внешнего скрипта для подгрузки контента.

Можно ли сделать блок общим только для части страниц?

Да, общий блок вставляется выборочно - вы решаете, на каких страницах он появится, при этом на страницах, где блок не добавлен, он не показывается и не занимает место в редакторе.

Что будет, если удалить общий блок с одной страницы?

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

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Самозанятый Калинкин Н. А. · работаю с физлицами и юрлицами

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно