HOSTING CEPATDOMAIN MURAHSSL GRATISSUPPORT 24/7UPTIME 99.9%SERVER INDONESIAHOSTING CEPATDOMAIN MURAHSSL GRATISSUPPORT 24/7UPTIME 99.9%SERVER INDONESIA
Web Hosting

Tutorial GitHub Pages: Cara Hosting Website Gratis dengan GitHub

Tim HostingEkspres|23 Mei 2026|12 menit baca
github pages tutorialhosting website gratis githubcara deploy website ke github pagesgithub pages custom domaingithub pages jekyllhosting gratis indonesiadeploy website gratisgithub pages https
Tutorial GitHub Pages: Cara Hosting Website Gratis dengan GitHub
📚 Baca juga: Cara Membuat Website dengan Jekyll | Cara Membuat Website dengan Hugo | Hosting Gratis

Apa Itu GitHub Pages?

GitHub Pages adalah layanan hosting website statis gratis yang disediakan oleh GitHub. Dengan GitHub Pages, Anda bisa mempublikasikan website langsung dari sebuah repository GitHub - tanpa biaya, tanpa konfigurasi server, dan tanpa perlu memahami cPanel atau FTP.

Disclosure: Beberapa link di artikel ini mengarah ke layanan HostingEkspres atau partner kami. Jika Anda melakukan pembelian melalui link tersebut, kami mungkin menerima komisi tanpa biaya tambahan untuk Anda. Konten dan rekomendasi di artikel ini independen dan didasarkan pada pengujian serta pengalaman tim kami.

GitHub Pages mendukung file HTML, CSS, JavaScript, dan website yang dibangun dengan static site generator seperti Jekyll (dukungan bawaan) atau Hugo (via GitHub Actions). Setiap akun GitHub mendapatkan:

  • 1 website pengguna/organisasi di URL username.github.io
  • Unlimited website proyek di URL username.github.io/nama-repo
  • SSL/HTTPS gratis untuk semua website GitHub Pages
  • CDN global via Fastly untuk loading yang cepat di seluruh dunia
  • Custom domain gratis - sambungkan domain Anda sendiri tanpa biaya tambahan

Jenis-Jenis GitHub Pages

Ada tiga jenis GitHub Pages yang perlu Anda ketahui:

github pages tutorial
Ilustrasi github pages tutorial

1. User/Organization Pages

Repository bernama username.github.io (ganti "username" dengan nama pengguna GitHub Anda). Website ini tersedia di https://username.github.io. Hanya ada satu per akun dan biasanya digunakan untuk portofolio atau website personal utama.

2. Project Pages

Setiap repository GitHub bisa memiliki website tersendiri. Diaktifkan dari Settings repository, tersedia di https://username.github.io/nama-repo. Bisa digunakan untuk dokumentasi proyek, demo aplikasi, atau website berbeda-beda.

3. Organization Pages

Mirip dengan User Pages, tapi untuk akun organisasi GitHub. Tersedia di https://namaorganisasi.github.io.

Persyaratan Sebelum Memulai

Sebelum memulai tutorial ini, pastikan Anda sudah memiliki:

  • Akun GitHub (gratis di github.com)
  • Git terinstal di komputer Anda
  • File website yang sudah siap (HTML/CSS/JS, atau proyek Jekyll/Hugo)
  • Text editor seperti VS Code (opsional tapi direkomendasikan)

Langkah 1: Buat Repository GitHub

Ada dua cara membuat repository untuk GitHub Pages, tergantung jenis website yang ingin Anda buat:

Untuk Website Personal (username.github.io)

  1. Login ke GitHub dan klik tombol "New" (atau ikon "+" di pojok kanan atas)
  2. Beri nama repository persis: username.github.io (ganti "username" dengan nama pengguna GitHub Anda yang sebenarnya - huruf besar/kecil harus sama persis)
  3. Pilih Public (GitHub Pages gratis hanya untuk repository public)
  4. Centang "Add a README file"
  5. Klik "Create repository"

