Skip to main content
Назад к блогу
6 мин чтения

Как мы пересобрали Etalon Translation за 6 недель: +34% конверсии и Lighthouse 98

WordPress-сайт агентства → Next.js 15. Три локали, MDX-блог, 0.8s загрузка. Полная история: что вырезали, что удивило, реальные цифры.

case-studynext.jsperformance

Etalon Translation — словацкое переводческое агентство, обслуживающее три языковых рынка — словацкий, чешский и английский. Когда обратились ко мне, их сайт был WordPress-сборкой 2019 года: шаред-хостинг, Elementor, WooCommerce-корзина для запросов на перевод (да, буквально). Работало — пока не перестало.

Это полная история 6-недельной пересборки, которая подняла конверсию на 34% и довела Lighthouse до 98.

Что было сломано

Три вещи, стоившие денег:

Скорость. Средняя загрузка страницы — 4.2 секунды. WordPress + Elementor + 14 плагинов на шаред-хостинге. Каждая страница грузила полный стек jQuery, библиотеку карусели, которой никто не пользовался, и три аналитических скрипта. На мобилке — хуже: 6+ секунд на 3G.

Управление контентом. Агентство хотело публиковать блог-посты на всех трёх языках. WordPress с WPML делал это возможным, но мучительным: каждый перевод — отдельный пост с ручной языковой привязкой. Команда могла писать на словацком, но публикация требовала разработчика для настройки hreflang-тегов, исправления слага и очистки кеша. Они перестали публиковать.

Конверсия. Контактная форма была WooCommerce-потоком «добавить в корзину», переделанным под запросы на расценки. Пользователи буквально добавляли «Услуга перевода» в корзину, заполняли детали на чекауте и отправляли. Воронка путала всех — 88% отвал между страницей услуги и отправленным запросом.

Ограничения

У агентства была рабочая айдентика бренда (цвета, типографика, логотип) и существующий контент на трёх языках. Мы не переделывали бренд — мы пересобирали средство доставки.

Бюджет фиксированный. Срок — 6 недель от старта до продакшена, с жёстким дедлайном: у агентства конференция в Братиславе, где они хотели раздавать визитки с ссылкой на новый сайт.

Что отгрузили

Решения по стеку

Next.js 15 с SSG. Каждая страница пререндерится на этапе сборки. SSR не нужен — контент меняется максимум раз в неделю. SSG даёт TTFB меньше секунды с edge-CDN Vercel, а сборка всего трёхлокального сайта занимает менее 30 секунд.

SCSS Modules вместо Tailwind. Брендбук агентства был детальным — конкретная шкала отступов, цветовые токены, типографические правила. SCSS Modules позволили воспроизвести бренд 1:1 через переменные с токенами дизайна, сохраняя стили рядом с компонентами. Tailwind бы сработал, но точность воспроизведения бренда была проще с кастомным SCSS.

next-intl для интернационализации. Три локали (sk, cs, en) с префиксами в маршрутах, автоматические hreflang-теги и переведённые слаги. Роутинг просто работает — etalon.sk/en/services, etalon.sk/cs/sluzby, etalon.sk/sk/sluzby. Каждая локаль получает свою запись в sitemap. Подробнее о граблях i18n — в отдельном посте.

MDX для блога. Команда пишет Markdown в простом редакторе, кидает файл в репозиторий, и сайт автоматически пересобирается по пушу. Никаких логинов в CMS, никаких баз данных, никакого сброса кеша. Каждый пост — файл .mdx с фронтматтером для заголовка, описания, даты и локали. Переводы — отдельные файлы с совпадающими слагами.

Поток контактной формы

Это был главный рычаг конверсии. Мы заменили WooCommerce-монстра на одностраничную контактную форму:

  1. Пользователь выбирает категорию услуги (перевод, устный перевод, локализация)
  2. Поля формы адаптируются — перевод показывает исходный/целевой язык и количество слов, устный — дату/место
  3. Отправка стреляет Telegram-уведомлением владельцу агентства и подтверждением на email пользователю

Без корзины. Без чекаута. Без «добавить в корзину». Три поля до отправленного запроса. Время от лендинга до отправки упало с 4+ минут до менее 40 секунд.

Работа над производительностью

