Аудит магазина на Tilda: Белиз, 152-ФЗ и корзина без API - разбор по замерам
vipsrv:~$ cat tilda-audit-2026.md

vipsrv:~$ cat tilda-audit-2026.md

# техничка // вскрытие Tilda

Что мы нашли, когда вскрыли магазин на Tilda: Белиз, 152-ФЗ и корзина без API

Мне прилетел заказ: прикрутить к магазину на Tilda доставку Ozon прямо в корзину. ТЗ на семь страниц, всё по документации, клиент хочет уйти от комиссии маркетплейса. Звучит как доработка на пару дней. Прежде чем считать часы, я сделал то, что делаю всегда, - полный технический аудит сайта: 36 страниц, HAR с мобильного профиля, хосты, разметка, юридическая рыготина и подобные обязательные проверки. Дальше - что мы увидели. В конце - два варианта, которые мы предложили клиенту. Во втором Tilda нет.

Это не статья «конструкторы плохие». Хотя моё мнение про Tilda простое: как была конструктором визиток, так и осталась. Нормальное SEO, а тем более полноценный интернет-магазин под 152-ФЗ и 54-ФЗ с хоть каким-то контролем сессий - на ней не более чем бредятина. Но это мнение, а статья не о нём. Она про то, куда смотреть, когда вам говорят: у нас сайт на Tilda, надо чуть доработать. Магазин - автогаджеты, 36 страниц, 6 товаров. Клиента и домен не называю, все числа ниже сняты прогонами в сентябре 2026 года, логи и HAR лежат у нас.

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

Кому принадлежит сайт на Tilda: заказы, корзина и сессии

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

  • Заказ уходит вебхуком один раз, без повторов. Если ваш приёмник в этот момент перезагружался или у него мигнула сеть - заказа у вас нет. Не «придёт позже», а нет. Запроса «дай список заказов за сегодня» у Tilda тоже не существует, так что и сверить пропажу не с чем.
  • После оплаты покупателя редиректят на страницу «спасибо», и это всё, что вы про него знаете. Сессии нет, состояние заказа хранить негде. Любая логика «после оплаты сделать X» живёт на вашем сервере, который узнаёт об оплате из того самого одноразового вебхука.
  • Корзина - чужой DOM. Мы повесили наблюдатель на окно корзины: одно добавление товара даёт 45 перерисовок поддерева. Свой элемент внутрь не поставить, Tilda выбросит его при следующей перерисовке. Виджет живёт снаружи, переустанавливается по событиям и ломается в день, когда Tilda обновит корзину. Это не гипотеза, это график их релизов.

К этому идёт мелочь того же сорта: объект корзины на карточке товара готов к работе через 3,5 секунды после начала загрузки. Всё, что вы хотите в неё врезать, обязано эти секунды переждать и не рассыпаться, если не дождалось.

Итог для бизнеса простой. Каждая доработка на Tilda - костыль поверх чужого кода, за который никто не отвечает. Ни Tilda, потому что вы лезли в её DOM. Ни разработчик, потому что он не управляет тем, что Tilda выкатит завтра.

Где физически находятся серверы Tilda: замер по хостам

Сайт и статика отдаются из России, а расчёт доставки в корзине, панель и часть скриптов - из Белиза, Ирландии и США. Мы прогнали все хосты, к которым обращается сайт, через резолв с российского IP и таблицу маршрутов. Картинка такая.

ЧтоГдеСтрана
Статика, картинкиEdgeCenterРоссия
Сам сайтDDoS-GuardРоссия
Панель управления, fallback-скриптыTilda Platform Cloud ServicesИрландия
Расчёт доставки СДЭК / Яндекс / Почта в корзинеIQWeb FZ-LLCБелиз
Шрифт Montserrat (второй раз)Google FontsСША
Google AnalyticsGoogleСША