Untuk Website Proyek

  1. Buat repository baru dengan nama apa pun (misalnya: portofolio, blog-saya)
  2. Pilih Public
  3. Klik "Create repository"

Langkah 2: Upload File Website ke Repository

Ada beberapa cara mengupload file ke repository GitHub:

Cara A: Upload via Browser (untuk Pemula)

  1. Buka repository yang baru dibuat
  2. Klik tombol "Add file" → "Upload files"
  3. Drag and drop file website Anda (index.html, style.css, dll.)
  4. Tulis commit message, misalnya: "Upload website pertama"
  5. Klik "Commit changes"

Cara B: Via Git Command Line (Direkomendasikan)

# Clone repository yang sudah dibuat
git clone https://github.com/username/username.github.io.git

# Masuk ke folder repository
cd username.github.io

# Salin file website Anda ke folder ini
# (atau buat file baru)
echo "<!DOCTYPE html>
<html lang='id'>
<head>
  <meta charset='UTF-8'>
  <meta name='viewport' content='width=device-width, initial-scale=1.0'>
  <title>Website Saya</title>
</head>
<body>
  <h1>Halo dari GitHub Pages!</h1>
  <p>Website ini di-host gratis oleh GitHub Pages.</p>
</body>
</html>" > index.html

# Stage semua file
git add .

# Commit
git commit -m "Tambah halaman website pertama"

# Push ke GitHub
git push origin main

Langkah 3: Aktifkan GitHub Pages

Untuk repository website personal (username.github.io), GitHub Pages biasanya sudah aktif otomatis. Untuk repository proyek, Anda perlu mengaktifkannya secara manual:

  1. Buka repository di GitHub
  2. Klik tab "Settings"
  3. Scroll ke bagian "Pages" di menu kiri
  4. Di bagian "Source", pilih branch (biasanya main) dan folder (/ (root) atau /docs)
  5. Klik "Save"

Setelah beberapa menit, GitHub akan menampilkan pesan: "Your site is published at https://username.github.io/"

Website Anda sudah online! Kunjungi URL tersebut untuk memastikan semuanya berjalan dengan baik.

Langkah 4: Deploy Website Jekyll ke GitHub Pages

GitHub Pages memiliki dukungan bawaan untuk Jekyll. Anda bisa push kode sumber Jekyll langsung dan GitHub akan otomatis membangun website-nya:

Metode 1: Jekyll Build Otomatis (Tanpa GitHub Actions)

Untuk Jekyll dengan tema standar dan plugin yang didukung GitHub Pages:

  1. Push kode sumber Jekyll (bukan folder _site/) ke branch main
  2. Di Settings → Pages, pilih source: branch main, folder / (root)
  3. GitHub otomatis mendeteksi Jekyll dan membangun website

Metode 2: GitHub Actions (Lebih Fleksibel)

Untuk plugin yang tidak didukung secara native atau konfigurasi lebih lanjut, gunakan GitHub Actions. Buat file .github/workflows/jekyll.yml:

name: Deploy Jekyll ke GitHub Pages

on:
  push:
    branches: ["main"]
  workflow_dispatch:

permissions:
  contents: read
  pages: write
  id-token: write

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.3'
          bundler-cache: true
      - name: Build Jekyll
        run: bundle exec jekyll build
      - name: Upload Pages artifact
        uses: actions/upload-pages-artifact@v3

  deploy:
    needs: build
    runs-on: ubuntu-latest
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - name: Deploy ke Pages
        id: deployment
        uses: actions/deploy-pages@v4

Di Settings → Pages, ubah source menjadi "GitHub Actions".

Langkah 5: Deploy Website Hugo ke GitHub Pages

Hugo tidak memiliki dukungan bawaan di GitHub Pages, sehingga wajib menggunakan GitHub Actions:

