Cara Mengarahkan Domain ke GitHub (Panduan Lengkap)

Membangun portofolio, dokumentasi, atau situs web statis saat ini menjadi jauh lebih efisien berkat adanya layanan hosting gratis seperti GitHub Pages. Namun, URL bawaan seperti username.github.io sering kali dirasa kurang profesional, terutama jika Anda sedang membangun kredibilitas merek atau identitas bisnis. Oleh karena itu, memahami cara mengarahkan domain ke GitHub adalah keterampilan teknis esensial yang akan mengubah alamat web default tersebut menjadi nama domain kustom milik Anda sendiri (misalnya, namasitusanda.com).

Banyak pengembang dan administrator sistem memilih GitHub Pages karena infrastrukturnya yang cepat, aman, dan sepenuhnya gratis. Tanpa perlu menyewa server konvensional atau repot memikirkan pemeliharaan backend, Anda sudah bisa memiliki situs yang terdistribusi secara global. Panduan komprehensif ini akan membahas setiap langkah, mulai dari persiapan repositori, konfigurasi DNS tingkat lanjut, hingga proses penyelesaian masalah (troubleshooting) jika terjadi kendala propagasi.

1. Memahami Konsep Dasar GitHub Pages dan DNS

Sebelum kita masuk ke langkah praktis, ada baiknya kita membedah sedikit apa yang sebenarnya terjadi di balik layar ketika Anda menghubungkan domain ke server GitHub.

GitHub Pages pada dasarnya adalah layanan hosting situs statis yang mengambil kode HTML, CSS, dan JavaScript langsung dari repositori Anda, lalu mempublikasikannya. Ketika Anda membeli sebuah domain dari registrar (seperti penyedia lokal atau global), domain tersebut ibarat sebuah alamat rumah kosong yang belum tahu harus mengarah ke bangunan mana.