А вот тут, лять, по факту у меня ни#уяшеньки не сходится, ибо я топлю за 152-ФЗ. Tilda официально заявляет, что серверы для российских клиентов находятся в России и платформа соответствует закону. Спорить с этим я не буду: сам сайт и статика действительно отдаются из России, и по бумагам всё, вероятно, так. Но я смотрю не на бумаги, а на таблицу маршрутов. Замеры показывают: запрос покупателя с его IP, городом и данными корзины уходит на хост в Белизе, скрипты платформы подтягиваются из Ирландии, шрифты и аналитика - из США. По моему прочтению закона это трансграничная передача, о которой пользователя никто не спросил. Это моё мнение, а не заключение юриста - оценивать вам. Но проверить его можно за минуту: адрес хоста через dig, страну и владельца сети - через любой whois по номеру автономной системы. Никакой магии, только замер. И я вас ни#уя не убеждаю, это факт. РКН рано или поздно сделает то же самое - тут к гадалке не ходи.

То есть в момент, когда покупатель в Екатеринбурге вводит город доставки, его запрос уходит в Белиз, там считается тариф СДЭК и возвращается обратно. Работает. До первого дня, когда РКН или очередная волна блокировок решит иначе, - а сайт при этом будет выглядеть живым, просто доставка в корзине «не грузится». А поправить возможности нет ни у вас, ни у меня. Это вообще противоречит логике любого бизнеса: бизнес-процесс никогда не должен останавливаться, резерв и прочие технические нюансы нормальный разработчик закладывает в проект сразу.

Почему сайт на Tilda нарушает 152-ФЗ по умолчанию

Нарушение приезжает вместе с дефолтом шаблона: cookie-баннер выключен, Метрика с вебвизором и Google стартуют до любого согласия, а ссылка на рекламное согласие ведёт в 404. С мая 2025 года штраф за обработку персональных данных без согласия для юрлица - до 700 тысяч рублей (ст. 13.11 КоАП в редакции 2025 года), повторно - больше. Что нашлось на проверенном сайте.

  • Cookie-баннера нет. Механизм в Tilda есть, счётчики помечены как аналитические, но баннер выключен. Метрика с вебвизором и Google Analytics стартуют до любого согласия.
  • Счётчиков Метрики на странице два, оба с вебвизором: один свой, второй от Tilda. Каждое движение посетителя пишется дважды.
  • Google Fonts и Google Analytics грузятся с американских серверов - IP и заголовки пользователя уходят за границу без его ведома. Это тот самый пункт про трансграничную передачу. Отдельная деталь: Google Analytics там мёртвый. Подключена старая библиотека Universal Analytics, а идентификатор в ней от GA4. Скрипт стучится наружу, весит и передаёт IP посетителя за океан, данных при этом не собирает ни строчки.
  • Ссылка «согласие на рекламную рассылку» под лид-формой ведёт на 404, а сама форма стоит на всех 36 страницах. Формально согласие есть, по факту документа, с которым соглашаются, нет. Правка на пять минут, но её никто не сделал за год.
  • В политике конфиденциальности перечислены не все получатели данных - Tilda и её CDN в Белизе там, естественно, отсутствуют.
  • В подвале почта подписана одним адресом, а ссылка ведёт на другой. Покупатель, скопировавший адрес глазами, пишет туда, куда юридические документы магазина его не отправляли. С 152-ФЗ это пересекается напрямую: отзыв согласия уходит в ящик, который в документах не значится.
  • Заголовков HSTS, CSP и Referrer-Policy в ответах нет ни одного. Сам HTTPS в порядке, сертификат валиден, но без HSTS первый заход на сайт открыт на downgrade - тот самый заход, в котором посетитель ещё ничего не подписывал и ни на что не соглашался.

Ни один из этих пунктов не результат злого умысла. Это дефолт конструктора: шаблон подключает Google Fonts, баннер выключен, политика из генератора. Отвечать за них будете вы, а не Tilda. А связываться с трансграничкой в нынешнее время без особой на то нужды я бы не пожелал никому, тем более на ровном месте.

Почему сайт на Tilda тяжёлый для поисковой выдачи и мобильного трафика

Тяжесть идёт не от хостинга, а от содержимого страницы: карточка товара тянет 3,1 МБ и 101 запрос, из них 1,6 МБ - картинки в оригинале и 755 КБ - шрифты в старом формате. Мерили на мобильном профиле, 4G, три прогона, в таблице медиана.

