Интеграция CMS Tilda для сайта

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Интеграция CMS Tilda для сайта
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Интеграция CMS Tilda для сайта

Tilda — визуальный конструктор с блочным редактором. Основной сценарий интеграции: Tilda делает отдельный раздел сайта (лендинг, блог, промостраницы), а основное приложение остаётся на отдельном стеке. Либо Tilda экспортирует HTML/CSS/JS для встраивания в кастомный проект.

Сценарии использования

Субдомен: promo.example.com на Tilda, app.example.com на React/Next.js. Самый простой вариант — никакой интеграции кода, только DNS.

Embed на страницу: виджет или форма Tilda встраивается через <iframe> или экспортированный HTML.

Zero Block + кастомный JS: в редакторе Tilda Zero Block позволяет писать произвольный HTML/CSS/JS и обращаться к внешним API.

Экспорт и хостинг: страница экспортируется как статика и деплоится самостоятельно.

Настройка субдомена

В настройках проекта Tilda: Publishing → Custom domain. DNS-запись:

CNAME promo.example.com  tilda.ws.

Tilda выдаёт SSL автоматически через Let's Encrypt. После привязки домена — прокси или iframe не нужны.

Tilda API — получение данных страниц

Tilda предоставляет API для чтения структуры проекта (нужен тариф Business):

// lib/tilda.ts
const TILDA_PUBLIC_KEY = process.env.TILDA_PUBLIC_KEY!
const TILDA_SECRET_KEY = process.env.TILDA_SECRET_KEY!
const PROJECT_ID = process.env.TILDA_PROJECT_ID!

async function tildaRequest(method: string, params: Record<string, string> = {}) {
  const query = new URLSearchParams({
    publickey: TILDA_PUBLIC_KEY,
    secretkey: TILDA_SECRET_KEY,
    ...params,
  })
  const res = await fetch(`https://api.tildacdn.info/v1/${method}/?${query}`)
  const json = await res.json()
  if (json.status !== 'FOUND') throw new Error(json.message)
  return json.result
}

// Список страниц проекта
export async function getPages() {
  return tildaRequest('getpageslist', { projectid: PROJECT_ID })
}

// Данные конкретной страницы (HTML, CSS, JS, мета)
export async function getPage(pageId: string) {
  return tildaRequest('getpage', { pageid: pageId })
}

// Полный экспорт страницы (со всеми ассетами)
export async function getPageFull(pageId: string) {
  return tildaRequest('getpagefull', { pageid: pageId })
}

Ответ getpagefull содержит:

{
  "id": "12345",
  "title": "Главная страница",
  "descr": "SEO-описание",
  "html": "<div class='t-body'>...</div>",
  "css": [{ "from": "https://...", "to": "local/path.css" }],
  "js": [{ "from": "https://...", "to": "local/path.js" }],
  "images": [{ "from": "https://...", "to": "local/img.jpg" }]
}

Встраивание Tilda-страницы в Next.js

// app/landing/page.tsx
import { getPageFull } from '@/lib/tilda'

export const revalidate = 3600

export default async function LandingPage() {
  const page = await getPageFull(process.env.TILDA_LANDING_PAGE_ID!)

  return (
    <>
      <Head>
        <title>{page.title}</title>
        <meta name="description" content={page.descr} />
        {/* Подключаем CSS Tilda */}
        {page.css.map((s: any) => (
          <link key={s.from} rel="stylesheet" href={s.from} />
        ))}
      </Head>
      {/* Рендерим HTML Tilda */}
      <div dangerouslySetInnerHTML={{ __html: page.html }} />
      {/* Подключаем JS Tilda */}
      {page.js.map((s: any) => (
        <script key={s.from} src={s.from} defer />
      ))}
    </>
  )
}

Важно: стили Tilda глобальные и могут конфликтовать с вашим CSS. Оборачивайте контент в Shadow DOM или изолированный iframe.

Webhook от Tilda

При публикации страницы Tilda отправляет POST на указанный URL:

POST https://your-site.com/api/tilda-webhook
Content-Type: application/x-www-form-urlencoded

pageid=12345&projectid=67890&publickey=...
// app/api/tilda-webhook/route.ts
import { revalidatePath } from 'next/cache'

export async function POST(request: Request) {
  const body = await request.formData()
  const pageId = body.get('pageid')
  // можно проверить publickey для безопасности
  revalidatePath('/landing')
  return new Response('OK')
}

Zero Block — кастомный код внутри Tilda

В блоке Zero Block можно написать полноценный виджет с обращением к внешнему API:

<div id="price-widget"></div>
<script>
  (function() {
    fetch('https://api.example.com/pricing?source=tilda')
      .then(r => r.json())
      .then(data => {
        document.getElementById('price-widget').innerHTML =
          data.plans.map(p =>
            `<div class="plan">
              <h3>${p.name}</h3>
              <p class="price">${p.price} ₽/мес</p>
            </div>`
          ).join('')
      })
  })()
</script>

Формы Tilda и сторонние интеграции

Tilda имеет встроенные интеграции с AmoCRM, Bitrix24, Google Sheets, Mailchimp. Для кастомной обработки данных формы — webhook:

Настройки формы → After submit → Send form data to webhook:

POST https://api.example.com/tilda-lead
{
  "Name": "Иван",
  "Email": "[email protected]",
  "Phone": "+7900..."
}

На приёмной стороне — любой HTTP-эндпоинт, который кладёт лид в CRM.

Ограничения

Tilda не предназначена для динамических приложений. Нет routing, нет состояния между страницами, нет SSR. Как только нужен личный кабинет, корзина или авторизация — Tilda заменяется или дополняется кастомным фронтендом.

Сроки

Настройка субдомена и DNS: 1 день. Интеграция через API с реинвалидацией: 1–2 дня. Настройка форм и webhook-ов: 1 день.