Многоязычный сайт на Тильде я делаю минимум раз в квартал: у кого-то экспорт в Казахстан и Беларусь, у кого-то B2B-каталог для партнёров в Европе, у кого-то просто нужна английская версия для инвесторов. Готовый переключатель языков в Tilda есть только в блоках меню вроде ME204N, а единой мультиязычной структуры нет, и это создаёт путаницу: часть клиентов заводит два независимых проекта и забывает синхронизировать цены в каталоге, часть плодит на одном домене страницы на разных языках без единой логики переходов между ними, а потом удивляется, почему Google в выдаче путает версии между собой. Ниже разложил рабочие схемы, которые проверял на реальных проектах, с плюсами, минусами и ценами по каждому варианту.
По теме статьи
Готовое решение
Ограничение применения промокода в корзине Tilda
Промокод в Tilda не действует на выбранную категорию (например, «Распродажа»). Готовый скрипт + инструкция по подключению.
от6 000 ₽
Сайт / Tilda
От лендинга до интернет-магазина
Разработка сайтов на Tilda с нестандартным функционалом. Кастомные формы, калькуляторы, интеграции с CRM — всё, что нужно для запуска бизнеса.
от30 000 ₽
Почему в Tilda нет мультиязычности из коробки
В Tilda один проект - это один сайт с одним доменом и одной структурой страниц. Языкового поля у страницы нет, как нет и автоматического дерева переводов, которое в WordPress закрывают плагинами вроде WPML или Polylang. Каждая страница в Tilda самостоятельна: свой alias, свой SEO-блок, свои блоки контента. Это удобно для лендинга под один рынок, но мультиязычный контент на Tilda превращает в ручную работу почти всё - переключатель языков и редирект по языку браузера есть только как блоки меню и T805, а разметку hreflang и свою логику показа версий приходится собирать самостоятельно через блоки с кодом (Zero Block, T123) или через отдельные проекты.На практике работают два подхода, и выбор между ними зависит не от вкуса, а от количества языков, глубины отличий контента и того, кто будет вести обновления после запуска.
Схема 1: отдельные проекты на своих доменах
Первый вариант - завести под каждый язык отдельный проект Tilda: example.ru для русской версии и example.com или en.example.ru для английской. Число проектов на аккаунте зависит от тарифа Tilda, и под вторую-третью языковую версию обычно приходится переходить на тариф выше стартового.Плюсы: каждая версия живёт и правится независимо, дизайн и порядок блоков можно адаптировать под рынок, а переводчик или native-копирайтер получает доступ только к своему проекту и не может случайно испортить остальные версии.Минусы вылезают на второй месяц эксплуатации. Цену в каталоге подняли - идёте править во всех проектах руками, добавили новый блок услуг - повторяете в каждой версии, для каждого проекта нужна отдельная настройка аналитики, отдельный вебхук на CRM и отдельная интеграция форм. На двух языках это ещё терпимо, на четырёх-пяти уже нужен регламент синхронизации, который либо ведёт менеджер по чек-листу, либо я собираю сценарием в n8n: он раз в сутки сверяет цены и остатки между проектами через API Tilda и присылает уведомление в Telegram, если версии разошлись.
Схема 2: один проект с alias страниц и переключателем языков
Второй вариант - остаться в одном проекте и развести версии через alias страниц. У страницы «О нас» ставим alias /o‑nas, у английского двойника - /about, у каталога - /catalog и /en-catalog, и так по всей структуре сайта. Между версиями добавляется переключатель - штатный блок меню с настройкой языков вроде ME204N или блок с кодом, который выводит две ссылки и подсвечивает активный язык.Простой переключатель на HTML и JS для блока Zero Block выглядит так:
<div class="lang-switcher">
<a href="/" data-lang="ru">RU</a>
<a href="/about" data-lang="en">EN</a>
</div>
<script>
document.querySelectorAll('.lang-switcher a').forEach(function(link) {
link.addEventListener('click', function() {
localStorage.setItem('lang_choice', link.dataset.lang);
});
});
</script>
Плюсы: один домен, одна аналитика в Метрике и Google Analytics, один каталог Tilda Store с общими остатками - это особенно важно для интернет-магазина, где остатки должны быть едиными для всех языковых версий. Минус в том, что за структурой приходится следить руками: Tilda не подскажет, что вы забыли сделать английский двойник для новой статьи в блоге, и такие расхождения копятся молча, пока клиент через полгода не спросит, почему на английской версии нет свежих кейсов.Разница между схемами на практике сводится к таблице.
| Критерий | Отдельные проекты | Один проект с alias |
|---|---|---|
| Домен и аналитика | Свои у каждой версии | Общие для всех версий |
| Синхронизация цен и контента | Вручную или через n8n и API Tilda | Правите один раз в общем каталоге |
| Доступ для переводчика | Отдельный проект, ниже риск ошибок | Общий проект, нужен контроль правок |
| Срок настройки под 2 языка | 5-7 дней | 3-5 дней |
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Автоматический редирект по языку браузера и разметка hreflang
Определять язык посетителя по браузеру и сразу перекидывать его на нужную версию - соблазн, в который на старте попадает почти каждый клиент. На практике жёсткий редирект без возможности вернуться на другую версию раздражает пользователей и путает поисковики: Googlebot и Яндекс.Робот тоже присылают свой Accept-Language, и жёсткий редирект без исключения для ботов может привести к тому, что поисковик проиндексирует не ту версию, которую вы ожидали.Рабочий вариант - мягкое предложение: если язык браузера не совпадает с текущей версией и пользователь ещё не выбирал язык вручную, показываем баннер с предложением перейти на английскую версию и запоминаем выбор в localStorage, чтобы не показывать баннер повторно. Пример скрипта для блока с кодом на Tilda:
var lang = (navigator.language || navigator.userLanguage || 'ru').toLowerCase();
var isEnglishVisitor = lang.indexOf('en') === 0;
var alreadyOnEnglish = window.location.pathname.indexOf('/about') === 0;
var choiceMade = localStorage.getItem('lang_choice');
if (isEnglishVisitor && !alreadyOnEnglish && !choiceMade) {
document.getElementById('lang-banner').style.display = 'block';
}
Для поисковиков вместо редиректа используется разметка hreflang - её прописывают в код head каждой языковой страницы через настройку дополнительного кода перед тегом head в T123:
<link rel="alternate" hreflang="ru" href="https://example.ru/o-nas" />
<link rel="alternate" hreflang="en" href="https://example.ru/about" />
<link rel="alternate" hreflang="x-default" href="https://example.ru/o-nas" />
Отдельно стоит закрыть от индексации черновики: если английская версия каталога наполовину переведена и наполовину дублирует русский текст, такие страницы я обычно закрываю noindex до момента, пока перевод не закончен, иначе поисковик решит, что это дубль, и начнёт схлопывать версии в выдаче между собой.
Каталог, оплата и доставка в мультиязычном интернет-магазине
С контентными страницами всё решается разметкой и alias, а у мультиязычного интернет-магазина добавляются ещё три места, где логика ломается сама по себе.Оплата: у T‑Bank и большинства эквайринговых провайдеров, с которыми я работал на Tilda, мультивалютность ограничена - чаще всего сумма показывается в валюте, а списание всё равно идёт в рублях по курсу на момент оплаты. Если нужен реальный мультивалютный чек, обычно заводят второй мерчант-аккаунт под конкретную валюту, и это отдельная интеграция, а не настройка форм на самой Tilda.Доставка: зоны доставки, которые вы собирали для СДЭК на русской версии, один в один не переносятся на международную версию - тарифы и сроки для доставки за рубеж считаются по другой логике, и обычно их либо забивают вручную по ключевым странам, либо подключают через отдельный расчёт при оформлении заказа.Формы и заявки: если обе версии сайта ведут в одну CRM, стоит добавить в вебхук скрытое поле с языком версии, с которой пришла заявка, иначе отдел продаж путает англоязычный лид с русскоязычным и теряет время на выяснение, на каком языке вообще отвечать. Такие доработки форм и вебхуков я обычно оформляю как кастомную доработку Tilda под конкретный проект.
Сколько стоит развести версии и что выбрать
Если у вас два языка и контент почти зеркальный, берите схему с одним проектом и alias - это дешевле в поддержке. Если рынки сильно отличаются по структуре, у вас разные каталоги или разные условия оплаты и доставки, надёжнее развести версии отдельными проектами, даже с учётом двойной ручной работы при обновлениях.
| Что делаю | Цена |
|---|---|
| Скрипт-переключатель языков и hreflang для существующего сайта | от 3 000 ₽ |
| Мультиязычный сайт на Tilda под ключ, 2-3 языка | от 30 000 ₽ |
| Комплексная интеграция оплаты и доставки под несколько версий (T‑Bank, СДЭК) | от 40 000 ₽ |
| Техподдержка нескольких языковых версий | от 15 000 ₽/мес |
Частые вопросы
Нужен ли отдельный тариф Tilda для второго языка
Если делаете версии внутри одного проекта через alias страниц, отдельный тариф не нужен - работаете в рамках текущего лимита страниц. Если заводите отдельный проект под каждый язык, число проектов ограничено тарифом аккаунта, и под вторую версию обычно приходится переходить на тариф выше стартового.
Как Google поймёт, что это разные языковые версии одной страницы
Через разметку hreflang в head каждой страницы - она явно указывает поисковику, какая версия на каком языке и куда вести пользователя с другой языковой выдачи. Без hreflang Google определяет язык эвристически по контенту, и на похожих по структуре страницах иногда путает версии между собой.
Можно ли обойтись без разработчика и сделать мультиязычность только настройками Tilda
Частично да: создать страницы с нужными alias и текстом на другом языке можно и без кода. Переключатель языков в блоках меню и жёсткий редирект по языку браузера блоком T805 тоже штатные. А мягкий редирект с баннером и hreflang в Tilda нативно не собираются - это блоки с кодом, и здесь без разработчика обычно не обойтись.
Что в итоге дешевле - два проекта или один с переключателем
В моменте запуска дешевле один проект с переключателем, потому что не нужно повышать тариф Tilda и дублировать интеграции. В долгосрочной поддержке разница стирается: два проекта требуют двойного времени на каждую правку, а один проект с большим числом языковых версий требует более аккуратного контроля структуры, и оба варианта в итоге упираются в похожий объём работы, просто разложенный по-разному.