СтраницаHTMLЗапросовВесLoad
Главная1,44 МБ1792,3 МБ2,9 с
Карточка товара378 КБ1013,1 МБ3,5 с

Те самые 1,6 МБ - это оригиналы вместо пережатых, которые у Tilda же и лежат на соседнем хосте. Ещё 755 КБ уходит на девять файлов шрифтов в формате woff: в woff2 они весили бы примерно вдвое меньше. Причём Montserrat грузится дважды - свой файл из Tilda и он же с Google Fonts.

На главной в исходнике 131 тег картинки, в отрендеренной странице их 129, и у всех 129 атрибут alt пустой. Сверху 162 фоновых изображения, у которых текстовой альтернативы нет в принципе. В поиске по картинкам товар не участвует вообще.

Отрисовка главного блока занимает 1276 мс на главной и 2336 мс на карточке - по нынешним меркам приемлемо, и именно поэтому проблему никто не замечает. Только счёт за неё выставляют не серверу, а покупателю: 3,1 МБ карточки оплачивает его мобильный трафик и его батарейка.

Сервер при этом быстрый, TTFB меньше 300 мс. Конструктор собирает страницу из того, что накидал редактор, и оптимизировать это некому: кнопки «пережать всё и отдать лёгким» в панели не предусмотрено. А владелец открывает сайт с ноутбука на офисном вайфае, видит «летает» и закрывает тему.

Почему сайт на Tilda плохо продвигается: сироты, разметка, заголовки

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

Сразу заявляю с ходу: Tilda - помойка для SEO. Да, это моё мнение, но она грузит кучу мусорного кода и продвигает криво вставленные свои плагины, а не сайт. Повторюсь, для меня это конструктор визиток, и по возможности я обхожу его стороной. Но тут заказ не про SEO, поэтому только замеры. Здесь самое дорогое, потому что это упущенные продажи, а не техника.

  • 16 из 36 страниц - сироты: на них нет ни одной ссылки с сайта. Среди сирот все 12 подборок («до 3 литров», «для зимы», «с компрессором»), то есть самые частотные коммерческие запросы. Они существуют только в sitemap. Поисковик их найдёт, вес им не передастся.
  • В блог невозможно попасть, не находясь уже в нём: ссылка на раздел есть только внутри статей блога.
  • На карточках товара нет микроразметки Product вообще. Ни цены, ни наличия. JSON-LD на сайте ноль штук. Единственный живой Product сидит на служебной странице магазина Tilda, и там цена 7 900 при 5 190 на витрине - разметка отстала от жизни.
  • Заголовков h2 и h3 - ноль на всех 36 страницах. Структура плоская, поисковик читает одну простыню.
  • Хлебные крошки видны глазами, BreadcrumbList нет - в выдаче они не покажутся. Блоки вопросов и ответов набраны, разметки FAQPage нет - расширенного сниппета не будет.
  • Две битые внутренние ссылки, размещённые 46 раз. Одна из них - «Рекомендуемые модели» на десяти страницах подборок: ровно та ссылка, которая обязана вести с подборки на товар, ведёт в 404.
  • Зеркала не склеены редиректом: адрес с www и адрес со слешем на конце отдают 200 вместо 301, а содержимое у www совпадает с основным байт в байт. Держится всё на одном canonical. Пока он проставлен верно, дубли в выдачу не лезут, но вся склейка сайта висит на одном атрибуте вместо кода ответа. Отдельно: две карточки товара совпадают между собой на 81,4%.

Отдельно скажу, чего в этом списке нет. Карта сайта валидна, все 36 адресов в ней, даты обновления проставлены, robots.txt ничего лишнего не закрывает, пересечений закрытого и заявленного - ноль. То есть индексация как раз в порядке. Ломается то, что идёт после индексации: вес внутри сайта, структура заголовков и разметка, по которой поиск понимает, что перед ним товар с ценой.

Половина этого на Tilda чинится, но руками, по одной странице, в визуальном редакторе. Вторая половина - JSON-LD, перелинковка по правилам, автоматические alt - либо через костыли в HTML-блоках, либо никак. На 36 страницах это ещё терпимо. На трёхстах вы наймёте отдельного сотрудника кликать мышкой.