Пост про Lighthouse 98 покрывает технические детали. Короткая версия:

Результат: 0.8s средняя загрузка по всем страницам. Lighthouse 98 на мобилке.

Цифры

Шесть недель после запуска, сравнение за тот же период трафика:

МетрикаДоПослеИзменение
Средняя загрузка4.2s0.8s-81%
Lighthouse (мобилка)4298+56 пт
Заполнение формы12%46%+34 пт
Постов в блоге0/мес4/мес
Стоимость хостинга€45/мес€0-100%

Стоимость хостинга заслуживает сноски: бесплатный тариф Vercel справляется с этим сайтом без проблем. Агентство платило €45/месяц за шаред-хостинг, который активно тормозил их сайт.

+34% конверсии — это заголовочная цифра, но скорость публикации блога важнее в долгосрочной перспективе. Команда перешла от нуля публикаций (потому что нужен был разработчик) к 4 постам в месяц на трёх языках. Это компаундирующаяся SEO-ценность, которой раньше не существовало.

Что удивило

У старого сайта не было аналитики. Метрики «до» выше восстановлены из данных Google Search Console и серверных логов доступа. Google Analytics был установлен, но неправильно настроен — отслеживал просмотры на панели администратора, а не на публичном сайте. Обнаружили только при миграции. Урок: проверяйте аналитику до старта — вам нужны цифры «до», чтобы доказать «после».

Миграция контента — самая длинная отдельная задача. Копирование текста между системами звучит тривиально. Заняло 8 рабочих дней из 6-недельного таймлайна. На каждой странице были инлайн-стили от Elementor, битые HTML-сущности и непоследовательное форматирование между языками. Я написал Node-скрипт для извлечения чистого текста из WordPress-экспорта, но чешские и английские переводы всё равно потребовали ручной проверки на точность.

Агентству не нужна была CMS. Моё первоначальное предложение включало Sanity как headless CMS. Во время дискавери я понял, что реальный рабочий процесс команды был: написать в Google Docs → отправить разработчику → разработчик публикует. MDX сохранил этот поток минус бутылочное горлышко с разработчиком. Они пишут в Docs, экспортируют в Markdown, коммитят в репозиторий. Проще, дешевле и на один сервис меньше для обслуживания.

Что бы сделал иначе

Пропустил бы кастомную SCSS-систему. Это было правильным решением для точности бренда, но добавило ~10 часов настройки и постоянного обслуживания по сравнению с Tailwind с правильным конфигом. Для следующей корпоративной пересборки — начну с Tailwind и конфига дизайн-токенов. Точность бренда достижима, а DX лучше.

Добавил бы Sentry с первого дня, а не с четвёртой недели. Мы добавили Sentry в финальном спринте для мониторинга продакшена. Поймал бы два CSS-бага рендеринга на стейджинге, которые нашли вручную. Стоимость раннего добавления — близка к нулю.

Настаивал бы на конвертации WebP при миграции. Мы конвертировали hero-изображения, но оставили часть фото внутренних страниц как оптимизированные JPEG. Они нормальные — но «нормально» не значит «98 на каждой странице». Вернуться и конвертировать их сейчас — тривиально, но ощущается как уборка, которую стоило сделать сразу.

Бизнес-результат

Сайт Etalon теперь грузится меньше чем за секунду, публикует контент без участия разработчика и конвертирует посетителей в запросы на расценки в 3.8× эффективнее старого. Конференция агентства состоялась через 6 недель после запуска — они раздавали визитки, люди заходили на сайт, и форма запроса работала.

Шесть месяцев спустя сайт всё ещё работает на бесплатном тарифе. Ни одного инцидента обслуживания. Ни одного экстренного звонка. Агентство публикует еженедельно, и их органический поисковый трафик вырос в 2.1× от базовой линии до пересборки.

Для 6-недельного проекта с фиксированным объёмом работ — это результат, к которому я стремлюсь: сайт, который работает, быстрый и не мешает клиенту.


Если у вас WordPress-сайт, который тормозит, тяжело обновляется и теряет конверсии — математика пересборки обычно сходится. Запишитесь на 20-минутный звонок, и я честно скажу, подходит ли ваш случай для пересборки или хватит более лёгкого решения.