0$ за сайт в интернете
Cloudflare Pages + SvelteKit static adapter + git push вместо CI/CD. DNS, CDN и хостинг — 0 рублей в месяц. Разбираю связку на примере своего сайта.
Мой сайт обновляется через ~24 секунды после git push — без CI, без VPS и без ручного деплоя. А вся инфраструктура вокруг — домен, DNS, CDN, хостинг и автодеплой — стоит ровно 0 рублей в месяц, если не считать саму регистрацию домена. На этой связке работает сайт, который вы сейчас читаете.
Статика вместо SSR
Для лендинга и блога-визитки SSR не нужен: контент не персонализируется и не меняется на лету, а значит его можно отдавать как готовые HTML-файлы прямо с CDN — без сервера, который надо поддерживать. В vite.config.ts это буквально одна строчка конфигурации адаптера:
import adapter from '@sveltejs/adapter-static'; sveltekit({ adapter: adapter({ pages: 'build', assets: 'build', fallback: undefined, precompress: false, strict: true }) })fallback: undefined и strict: true — это защита от самого себя: сборка упадёт с ошибкой, если в проекте случайно появится страница, которую нельзя пререндерить в статику. Для лендинга это ровно то поведение, которое нужно — лучше увидеть ошибку на билде, чем сломанный роут в проде.
Автодеплой за 24 секунды
Никакого отдельного CI — Cloudflare Pages подключается к GitHub-репозиторию нативно через дашборд: указываешь команду сборки (vite build) и папку с результатом (build, как в конфиге адаптера выше), и на каждый пуш в ветку он сам клонирует репозиторий, собирает и выкладывает. Вот лог последнего деплоя этого сайта:
Никакого .github/workflows, секретов в GitHub Actions или отдельного шага деплоя — всё это Cloudflare Pages берёт на себя сам.
Результат: Google PageSpeed Insights
Проверка через PageSpeed Insights (десктоп) — 100 баллов по всем четырём категориям: производительность, специальные возможности, рекомендации и поисковая оптимизация. First Contentful Paint и Largest Contentful Paint — по 0,4 сек., Cumulative Layout Shift — 0, Total Blocking Time — 0 мс, Speed Index — 0,5 сек. Для статики, отдаваемой прямо с CDN без сервера и без гидратации лишнего JS, это ожидаемый результат — но приятно видеть цифры подтверждёнными, а не просто предполагать их.
Итого
Для простого статичного сайта вся эта связка обходится в стоимость домена — и ни рубля больше. Если у тебя SvelteKit-проект без SSR-специфики: включи adapter-static, подключи репозиторий в Cloudflare Pages напрямую из дашборда и перенеси NS-записи домена на Cloudflare. Дальше git push — единственная DevOps-операция, которая тебе понадобится.
Исходники: github.com/surofu/stanislav-smirnov