name: Deploy Hugo ke GitHub Pages

on:
  push:
    branches: ["main"]
  workflow_dispatch:

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: "pages"
  cancel-in-progress: false

defaults:
  run:
    shell: bash

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      HUGO_VERSION: 0.127.0
    steps:
      - name: Install Hugo CLI
        run: |
          wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb           && sudo dpkg -i ${{ runner.temp }}/hugo.deb

      - name: Checkout
        uses: actions/checkout@v4
        with:
          submodules: recursive
          fetch-depth: 0

      - name: Setup Pages
        id: pages
        uses: actions/configure-pages@v5

      - name: Build dengan Hugo
        env:
          HUGO_ENVIRONMENT: production
        run: |
          hugo             --minify             --baseURL "${{ steps.pages.outputs.base_url }}/"

      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: ./public

  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Deploy ke GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
github pages tutorial
Ilustrasi github pages tutorial

Langkah 6: Menghubungkan Custom Domain

Salah satu fitur terbaik GitHub Pages adalah dukungan custom domain gratis. Anda bisa menghubungkan domain sendiri (misalnya www.namadomain.com) ke website GitHub Pages Anda.

Cara Menambahkan Custom Domain

  1. Di GitHub: Buka Settings → Pages → Custom domain. Masukkan domain Anda (misalnya www.namadomain.com) dan klik Save. GitHub akan membuat file CNAME otomatis di repository Anda.
  2. Di DNS Manager domain Anda: Tambahkan record DNS berikut:
    • Untuk www subdomain: Tambahkan CNAME record yang mengarah ke username.github.io
    • Untuk apex domain (tanpa www): Tambahkan A records ke IP GitHub Pages:
# A Records untuk apex domain (tanpa www)
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

# AAAA Records (IPv6) untuk apex domain
2606:50c0:8000::153
2606:50c0:8001::153
2606:50c0:8002::153
2606:50c0:8003::153

# CNAME untuk www subdomain
www  CNAME  username.github.io
  1. Tunggu propagasi DNS: Perubahan DNS bisa memakan waktu 5 menit hingga 48 jam. GitHub akan otomatis memverifikasi domain dan mengaktifkan HTTPS setelah propagasi selesai.

Aktifkan HTTPS untuk Custom Domain

Setelah domain terverifikasi, GitHub Pages otomatis menyediakan sertifikat SSL gratis via Let's Encrypt. Di Settings → Pages, centang opsi "Enforce HTTPS" untuk memastikan semua pengunjung dialihkan ke versi HTTPS website Anda.

Langkah 7: Optimasi GitHub Pages untuk SEO

File robots.txt

Buat file robots.txt di root repository untuk memberitahu search engine cara meng-crawl website Anda:

User-agent: *
Allow: /
Sitemap: https://www.namadomain.com/sitemap.xml

404 Custom Page

Buat file 404.html di root repository untuk halaman 404 yang lebih ramah pengguna:

<!DOCTYPE html>
<html lang="id">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>404 - Halaman Tidak Ditemukan</title>
  <meta name="robots" content="noindex">
</head>
<body>
  <h1>404 - Halaman Tidak Ditemukan</h1>
  <p>Maaf, halaman yang Anda cari tidak ada. Kembali ke <a href="/">beranda</a>.</p>
</body>
</html>

Sitemap untuk Jekyll

Jika menggunakan Jekyll, tambahkan plugin jekyll-sitemap di _config.yml dan Gemfile. Sitemap akan otomatis tersedia di /sitemap.xml.

Open Graph Meta Tag

Tambahkan Open Graph meta tag agar konten website Anda tampil dengan baik saat dibagikan di media sosial:

<meta property="og:title" content="Judul Halaman" />
<meta property="og:description" content="Deskripsi singkat halaman ini." />
<meta property="og:url" content="https://www.namadomain.com/halaman-ini" />
<meta property="og:type" content="website" />