Untuk menghubungkan “alamat” (domain) dengan “bangunan” (server GitHub), kita membutuhkan sistem penterjemah yang disebut DNS (Domain Name System). Dalam proses ini, ada dua jenis record DNS yang paling krusial:

  • A Record (Address Record): Ini bertugas mengarahkan Apex Domain atau Root Domain (seperti domainanda.com tanpa ‘www’) langsung ke alamat IP fisik dari server GitHub.
  • CNAME Record (Canonical Name): Ini digunakan untuk mengarahkan subdomain (seperti [www.domainanda.com](https://www.domainanda.com) atau blog.domainanda.com) ke URL asal GitHub Pages Anda.

Memahami perbedaan kedua record ini sangat penting agar situs Anda dapat diakses baik menggunakan awalan WWW maupun tanpa WWW.

2. Persiapan Sebelum Memulai Konfigurasi

Untuk memastikan proses integrasi berjalan mulus tanpa hambatan, ada beberapa prasyarat yang harus Anda siapkan di atas meja:

  1. Akses ke Akun GitHub: Pastikan Anda sudah memiliki repositori yang berisi file web statis (minimal sebuah file index.html).
  2. Domain Aktif: Anda harus sudah membeli dan memiliki akses penuh ke panel kontrol domain (DNS Manager) dari registrar pilihan Anda. Jika Anda menggunakan panel kontrol web hosting seperti cPanel atau DirectAdmin, pastikan Anda bisa mengakses menu “DNS Zone Editor”.
  3. Kesabaran: Perubahan DNS di seluruh internet memerlukan waktu. Proses yang disebut propagasi ini bisa memakan waktu mulai dari 5 menit hingga maksimal 24 jam.

3. Langkah Pertama: Mengonfigurasi Repositori di GitHub

Langkah praktis pertama dalam cara mengarahkan domain ke GitHub dimulai dari sisi server tempat file Anda berada. Kita harus memberi tahu GitHub bahwa repositori tertentu akan menggunakan nama domain kustom.

  1. Buka browser Anda dan login ke akun GitHub.
  2. Navigasikan ke repositori yang ingin Anda jadikan situs web. Jika ini adalah situs utama profil Anda, repositori biasanya bernama username.github.io.
  3. Di dalam halaman repositori tersebut, perhatikan deretan menu di bagian atas, lalu klik tab Settings (ikon roda gigi).
  4. Pada menu navigasi di sebelah kiri, gulir ke bawah hingga Anda menemukan bagian Pages (berada di bawah kategori Code and automation).
  5. Di halaman GitHub Pages, Anda akan melihat kolom bertuliskan Custom domain.
  6. Ketikkan nama domain lengkap Anda di kolom tersebut. Contoh: domainanda.com (tanpa menambahkan http:// atau https://).
  7. Klik tombol Save.

Setelah tombol simpan ditekan, GitHub akan melakukan dua hal secara otomatis. Pertama, ia akan membuat sebuah file bernama CNAME di root repositori Anda. File ini hanya berisi satu baris teks berupa nama domain Anda. Kedua, sistem GitHub akan mulai melakukan pengecekan DNS, yang pada tahap ini pasti akan gagal (DNS check failed) karena kita belum mengatur panel domainnya. Jangan panik, ini adalah respons yang sangat normal.

4. Langkah Kedua: Konfigurasi DNS di Panel Domain

Ini adalah inti dari seluruh proses. Anda harus masuk ke panel pengelolaan domain. Tampilan panel setiap penyedia (registrar) akan berbeda-beda, entah itu Cloudflare, cPanel, DirectAdmin, atau panel bawaan registrar. Namun, prinsip kerjanya 100% sama. Anda harus mencari menu bernama DNS Management, DNS Zone Editor, atau Kelola DNS.

Setelah menemukan menu tersebut, Anda harus menambahkan empat buah A Record dan satu buah CNAME Record. Mengapa harus empat A Record? GitHub menyediakan infrastruktur load balancing dengan empat alamat IP berbeda untuk memastikan situs Anda tetap online meskipun salah satu server mereka sedang mengalami gangguan.

Menambahkan A Record untuk Root Domain

Hapus terlebih dahulu A record lama yang mengarah ke parking page registrar Anda jika ada. Lalu, buat record baru dengan konfigurasi berikut:

  • Tipe Record: A
  • Host / Name:@ (Simbol ‘@’ mewakili domain utama Anda. Jika panel tidak mengizinkan ‘@’, biarkan kosong atau ketikkan nama domain Anda secara penuh).
  • Points to / IPv4 Address:185.199.108.153
  • TTL (Time to Live): Biarkan default (biasanya 14400 atau Auto).

Ulangi langkah di atas sebanyak tiga kali lagi untuk menambahkan tiga alamat IP GitHub lainnya secara berurutan:

  • 185.199.109.153
  • 185.199.110.153
  • 185.199.111.153

Pastikan keempat IP tersebut sudah tersimpan di dalam DNS Zone Anda. Dengan konfigurasi ini, ketika seseorang mengetikkan domainanda.com di browser, permintaan mereka akan diteruskan secara acak ke salah satu dari empat server GitHub tersebut.

Menambahkan CNAME Record untuk Subdomain (WWW)

Langkah selanjutnya adalah memastikan orang yang mengetik dengan awalan ‘www’ tetap bisa mengakses situs Anda.

  • Tipe Record: CNAME
  • Host / Name:www
  • Points to / Target:username.github.io (Ganti ‘username’ dengan nama pengguna GitHub Anda yang sebenarnya. Pastikan tidak mengetik nama domain kustom Anda di sini, melainkan alamat asli GitHub Pages Anda).

Catatan penting untuk pengguna Cloudflare: Jika Anda menggunakan Cloudflare sebagai manajemen DNS, pastikan status “Proxy status” (ikon awan oranye) dimatikan menjadi “DNS only” (awan abu-abu) sementara waktu selama proses verifikasi GitHub berlangsung. Anda bisa menyalakannya kembali setelah sertifikat SSL diterbitkan.

5. Menunggu Propagasi DNS dan Mengecek Status

Setelah pengaturan di panel DNS selesai, hal terberat yang harus dilakukan adalah menunggu. Seperti yang disinggung sebelumnya, internet membutuhkan waktu untuk memperbarui direktori alamat (cache) secara global.

Bagi Anda yang terbiasa dengan terminal Linux atau command prompt, Anda bisa memverifikasi apakah propagasi sudah berjalan menggunakan perintah utilitas jaringan:

Menggunakan nslookup (Windows/Linux):

nslookup domainanda.com

Menggunakan dig (Linux/macOS):

dig +short A domainanda.com

Jika output dari perintah di atas mengembalikan empat deret IP (185.199.108.153, dsb), itu artinya propagasi dari sisi Anda sudah berhasil. Anda bisa kembali ke halaman Settings > Pages di repositori GitHub Anda. Halaman tersebut kini seharusnya menampilkan pesan berlatar hijau yang menyatakan bahwa DNS check successful.

6. Mengamankan Situs Anda dengan HTTPS (Enforce HTTPS)

Keamanan web saat ini bukanlah sebuah opsi tambahan, melainkan standar mutlak. Google dan mesin pencari lainnya akan memberikan peringatan keamanan yang menakutkan bagi pengunjung jika situs Anda tidak memiliki sertifikat SSL.

Kabar baiknya, GitHub bekerja sama dengan otoritas sertifikat Let’s Encrypt untuk menyediakan SSL gratis bagi semua pengguna GitHub Pages, termasuk yang menggunakan custom domain.

  1. Kembali ke menu pengaturan Pages di repositori Anda.
  2. Di bawah kolom Custom domain, Anda akan menemukan opsi kotak centang (checkbox) bertuliskan Enforce HTTPS.
  3. Centang kotak tersebut.

Catatan Teknis Terkait SSL: Terkadang, opsi “Enforce HTTPS” ini tidak bisa langsung diklik (berwarna abu-abu) segera setelah Anda menyimpan custom domain. Hal ini wajar. GitHub sedang dalam proses melakukan permintaan (request) dan menerbitkan sertifikat di latar belakang. Proses ini bisa memakan waktu 15 hingga 60 menit setelah konfigurasi DNS Anda dianggap valid. Silakan refresh halaman tersebut secara berkala hingga opsi tersebut bisa dicentang. Setelah dicentang, seluruh trafik HTTP secara otomatis akan dipaksa (redirected) menuju koneksi HTTPS yang aman.

7. Menggunakan Subdomain Selain WWW (Praktik Lanjutan)

Banyak pengguna tidak ingin mengarahkan domain utama mereka ke GitHub. Misalnya, Anda memiliki portal berita atau aplikasi bisnis di domainanda.com yang berada di server VPS terpisah (seperti Proxmox atau AlmaLinux), tetapi Anda ingin agar halaman dokumentasi atau blog statis berada di GitHub Pages.

Dalam kasus ini, Anda mungkin ingin menggunakan URL seperti docs.domainanda.com atau blog.domainanda.com. Cara mengarahkan domain ke GitHub untuk kasus subdomain spesifik ini jauh lebih sederhana:

  1. Di GitHub, masukkan nama subdomain secara penuh ke kolom Custom domain (misalnya: docs.domainanda.com).
  2. Di panel DNS Anda, Anda tidak perlu menggunakan keempat A Record (IP).
  3. Cukup buat satu buah CNAME Record:
    • Name/Host: docs
    • Target: username.github.io

Pendekatan ini sangat sering digunakan dalam arsitektur sistem informasi enterprise dan perusahaan ISP lokal, karena memungkinkan pemisahan infrastruktur yang rapi antara aplikasi dinamis dan halaman statis tanpa harus menambah beban pada server utama.

8. Panduan Pemecahan Masalah (Troubleshooting Guide)

Meski langkah-langkah di atas sudah cukup lugas, masalah teknis bisa saja muncul. Berikut adalah beberapa skenario error yang paling sering ditemui dan cara memperbaikinya:

Error: “Domain is already taken”

Pesan ini muncul jika domain Anda sebelumnya sudah pernah didaftarkan ke repositori GitHub lain, baik oleh Anda sendiri di masa lalu, atau oleh pemilik domain sebelumnya. Anda harus mencari repositori lama tersebut dan menghapus custom domain dari pengaturan Pages-nya. Jika Anda baru membeli domain dan langsung mendapatkan error ini, Anda harus menghubungi GitHub Support untuk meminta mereka melepaskan domain tersebut dengan memberikan bukti kepemilikan domain (screenshot panel registrar).

Situs Menampilkan Error 404 (Page Not Found)

Jika Anda bisa mengakses domain Anda namun yang muncul adalah halaman 404 khas GitHub, ini berarti koneksi DNS sudah berhasil, tetapi GitHub tidak bisa menemukan file utama di repositori Anda.

  • Pastikan file HTML utama Anda bernama persis index.html (huruf kecil semua). File Index.html atau main.html tidak akan dibaca secara otomatis sebagai halaman beranda.
  • Pastikan Anda menempatkan file tersebut di root direktori, atau jika Anda menyimpannya di dalam folder /docs, pastikan Anda memilih opsi /docs pada pengaturan source branch di menu GitHub Pages.

Browser Menampilkan Peringatan SSL / Privacy Error

Jika Anda memaksa mengakses situs melalui https:// saat sertifikat belum sepenuhnya terbit, browser akan menolak koneksi. Solusinya hanyalah menunggu. Jangan mengubah pengaturan DNS kembali secara gegabah, karena hal tersebut justru akan me-reset antrian penerbitan sertifikat SSL Anda dari awal.

Repositori Mengabaikan File dan Folder Tertentu

Secara default, GitHub Pages menggunakan engine Jekyll untuk membangun situs statis. Jekyll memiliki aturan khusus, yaitu mengabaikan folder dan file yang diawali dengan garis bawah (underscore, contoh: _assets atau _vendor). Jika Anda tidak menggunakan Jekyll dan hanya mengunggah file HTML biasa atau hasil build dari framework lain (seperti React, Vue, atau Hugo), Anda harus menambahkan sebuah file kosong bernama .nojekyll di root repositori Anda. Ini akan mematikan proses Jekyll dan memaksa GitHub membaca seluruh folder Anda apa adanya.

9. Menambahkan Halaman Error 404 Kustom

Sebagai bagian dari optimasi SEO dan User Experience (UX), menampilkan halaman 404 bawaan GitHub sangat tidak direkomendasikan. Anda dapat dengan mudah membuat halaman 404 sendiri yang terintegrasi dengan desain situs Anda.

Caranya sangat mudah. Buat sebuah file baru bernama 404.html di direktori utama repositori Anda. GitHub Pages akan secara cerdas mengenali file ini dan menampilkannya setiap kali ada pengunjung yang mengakses URL rusak (broken link) atau halaman yang tidak eksis di domain Anda. Pada file tersebut, Anda bisa menyisipkan tautan navigasi untuk membimbing pengunjung kembali ke halaman beranda, yang sangat krusial untuk mempertahankan tingkat bounce rate yang sehat di mata analitik.

10. Perbandingan Kinerja: GitHub Pages vs Web Hosting Konvensional

Mengapa banyak administrator sistem dan penggiat web beralih ke GitHub Pages untuk website statis? Berdasarkan data pengelolaan arsitektur server, hosting berbasis cPanel atau DirectAdmin memiliki beban operasional yang harus dipantau, mulai dari utilitas CPU, RAM, limit inode, hingga pengelolaan modul PHP dan database MariaDB/MySQL.

Sebaliknya, GitHub Pages bekerja murni pada lapisan web server (melayani konten statis). Keuntungannya meliputi:

  1. Downtime Hampir Nol: Didukung oleh infrastruktur global milik Microsoft.
  2. Keamanan Berlapis: Tidak ada database yang bisa disuntik (SQL Injection) dan tidak ada sistem manajemen konten (CMS) tradisional yang bisa diretas melalui kerentanan plugin.
  3. Kendali Versi Git: Setiap perubahan teks, artikel, atau kode akan memiliki rekam jejak. Jika terjadi kesalahan, Anda bisa melakukan rollback ke versi sebelumnya (commit terdahulu) hanya dalam hitungan detik.

Namun, keterbatasan utamanya adalah Anda tidak bisa menjalankan skrip sisi-server seperti PHP atau menyimpan data melalui formulir lokal tanpa menggunakan layanan API pihak ketiga. Oleh sebab itu, sebelum menerapkan langkah dalam artikel ini, pastikan infrastruktur web Anda memang ditujukan untuk menampilkan data yang bersifat tidak berubah-ubah (statis).

Kesimpulan

Menjadikan situs portofolio, web perusahaan, atau blog Anda tampil lebih profesional tidak memerlukan infrastruktur yang rumit atau berbiaya tinggi. Dengan mempraktekkan cara mengarahkan domain ke GitHub yang telah diuraikan di atas, Anda memanfaatkan teknologi Global Content Delivery secara cuma-cuma.

Selama Anda mengikuti aturan dasar konfigurasi DNS secara cermat—menetapkan keempat IP A Record untuk domain utama dan menautkan CNAME untuk subdomain—situs Anda akan terdistribusi dengan aman melalui protokol HTTPS otomatis. Mulailah mengadopsi kontrol versi untuk situs Anda hari ini, dan nikmati manajemen konten web statis dengan skalabilitas luar biasa bersama GitHub.

Leave a Comment