Cara Pindah Hosting ke Cloudflare Pages Gratis
Banyak pemilik blog atau portfolio yang masih bayar hosting bulanan padahal konten mereka statis—HTML, CSS, JavaScript, atau static site generator (Hugo, Jekyll, Next.js). Jika itu situasi Anda, Cloudflare Pages menawarkan solusi gratis dengan performa global. Tapi migrasi butuh persiapan. Artikel ini jelaskan langkah demi langkah, plus kapan Pages cocok dan kapan sebaiknya tetap di hosting tradisional.
Apakah Cloudflare Pages Cocok untuk Anda?
Sebelum mulai, pastikan proyek Anda memenuhi syarat:
- Situs statis (HTML, CSS, JS tanpa server-side processing)
- Static site generator (Hugo, Jekyll, Gatsby, Next.js, Nuxt, 11ty, dll)
- Tidak perlu database atau backend API khusus
- Domain sudah ada atau siap beli (Cloudflare juga jual domain)
- Repo Git (GitHub, GitLab, Gitea) untuk deployment otomatis
Jika situs Anda pakai PHP, MySQL, atau perlu server-side logic (login, form processing), Cloudflare Pages bukan pilihan—Anda butuh hosting tradisional atau Vercel/Netlify berbayar.
Persiapan Sebelum Migrasi
1. Backup File Situs Lama
Download semua file dari hosting lama via FTP/SFTP atau cPanel File Manager. Simpan di folder lokal. Jika pakai database (misalnya untuk cache atau metadata), export dulu.
2. Siapkan Repository Git
Buat akun GitHub (atau GitLab/Gitea). Buat repository baru, push seluruh file situs ke sana. Jika situs pakai static site generator, pastikan file package.json (Node), Gemfile (Ruby), config.toml (Hugo), atau build config lain sudah ada.
Contoh struktur repo:
my-blog/
├── content/
├── public/
├── src/
├── package.json
├── .gitignore
└── README.md
3. Pastikan Build Process Jelas
Cloudflare Pages butuh tahu cara build situs Anda. Jika pakai static generator:
- Hugo: build command
hugo, output folderpublic - Jekyll: build command
jekyll build, output folder_site - Next.js: build command
npm run build, output folder.nextatauout - Gatsby: build command
gatsby build, output folderpublic
Jika situs murni HTML/CSS/JS tanpa build, output folder tinggal folder root atau folder public.
Langkah-Langkah Migrasi
Langkah 1: Daftar Cloudflare (Jika Belum)
- Buka cloudflare.com
- Klik Sign Up, isi email dan password
- Verifikasi email
- Pilih plan gratis (Free)
Langkah 2: Hubungkan Repository Git
- Login ke Cloudflare Dashboard
- Klik Pages di menu kiri
- Klik Create a project
- Pilih platform Git: GitHub, GitLab, atau Gitea
- Authorize Cloudflare untuk akses repository
- Pilih repository situs Anda
- Klik Begin setup
Langkah 3: Atur Build Settings
Cloudflare akan mendeteksi framework otomatis. Jika tidak:
- Framework preset: pilih yang sesuai (Next.js, Hugo, Jekyll, dll) atau None untuk HTML murni
- Build command: contoh
npm run build,hugo,jekyll build - Build output directory: folder hasil build, contoh
public,_site,.next/static - Root directory: biarkan
/jika file di root repo, atau isi path subfolder - Environment variables: jika situs butuh API key atau konfigurasi, isi di sini
Contoh untuk Next.js:
- Framework: Next.js
- Build command:
npm run build(ataunext build) - Build output directory:
.next
Contoh untuk Hugo:
- Framework: Hugo
- Build command:
hugo - Build output directory:
public
Langkah 4: Deploy Pertama
- Klik Save and Deploy
- Cloudflare akan pull repo, menjalankan build command, dan deploy otomatis
- Tunggu proses selesai (biasanya 1–5 menit)
- Saat berhasil, Anda dapat URL
.pages.devgratis, contohmy-blog.pages.dev
Langkah 5: Arahkan Domain
Opsi A: Domain sudah di Cloudflare
- Buka domain settings di Cloudflare Dashboard
- Cari CNAME record
- Buat record baru:
- Name:
www(atau subdomain lain) - Target:
my-blog.pages.dev - Proxy status: Proxied (awan orange)
- Name:
- Untuk apex domain (
example.comtanpawww), tambah CNAME Flattening atau gunakan ALIAS record (jika supported)
Opsi B: Domain di registrar lain
- Login ke registrar (Niagahoster, IDCloudhost, Namecheap, dll)
- Ubah nameserver ke Cloudflare:
maya.ns.cloudflare.comnash.ns.cloudflare.com
- Tunggu propagasi (1–48 jam)
- Di Cloudflare, tambah CNAME record seperti Opsi A
Opsi C: Beli domain di Cloudflare
- Di Cloudflare Dashboard, klik Domain Registration
- Cari domain, beli
- Cloudflare otomatis setup DNS
- Tambah CNAME record untuk Pages
Langkah 6: Setup SSL/TLS
Cloudflare otomatis memberikan SSL gratis. Pastikan:
- Di SSL/TLS settings, pilih mode Full atau Full (strict)
- Tunggu certificate issued (biasanya instan)
- Test situs dengan
https://example.com
Perbandingan: Cloudflare Pages vs Hosting Tradisional
| Aspek | Cloudflare Pages | Hosting Tradisional |
|---|---|---|
| Harga | Gratis (unlimited bandwidth) | Rp 30–200rb/bulan |
| Tipe Situs | Statis saja | Statis + dinamis (PHP, MySQL) |
| Deployment | Otomatis dari Git | Manual FTP atau Git |
| Uptime | 99.9%+ (global CDN) | Tergantung provider |
| SSL | Gratis, otomatis | Gratis (Let's Encrypt) atau berbayar |
| Skalabilitas | Unlimited (global) | Terbatas resource |
| Kontrol Server | Tidak ada | Full akses |
| Build Time | Unlimited, gratis | N/A |
| Custom Backend | Tidak (Pages Functions terbatas) | Bisa PHP, Node, Python |
Kelebihan Pindah ke Cloudflare Pages
✓ Gratis selamanya tanpa hidden cost
✓ Global CDN otomatis, loading cepat di mana saja
✓ Deployment otomatis setiap push ke Git—tidak perlu FTP
✓ SSL gratis dan auto-renewal
✓ Unlimited bandwidth dan request
✓ Preview deployment untuk setiap branch atau PR
✓ Analytics built-in (terbatas tapi cukup)
Kekurangan & Batasan
✗ Situs statis saja—tidak support PHP, MySQL, atau server-side logic
✗ Build time limit 20 menit per deploy (Pages Functions berbayar untuk fitur lanjut)
✗ Tidak ada cPanel/panel control tradisional
✗ Migrasi database butuh convert ke static atau API external
✗ Learning curve untuk Git dan build tools
✗ Pages Functions (serverless) gratis tapi terbatas—lebih dari itu harus berbayar
Kapan Tetap Gunakan Hosting Tradisional?
- Situs butuh PHP, MySQL, atau backend custom
- Perlu cPanel untuk manage email, subdomain, database
- Situs dinamis dengan user login, form processing, atau CMS tradisional (WordPress, Drupal)
- Tidak nyaman dengan Git dan command line
- Perlu support lokal dalam Bahasa Indonesia
Tips Migrasi Lancar
- Test di staging dulu — deploy ke branch testing sebelum production
- Redirect old URLs — jika struktur URL berubah, setup 301 redirect di Cloudflare Workers atau via
_redirectsfile. Jika Anda juga mengelola server Nginx sendiri, panduan tentang nginx rate limiting configuration dari systemary.io bisa berguna untuk mengamankan endpoint sebelum migrasi penuh. - Monitor analytics — pastikan traffic tercatat dengan benar
- Setup email forwarding — Cloudflare bisa forward email dari domain Anda
- Jangan hapus hosting lama sampai yakin semua berfungsi
Vonis
Cloudflare Pages adalah pilihan tepat untuk blog statis, portfolio, landing page, atau dokumentasi yang tidak perlu backend. Gratis, cepat, dan deployment otomatis dari Git membuat maintenance jadi ringan. Cocok untuk developer yang sudah familiar Git dan static site generator.
Tapi jika situs Anda dinamis (WordPress, toko online dengan database, atau butuh PHP), tetap gunakan hosting tradisional lokal seperti Niagahoster atau IDCloudhost—harga masih terjangkau (Rp 50–100rb/bulan) dan support Bahasa Indonesia lebih mudah. Jika Anda juga ingin meningkatkan visibilitas situs setelah migrasi, pertimbangkan untuk menggunakan jasa SEO teknis profesional agar performa situs baru Anda optimal di mesin pencari.
Runner-up untuk situs dinamis gratis: Vercel (Next.js), Netlify (semua framework, tapi build limited), atau Railway (backend + database)—tapi tetap ada batasan dan upsell.
Mulai migrasi hari ini: push repo ke GitHub, connect ke Cloudflare Pages, dan nikmati hosting gratis dengan performa global. Tidak ada alasan lagi bayar hosting untuk situs statis.