Keterbatasan GitHub Pages

GitHub Pages adalah layanan luar biasa, tetapi memiliki beberapa keterbatasan yang perlu Anda ketahui:

  • Hanya untuk website statis - Tidak bisa menjalankan PHP, Python, Ruby, Node.js, atau bahasa server-side lain. Tidak ada database.
  • Ukuran repository maksimal 1 GB - File besar seperti video sebaiknya di-host di platform lain (YouTube, Vimeo, dll.).
  • Bandwidth 100 GB per bulan - Untuk website dengan traffic tinggi, mungkin tidak cukup.
  • Frekuensi build 10 build per jam - Untuk website yang sangat aktif diupdate, ini bisa jadi kendala.
  • Tidak ada server-side logic - Form kontak, autentikasi pengguna, atau fitur dinamis butuh layanan pihak ketiga.

Alternatif Jika GitHub Pages Tidak Cukup

Jika website Anda sudah berkembang dan membutuhkan lebih dari yang GitHub Pages bisa tawarkan, berikut beberapa pilihan:

  • Netlify - Gratis untuk proyek personal, mendukung form, function, dan redirect
  • Cloudflare Pages - Gratis dengan CDN global yang sangat cepat
  • Vercel - Gratis untuk proyek personal, sangat bagus untuk Next.js dan framework modern
  • Shared Hosting (seperti HostingEkspres) - Untuk website PHP/WordPress, lebih kontrol, harga terjangkau

Workflow Rekomendasi: Dari Menulis hingga Publish

Setelah setup selesai, berikut workflow yang direkomendasikan untuk mengelola website GitHub Pages secara efisien:

  1. Edit lokal - Lakukan perubahan di komputer Anda menggunakan text editor favorit. Jalankan server lokal (jekyll serve atau hugo server) untuk preview.
  2. Stage dan commit - Setelah puas dengan perubahan, jalankan:
    git add .
    git commit -m "Tambah artikel: Judul Artikel Baru"
  3. Push ke GitHub - Push perubahan ke repository:
    git push origin main
  4. GitHub Actions build otomatis - Jika menggunakan GitHub Actions, build akan berjalan otomatis. Pantau progress di tab Actions repository Anda.
  5. Website online - Dalam 1–5 menit, perubahan Anda sudah live di internet!

Tips dan Trik GitHub Pages

Gunakan Branch Terpisah untuk Source dan Build

# Simpan kode sumber di branch main
# GitHub Actions build dan push ke branch gh-pages
# Di Settings -> Pages, pilih source: branch gh-pages

Preview Perubahan Sebelum Publish

# Buat branch baru untuk fitur/perubahan
git checkout -b fitur-baru

# Buat perubahan dan commit
git add . && git commit -m "Tambah fitur baru"

# Setelah yakin, merge ke main
git checkout main
git merge fitur-baru
git push origin main

Gunakan .gitignore

# File .gitignore untuk Jekyll
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
vendor/

# File .gitignore untuk Hugo
/public/
/resources/
.hugo_build.lock

Perbandingan GitHub Pages vs Platform Hosting Lain

