Deploy Website Statis ke Cloudflare Pages, Gratis & Powerful! πβ‘
Ingin website statis kamu tampil cepat, aman, dan gratis selamanya? Cloudflare Pages jawabannya. Yuk deploy proyek kamu sekarang juga!
Tutorial Deploy Website Statis ke Cloudflare Pages - Gratis Selamanya!
Cloudflare Pages adalah salah satu platform hosting gratis terbaik untuk website statis. Dengan fitur unlimited bandwidth, SSL otomatis, dan integrasi Git yang mudah, platform ini sangat cocok untuk developer yang ingin hosting website tanpa biaya.
Dalam tutorial ini, saya akan menggunakan contoh nyata website saya minhphupham.com yang dibuat dengan Astro + TypeScript dengan custom component dan fitur-fitur modern.
β Persyaratan
Sebelum memulai, pastikan kamu sudah punya:
- Akun Cloudflare (gratis)
- Repository website di GitHub, GitLab, atau Bitbucket
- Website yang sudah siap deploy (dalam contoh ini: Astro project)
Langkah 1: Masuk ke Cloudflare Dashboard
- Login ke Cloudflare Dashboard
- Di sidebar kiri, pilih βWorkers & Pagesβ
- Klik tombol βCreate applicationβ
- Pilih tab βPagesβ
- Klik βImport an existing Git repositoryβ

Langkah 2: Hubungkan Repository
- Pilih Git provider (GitHub, GitLab, atau Bitbucket)
- Authorize Cloudflare untuk mengakses repository kamu
- Pilih repository yang berisi website yang ingin di-deploy
- Klik βBegin setupβ
Langkah 3: Konfigurasi Build Settings

Karena saya menggunakan Astro, berikut konfigurasi yang diperlukan:
Build Settings untuk Astro:
- Framework preset: Astro
- Build command:
npm run build(biasanya sudah terisi otomatis) - Build output directory:
dist(biasanya sudah terisi otomatis) - Root directory: (kosongkan jika project di root)
Environment Variables (Opsional):
Jika website kamu membutuhkan environment variables, tambahkan di bagian ini.
Langkah 4: Deploy!
- Review semua pengaturan
- Klik βSave and Deployβ
- Tunggu proses build selesai (biasanya 1-3 menit)
- Setelah selesai, kamu akan mendapat URL:
https://nama-project.pages.dev

