Сайт для Грузии на российском хостинге: перенесли магазин с Vercel на RelaxDev за вечер и получили 100/100 в PageSpeed
Мы делаем Bazari Ara — интернет-магазин в Тбилиси: грузинский мёд, чай, чурчхела, вино и снаряжение для походов, доставка по городу за два часа. Покупатели в основном в Грузии, часть — в России.
Год сайт жил на Vercel. Удобно, быстро запускается, бесплатно — пока не начали упираться в лимиты базы и процессора.
Дальше только платный тариф за 20 $ в месяц. Мы перенесли его на RelaxDev и думали, что просто сэкономим эти 20 $. Оказалось — выиграли всё сразу:
- ✅ сайт снова открывается из России, а из Тбилиси отвечает быстрее, чем на Vercel;
- ✅ 100 из 100 в PageSpeed Insights, в скорости и в анализе сайта PR-CY;
- ✅ страница легче в 7 раз;
- ✅ не считаем лимиты ресурсов на Vercel и уверены, что на праздники сайт не ляжет.
Рассказываем, как переехали, что перед этим замеряли и на какие грабли наступили.
Что было не так с Vercel
- Сайт не открывался в России. У обычных провайдеров и мобильных операторов — пустой экран. Это и стало главной причиной переноса.
- Холодный старт. Если на сайт давно никто не заходил, первый посетитель ждал ответа сервера 1,5–3,5 секунды.
- Квота на картинки. Оптимизация изображений на Vercel ограничена квотой, и она выгорала за пару дней. Пришлось её выключить, и каталог отдавал фотографии по 100–450 КБ вместо пары десятков.
- Старые цены. Vercel подолгу держал карточки товаров в кэше: цену поменяли, а покупатель видит прежнюю.
- Отдельная база. Бесплатный тариф Neon упирался в лимиты, а платить за базу отдельно от хостинга не хотелось.
Куда переезжать: сначала замерили
Казалось бы, раз покупатели в Грузии, сервер надо ставить поближе, например в Турции. Мы проверили три варианта — Турцию, Польшу и Россию. Мерили сервисом Globalping с трёх точек в Тбилиси и трёх в Москве и Петербурге.
Турция хороша по сети, но с мобильного интернета в России сайт на турецком сервере не открывался. А канал «Турция → Россия» иногда соединялся по пять секунд. Польша — лишний крюк. Сервер RelaxDev в России отвечает Тбилиси за 0,12–0,14 с. Это быстрее, чем Vercel со своей точкой прямо в Тбилиси: у Vercel каждый раз мог случиться холодный старт.
Урок, который стоил нам вечера: база должна стоять рядом с приложением. Пока приложение уже работало в Москве, а база оставалась во Франкфурте, страница из Тбилиси открывалась 8,5–9,6 секунды. Сначала переносите базу, потом меряйте.
Не только для России
Главное, чего мы опасались: российский хостинг — значит, сайт для России. На деле нет.
- Блокировок из других стран нет. Сайт открывается из Грузии, Европы и откуда угодно. Из Тбилиси — за 0,12–0,14 с, наши покупатели разницы не заметили, кроме того что стало быстрее.
- Внешние сервисы работают. Уведомления в Telegram, почта, внешние API — всё, что сайт вызывает наружу, работает как раньше.
- Вебхуки — по кнопке. В панели RelaxDev есть приёмник вебхуков: Telegram и другие сервисы доставляют туда надёжнее, а приёмник пересылает запрос в проект. Адрес не меняется при пересборках.
Переезд: четыре шага
1. Переменные окружения. Выгрузили из Vercel одной командой и загрузили файлом в панель RelaxDev:
2. База. Импорт по строке подключения Neon — данные переехали сами.
3. Код. На Vercel каждый запрос обрабатывает отдельная функция, а здесь приложение работает одним постоянным процессом. Под это хватило трёх правок в подключении к базе: SSL по строке подключения, пул соединений вместо одного и долой настройку, нужную только Neon.
4. DNS. У регистратора домена .ge нашлась скрытая запись Vercel, которой не было видно в панели. Часть посетителей попадала на старый сайт. Перевели DNS на Cloudflare в режиме «DNS only»: там все записи видны, а трафик идёт напрямую на сервер.
Сюрприз: после переезда стало медленнее
PR-CY поставил 79 баллов — меньше, чем на Vercel (87). Сервер стал отвечать быстрее, но страница весила 5,5 МБ, из них 4,7 МБ — фотографии. Переезд не ускоряет то, что тяжело само по себе.
Подробный разбор каждой правки, с замерами до и после, — в нашем блоге: Год на Vercel и один вечер переезда
Зато на своём сервере наконец можно было сделать то, во что на Vercel упирались квоты.
Больше всего дали картинки и новая главная. Раньше главная сразу показывала весь каталог. Теперь на первом экране текст и поиск, ниже — разделы, а их фото подгружаются, когда до них долистают.
Счётчики Google и Метрики теперь стартуют, когда человек начал листать или нажимать, либо через 5 секунд. Честно: кто закрыл страницу за 5 секунд и ни разу её не тронул, в статистику не попадёт. Нас это устраивает.
Что получилось
Сначала общая картина — что было и что стало:
Теперь по сервисам. Сразу после переезда PR-CY поставил 79 — тот самый сюрприз:
После оптимизации — 100:
Анализ сайта в PR-CY — тоже 100, без ошибок и предупреждений:
И PageSpeed от Google. Здесь отдельно порадовала новая категория «Агентный просмотр»: она проверяет, насколько сайтом удобно пользоваться AI-агентам. У нас 3 из 3.
Все отчёты открыты — можно перепроверить:
- PageSpeed Insights: https://pagespeed.web.dev/analysis/https-bazariara-ge-ru/xe3ssq4poa?form_factor=mobile
- PR-CY, скорость: https://pr-cy.ru/speed_test/?device=mobile&url=https%3A%2F%2Fbazariara.ge%2Fru
- PR-CY, анализ сайта: https://a.pr-cy.ru/bazariara.ge/
Грабли, на которые мы наступили
Сам переезд занял вечер. Следующие дни ушли на то, что всплыло потом. Если переезжаете, проверьте у себя.
В sitemap осталось 30 адресов из 928. Next собирал карту сайта во время сборки, а базы при сборке не было, и ошибка проглатывалась молча. Проверить можно одной командой:
Уведомления в Telegram заработали не с первого раза. После переезда бот перестал присылать заказы и отвечать в чате поддержки. Решили в панели: включили приёмник вебхуков и сетевые настройки для исходящих запросов. Одна тонкость: приёмник ставит вебхук с секретом из переменных проекта, и сайт должен проверять именно его — у нас сначала были ошибки 401.
Поле телефона теряло заказы. Вставляешь «+7 989 999-33-99» — получаешь обрезанный номер, и заказ не уходит. Переписали: теперь номер можно вставить как угодно, а страна определяется сама. Вставьте свой номер в форму заказа и проверьте.
100 баллов — ещё не значит «лучше». Встроили стили прямо в страницу, и PageSpeed поставил 100. Потом выяснилось, что Next вписывает их трижды: 121 КБ из 232 КБ HTML были стилями. Вынесли в отдельный файл — HTML стал 110 КБ, оценка осталась 100.
Чек-лист, если тоже уезжаете с Vercel
- Замерьте ответ сервера из тех городов, где ваши покупатели, а не из своего.
- Переносите базу вместе с приложением.
- Проверьте DNS у регистратора: старые записи могут прятаться.
- Посчитайте адреса в sitemap до и после.
- Пройдитесь по переменным окружения, особенно NEXT_PUBLIC_.
- Проверьте интеграции — Telegram, почту, вебхуки — и включите приёмник вебхуков в панели.
- Оформите тестовый заказ с телефона.
Что дальше
Через месяц расскажем главное — что переезд дал бизнесу.
В конце октября покажем изменение Метрик: трафик из поиска, из других источников, географию посетителей. Ниже текущие метрики
Подробный разбор оптимизации со всеми таблицами — в блоге RelaxDev.
Подписывайтесь, чтобы не пропустить.
А если переезжали с Vercel сами, расскажите в комментариях, на что наткнулись вы.
p.s. Скрины замеров "До" сохраняйте сразу, потом их не сделать)