Fitur GitHub Pages Netlify (Free) Cloudflare Pages Shared Hosting
Harga Gratis Gratis Gratis Berbayar
Website Statis Ya Ya Ya Ya
Website Dinamis (PHP) Tidak Tidak Tidak Ya
Custom Domain Ya, gratis Ya, gratis Ya, gratis Ya
SSL/HTTPS Gratis (Let's Encrypt) Gratis Gratis Gratis atau berbayar
Bandwidth 100 GB/bulan 100 GB/bulan Unlimited Sesuai paket
Form Handling Tidak (butuh layanan ketiga) Ya (built-in) Tidak Ya (PHP/server)
Database Tidak Tidak Tidak Ya (MySQL/PostgreSQL)

Kesimpulan

GitHub Pages adalah solusi hosting yang luar biasa untuk website statis - gratis, cepat, aman, dan mudah digunakan. Integrasi seamless-nya dengan Git dan ekosistem GitHub menjadikannya pilihan ideal untuk developer, blogger teknis, dan siapa pun yang ingin membangun website portofolio atau blog tanpa biaya hosting.

Namun jika website Anda membutuhkan fitur dinamis seperti WordPress, toko online dengan database, atau aplikasi web - Anda membutuhkan hosting yang lebih lengkap. HostingEkspres menyediakan paket shared hosting dengan cPanel, database MySQL, PHP, dan SSL gratis dengan harga yang sangat terjangkau, sempurna untuk website bisnis yang membutuhkan lebih dari sekadar file statis.

FAQ - Pertanyaan Umum tentang GitHub Pages

Apakah GitHub Pages benar-benar gratis?

Ya, GitHub Pages sepenuhnya gratis untuk repository public. Anda mendapat hosting statis, SSL/HTTPS gratis via Let's Encrypt, CDN global via Fastly, dan dukungan custom domain - semua tanpa biaya. Untuk repository private, GitHub Pages membutuhkan paket GitHub Pro atau lebih tinggi.

Jenis website apa yang bisa di-host di GitHub Pages?

GitHub Pages hanya mendukung website statis - HTML, CSS, JavaScript, dan website hasil static site generator seperti Jekyll atau Hugo. GitHub Pages tidak mendukung PHP, database MySQL, Node.js server, atau framework backend lainnya. Jika website Anda membutuhkan fitur dinamis, diperlukan hosting berbayar.

Bagaimana cara menghubungkan domain sendiri ke GitHub Pages?

Di Settings repository → Pages, masukkan nama domain Anda di kolom "Custom domain" dan klik Save. Lalu di DNS manager domain Anda, tambahkan CNAME record www yang mengarah ke username.github.io, dan untuk apex domain tambahkan 4 A record ke IP GitHub Pages (185.199.108–111.153). Setelah propagasi DNS selesai, aktifkan "Enforce HTTPS" di Settings.

Apakah GitHub Pages mendukung WordPress?

Tidak. WordPress membutuhkan PHP dan database MySQL yang tidak tersedia di GitHub Pages. Untuk website WordPress, Anda membutuhkan shared hosting atau VPS yang mendukung PHP dan MySQL, seperti paket hosting yang ditawarkan HostingEkspres dengan harga terjangkau.

Berapa lama waktu yang dibutuhkan website live setelah push ke GitHub?

Biasanya 1–5 menit untuk perubahan biasa. Anda bisa memantau status build di tab Actions repository GitHub Anda. Setup awal atau perubahan konfigurasi besar mungkin butuh hingga 10 menit.

Apakah GitHub Pages cocok untuk website bisnis?

GitHub Pages cocok untuk website bisnis informatif seperti company profile, halaman layanan, atau portofolio. Untuk website bisnis dengan formulir pemesanan, toko online, sistem login, atau manajemen konten yang mudah - shared hosting dengan WordPress atau platform e-commerce akan lebih tepat dan mudah dikelola.

Bagaimana cara membuat website GitHub Pages yang SEO-friendly?

Gunakan Jekyll dengan plugin jekyll-seo-tag, jekyll-sitemap, dan jekyll-feed. Aktifkan HTTPS dan hubungkan custom domain. Buat file robots.txt dengan URL sitemap. Pastikan setiap halaman punya <title> dan meta description yang unik, lalu daftarkan sitemap di Google Search Console.

Butuh Hosting untuk Website Anda?

Dapatkan hosting cepat, aman, dan terpercaya dengan harga terjangkau. Gratis domain, SSL, dan support 24/7.

Jangan Ketinggalan Promo!

Subscribe newsletter kami dan dapatkan diskon hingga 50% untuk pembelian pertama kamu.

Gratis, tanpa spam. Bisa unsubscribe kapan saja.