Langkah 5: Setup Custom Domain (Opsional)
Jika kamu ingin menggunakan domain sendiri, ikuti langkah berikut:
A. Beli Domain
Beli domain dari provider seperti Namecheap, GoDaddy, Domainesia atau Niagahoster.
B. Tambahkan Domain ke Cloudflare
- Di Cloudflare Dashboard, pilih βWebsitesβ
- Klik βAdd a siteβ
- Masukkan nama domain kamu
- Pilih plan βFreeβ
- Cloudflare akan scan DNS records existing
C. Ganti Nameserver
- Cloudflare akan memberikan 2 nameserver, contoh:
anya.ns.cloudflare.combart.ns.cloudflare.com
- Login ke control panel domain provider kamu
- Ganti nameserver ke yang diberikan Cloudflare
- Tunggu propagasi DNS (bisa sampai 24 jam)
D. Hubungkan Domain ke Pages
- Kembali ke βWorkers & Pagesβ
- Pilih project kamu
- Klik tab βCustom domainsβ
- Klik βSet up a custom domainβ
- Masukkan domain kamu
- Klik βContinueβ
- Pilih βActivate domainβ
DNS record akan otomatis dibuat dan domain kamu akan aktif dalam beberapa menit.
Fitur Bonus Cloudflare Pages
π Built-in CI/CD Pipeline
Setiap kali kamu push ke branch utama, website akan otomatis ter-build dan deploy ulang tanpa perlu setup tambahan.
π§ͺ Preview Deployments
Setiap pull request akan mendapat preview URL tersendiri untuk testing sebelum merge.
π Analytics
Cloudflare menyediakan analytics gratis untuk traffic website kamu.
π SSL/TLS Gratis Otomatis
HTTPS otomatis aktif untuk semua domain.
π Edge Locations
Website kamu akan di-cache di 200+ lokasi di seluruh dunia.
β οΈ Batasan Build
Pada plan gratis, Cloudflare Pages membatasi hingga 500 builds per bulan tapi sangat cepat. (Kalau custom domain 100 builds per bulan) - referensi.
Tips dan Troubleshooting
| Masalah | Solusi |
|---|---|
| Build error | Cek build script, dependencies, dan logs |
| Website tidak update | Pastikan push ke branch yang di-track |
| Custom domain tidak aktif | Cek propagasi DNS & status nameserver |
Kenapa Pilih Cloudflare Pages?
Setelah mencoba berbagai platform hosting gratis, berikut perbandingan lengkap:
π Ranking Platform Hosting Gratis 2025
| Fitur / Platform | Cloudflare Pages | Netlify | Vercel | GitHub Pages | Surge.sh |
|---|---|---|---|---|---|
| Harga | Free, unlimited, no hidden cost | Free (100GB/month) | Free (100GB bandwidth/month) | Free, unlimited | Gratis (1 domain di free) |
| Build Minutes (Free) | β
Unlimited minutes β‘ (500 builds/month) | β 300 build minutes/month | β 100 build hours/month | β GitHub Actions (2000 mins) | β Instant (local build) |
| Deploy | Git-based CI/CD | Git-based CI/CD | Git-based CI/CD | Manual / GitHub Actions | Manual via CLI |
| Preview PR | β | β | β | β | β |
| Custom Domain | β Gratis | β Gratis & mudah | β Gratis & mudah | β Tapi SSL manual | β Gratis (limit 1 domain) |
| SSL Otomatis | β Cloudflare Native | β | β | β Manual (kecuali via CF) | β via Letβs Encrypt |
| CDN | 200+ PoP Cloudflare CDN | Netlify Global CDN | Edge CDN (Fastly/own infra) | GitHub CDN basic | Basic CDN (nggak edge-heavy) |
| Framework Support | Semua static site generator (JAMstack) | Semua static framework | Optimal buat Next.js | Jekyll / HTML | Semua static (HTML, Astro, etc) |
| Serverless Function | β (harus via Workers) | β Netlify Functions | β Vercel Edge Functions | β | β |
| Analytics | Basic CF Analytics | β | β | β | β |
| Uptime | Sangat stabil | Stabil | Stabil (kadang throttle) | Stabil | Cukup stabil |
| Keunggulan | Cepat, gratis, unlimited | Lengkap, bisa function | Best for Next.js | GitHub-native | Super ringan & cepat deploy |
| Kelemahan | Gak ada function built-in | Build minutes bisa cepat habis | Cepat limit, naik pricing | SSL manual, fitur terbatas | Gak ada preview, no CI/CD |
π₯ Cloudflare Pages (Juara Overall!)
β Kelebihan:
- Unlimited bandwidth - Tidak ada batasan sama sekali
- 200+ edge locations - Loading cepat di seluruh dunia (Ini yang membedakan dengan github-pages)
- Built-in CI/CD - Otomatis build & deploy dari Git
- SSL otomatis - HTTPS langsung aktif
- Analytics gratis - Web analytics lengkap
- DDoS protection - Keamanan enterprise level
- Preview deployments - URL preview untuk setiap PR
- Custom domains unlimited - Bisa tambah domain sebanyak-banyaknya
β Kekurangan:
- 500 builds/bulan limit. referensi
- Terbatas untuk project yang sering update
- Setup awal agak ribet untuk pemula
- Interface dashboard cukup kompleks
π Netlify (Terbaik untuk Pemula)
β Kelebihan:
- User-friendly - Interface paling mudah dipahami
- Drag & drop deploy - Bisa upload folder langsung
- Form handling - Bisa handle form submission
- Split testing - A/B testing built-in
β Kekurangan:
- 300 build minutes/bulan - Terbatas untuk project aktif
- 100GB bandwidth/bulan - Bisa habis kalau traffic tinggi
β‘ Vercel (Next.js Specialist)
β Kelebihan:
- Next.js native - Optimasi terbaik untuk Next.js
- Edge functions - Serverless functions di edge
- Fast builds - Build time sangat cepat
β Kekurangan:
- Commercial usage restriction - Gratis cuma untuk personal
- Expensive scaling - Harga naik drastis pas upgrade
π GitHub Pages (Simple & Reliable)
β Kelebihan:
- Super simple - Tinggal aktifkan di repository settings
- Jekyll integration - Built-in Jekyll support
- Version control - Terintegrasi langsung dengan Git
β Kekurangan:
- Static only - Tidak support serverless functions
- No analytics - Tidak ada web analytics
- Jekyll limitation - Secara default cuma support Jekyll
π― Cloudflare Pages menang karena
- Unlimited bandwidth
- Global CDN (200+ lokasi)
- Built-in CI/CD pipeline
- SSL otomatis + DDoS protection
- Analytics gratis
- Preview deployments
- Serverless functions support

Kesimpulan

Cloudflare Pages adalah solusi hosting gratis yang sangat powerful. Dengan setup yang mudah, performa yang cepat, dan fitur-fitur premium tanpa biaya, platform ini sangat cocok untuk website statis modern.
Kalau kamu butuh platform hosting yang:
- Gratis
- Cepat
- Aman
- Siap production
β¦maka Cloudflare Pages layak jadi pilihan utama.
Website minhphupham.com sendiri sudah live dan 100% served via Cloudflare. Performanya stabil dan bebas mikirin billing hosting! (modal domain aja hehe)
Selamat mencoba dan semoga website kamu sukses online! π
Rating dan perbandingan di atas merupakan opini pribadi berdasarkan pengalaman penggunaan.
Artikel ini menggunakan contoh deployment website Astro + TypeScript. Untuk framework lain seperti Next.js, Nuxt, atau Gatsby, prosesnya hampir sama dengan template yang berbeda.