Сколько стоит автоматизация на Tilda: подписка плюс свой сервер

Стоит она двух счетов сразу - подписки Tilda и VDS рядом с ней, потому что внутри конструктора автоматизации нет. Клиент хочет доставку Ozon, SMS-подтверждение, письма, напоминания об отгрузках. Значит рядом нужен свой сервер. И вот вы платите за подписку и за VDS одновременно, а сервер при этом слепой: он узнаёт о заказе из одноразового вебхука и не может ни переспросить, ни перепроверить.

И повод для этого заказа виден прямо в замерах корзины. Все три службы доставки в ней работают только на выдачу в ПВЗ, курьера до двери нет вообще, а срок для Екатеринбурга считается от 7-10 дней. На карточке товара при этом написано «Доставка в тот же день». Бесплатная доставка обещана от 20 000 рублей, а дороже 7 900 в каталоге ничего нет - порог не берётся в принципе. Покупатель узнаёт всё это на шаге оплаты, то есть в самой дорогой точке воронки.

Посчитайте точки отказа в такой схеме: Tilda, её CDN в трёх странах, ваш VDS, вебхук между ними, РКН. Пять. При магазине на своём сервере их две - сервер и Ozon, и платите вы за них один раз.

Что дешевле: доработать Tilda или перенести магазин на свой стек

По смете дешевле доработать, но разрыв меньше, чем все ждут: перенос на свой стек вышел дороже всего на 10-15%, и это с переносом всех 36 страниц. Вариант «сделать, как просили» на Tilda мы посчитали честно: с буфером 30% на отладку в чужом DOM и с обязательным блоком «привести сайт в порядок» - cookie-баннер, вынос Google, мобильная корзина, оптимизация контента. Это условие, без него мы на кнопку доставки будем нажимать только сами.

Почему перенос стоит так мало: мы не делаем сайт с нуля, мы сдираем готовое - дизайн, тексты и структура уже есть, их надо перенести, а не придумать. На выходе один VDS, никаких вебхуков, все данные у вас, доставка Ozon встроена в корзину, а не прикручена снаружи, и 152-ФЗ закрывается по-настоящему, а не галочкой.

Если нужен рост - под это есть Битрикс «Старт» за 7 100 рублей как витрина и переход на «Малый бизнес», когда магазин перерастёт витрину. Админка есть в самом движке, под задачи клиента дописываем только то, чего в ней нет.

Чек-лист: как проверить свой сайт на Tilda за вечер

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

  1. Откройте сайт с телефона, добавьте товар, введите город и засеките, сколько ждёт корзина. Потом то же самое на компьютере с открытой вкладкой «Сеть» (F12): в момент выбора города появится запрос к хосту, который считает доставку. Скопируйте этот хост и прогоните через whois - страна и владелец сети будут в ответе. Если своего разработчика нет, тот же вопрос задайте поддержке Tilda: «На каком хосте и в какой стране считается доставка в моей корзине?» Ответ сравните с whois.
  2. Откройте сайт в режиме инкогнито и проверьте, что все нужные баннеры на месте: cookie-баннер показан, а согласие не проставлено автоматом. Баннера нет или галочка стоит сама - у вас уже нарушение.
  3. Посмотрите исходник страницы на fonts.googleapis и google-analytics. Есть - трансграничная передача без согласия.
  4. Теперь возьмите все внешние хосты страницы, не только тот, что считает доставку: вкладка «Сеть», колонка домена, имена без повторов. Каждое - через whois. Обещание «серверы в РФ» проверяется за минуту и часто не совпадает с картиной.
  5. Спросите разработчика, что произойдёт с заказом, если ваш сервер не ответил на вебхук. Ответ «повторит» - неправда.
  6. Посчитайте, сколько страниц не имеют ни одной входящей ссылки. Обычно это самые продающие.
  7. Сложите подписку Tilda, VDS под автоматизацию и часы на костыли за год. Сравните с переносом.

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

> конец записи