Blog di GitHub Pages dengan URL username.github.io memang sudah bisa diakses publik, tapi kalau kamu ingin terlihat lebih profesional, menggunakan custom domain sendiri adalah langkah yang tepat. Dengan domain seperti blog.namakamu.com, blog kamu terasa lebih personal dan mudah diingat.
Kabar baiknya, GitHub Pages menyediakan custom domain gratis lengkap dengan HTTPS otomatis via Let’s Encrypt.
Jenis Domain untuk GitHub Pages
Ada dua jenis domain yang bisa kamu gunakan:
- Apex domain — domain utama tanpa subdomain, contoh:
namakamu.com - Subdomain — contoh:
blog.namakamu.comatauwww.namakamu.com
Keduanya didukung GitHub Pages. Untuk blog pribadi, subdomain seperti blog.namakamu.com adalah pilihan yang paling umum dan fleksibel.
Prasyarat
- Domain yang sudah kamu beli (dari Namecheap, GoDaddy, Niagahoster, Domainesia, dll.)
- Akses ke panel manajemen DNS domain tersebut
- Repository GitHub Pages yang sudah aktif
Langkah 1: Tambahkan File CNAME ke Repository
Di root folder project Jekyll kamu, buat file bernama CNAME (tanpa ekstensi) dengan isi nama domain kamu:
blog.namakamu.com
Simpan dan push ke GitHub:
git add CNAME
git commit -m "add custom domain"
git push
Penting: File
CNAMEhanya boleh berisi satu baris — nama domain tanpahttp://atauhttps://.
Langkah 2: Konfigurasi DNS di Provider Domain
Ini berbeda tergantung jenis domain yang kamu gunakan.
Untuk Subdomain (blog.namakamu.com)
Tambahkan CNAME record di panel DNS:
| Type | Name | Value | TTL |
|---|---|---|---|
| CNAME | blog | username.github.io |
Auto / 3600 |
Ganti username dengan username GitHub kamu.
Untuk Apex Domain (namakamu.com)
Untuk apex domain, kamu tidak bisa menggunakan CNAME. Gunakan A records yang mengarah ke IP server GitHub Pages:
| Type | Name | Value | TTL |
|---|---|---|---|
| A | @ | 185.199.108.153 | Auto |
| A | @ | 185.199.109.153 | Auto |
| A | @ | 185.199.110.153 | Auto |
| A | @ | 185.199.111.153 | Auto |
Dan tambahkan juga CNAME untuk www:
| Type | Name | Value | TTL |
|---|---|---|---|
| CNAME | www | username.github.io |
Auto |
Langkah 3: Konfigurasi di GitHub Pages Settings
- Buka repository di GitHub
- Klik Settings → Pages
- Di bagian Custom domain, masukkan nama domain kamu (misalnya
blog.namakamu.com) - Klik Save
GitHub akan otomatis melakukan DNS check. Proses propagasi DNS biasanya membutuhkan waktu beberapa menit hingga 24 jam tergantung TTL dan provider DNS kamu.
Langkah 4: Aktifkan HTTPS
Setelah DNS berhasil diverifikasi, centang opsi Enforce HTTPS di halaman Settings → Pages.
GitHub Pages menggunakan Let’s Encrypt untuk menerbitkan sertifikat SSL secara otomatis dan gratis. Setelah HTTPS aktif, semua request ke http:// akan otomatis di-redirect ke https://.
Jika opsi “Enforce HTTPS” masih abu-abu (tidak bisa diklik), tunggu beberapa saat. GitHub sedang memproses penerbitan sertifikat SSL.
Langkah 5: Update _config.yml
Jangan lupa update URL di _config.yml agar link dan sitemap di blog kamu menggunakan domain baru:
url: "https://blog.namakamu.com"
baseurl: ""
Commit dan push perubahannya.
Tips: Menggunakan Domain dengan Cloudflare
Jika domain kamu dikelola di Cloudflare (bukan hanya Cloudflare Pages), ada satu hal yang perlu diperhatikan:
Nonaktifkan Cloudflare Proxy (orange cloud) untuk record CNAME ke GitHub Pages.
Set CNAME record ke mode DNS only (ikon abu-abu), bukan Proxied. Ini karena GitHub Pages perlu memverifikasi kepemilikan domain secara langsung untuk menerbitkan sertifikat SSL Let’s Encrypt.
blog CNAME username.github.io (DNS only - abu-abu)
Verifikasi Domain GitHub (Keamanan Tambahan)
GitHub juga menyediakan fitur Domain Verification untuk mencegah orang lain mengklaim domain kamu ke repository GitHub Pages mereka. Caranya:
- Buka Settings di akun GitHub kamu (bukan settings repository)
- Klik Pages di menu kiri
- Klik Add a domain dan ikuti instruksi untuk menambahkan TXT record ke DNS
Troubleshooting
DNS belum terpropagasi: Cek status propagasi di dnschecker.org. Masukkan domain dan pilih tipe record (A atau CNAME).
HTTPS tidak aktif setelah 24 jam: Pastikan DNS record sudah benar dan A records mengarah ke semua 4 IP GitHub Pages. Coba hapus custom domain di Settings dan tambahkan kembali.
Situs masih menampilkan username.github.io:
Pastikan file CNAME ada di root repository dan isinya sudah benar.
Kesimpulan
Menghubungkan custom domain ke GitHub Pages cukup sederhana: tambahkan file CNAME, konfigurasi DNS record, dan aktifkan HTTPS. Prosesnya paling lama membutuhkan waktu 24 jam untuk propagasi DNS, setelah itu blog kamu sudah tampil dengan domain sendiri lengkap dengan HTTPS gratis.
Kiki/🎮🍉⌨️🍩💻
Optimasi Gambar untuk Web: Cara Bikin Blog Lebih Cepat