Lewati ke isi

Website & Domain

Cara Membuat Halaman Maintenance Saat Website Diperbaiki

Cara membuat halaman maintenance yang ramah pengunjung dan aman untuk SEO, dengan kode 503, contoh .htaccess, Nginx, dan pilihan di WordPress.

Terbit 5 menit baca

Jawaban singkat

Halaman maintenance yang benar mengirim kode status 503 (layanan sementara tidak tersedia), bukan 200 atau 404, dan berisi pesan singkat kapan website kembali. Kamu tetap bisa membuka situs dari IP sendiri untuk bekerja, dan masa perbaikan sebaiknya dibuat sesingkat mungkin.

Daftar isi
  1. Apa saja isi halaman maintenance yang baik?
  2. Kenapa jangan sekadar mengganti halaman depan?
  3. Cara memasang lewat .htaccess (Apache dan LiteSpeed)
  4. Bagaimana dengan Nginx di VPS?
  5. Pilihan di WordPress
  6. Tabel ringkas pilihan cara
  7. Bagaimana agar masa maintenance singkat?
  8. Pertanyaan yang sering diajukan

Halaman maintenance yang baik adalah halaman sederhana yang memberi tahu pengunjung bahwa website sedang diperbaiki, sekaligus memberi tahu mesin pencari lewat kode status 503 bahwa gangguan ini hanya sementara.

Kenapa kode itu penting? Karena halaman maintenance yang dikirim dengan kode 200 (normal) bisa dianggap Google sebagai isi baru website-mu, dan yang dikirim dengan 404 bisa dianggap halaman sudah hilang. Dengan 503, Google memahami bahwa server sedang tidak siap. Menurut dokumentasi Google Search Central, error 5xx membuat crawler memperlambat perayapan sementara, dan URL yang sudah terindeks tetap dipertahankan, meski akhirnya bisa dihapus bila error terus berlangsung.

Apa saja isi halaman maintenance yang baik?

Pengunjung yang datang saat maintenance ingin tahu tiga hal: ada apa, sampai kapan, dan ke mana harus menghubungi. Isi yang cukup:

  • Kalimat singkat bahwa website sedang dalam perbaikan.
  • Perkiraan waktu kembali, bila kamu bisa memperkirakannya dengan jujur.
  • Kontak alternatif, misalnya nomor WhatsApp atau email layanan pelanggan.
  • Logo dan warna brand agar pengunjung yakin berada di situs yang benar.

Buat halaman ini sebagai satu file HTML mandiri, misalnya maintenance.html, dengan CSS ditulis di dalam file. Hindari memanggil gambar, skrip, atau font dari folder website yang sedang diperbaiki, karena bisa ikut gagal dimuat.

Satu hal lagi soal nada pesan. Tulis dengan bahasa sehari-hari dan tidak terkesan panik. Kalimat seperti "Kami sedang merapikan website agar lebih nyaman dipakai. Untuk pesanan, hubungi kami lewat WhatsApp" sudah cukup. Kalau maintenance terjadi karena gangguan mendadak, bukan terjadwal, jangan menjanjikan jam kembali yang belum pasti. Perbarui saja pesannya saat perkiraan sudah jelas.

Kenapa jangan sekadar mengganti halaman depan?

Cara paling cepat yang sering dipakai adalah mengganti file index.html atau index.php dengan pesan "sedang perbaikan". Masalahnya, cara ini hanya mengubah halaman depan. Halaman lain, seperti artikel, produk, atau keranjang belanja, tetap terbuka dan mungkin tampil rusak di tengah proses perbaikan. Selain itu, halaman pengganti itu dikirim dengan kode 200, sehingga Google bisa mengira isi beranda memang berubah menjadi pesan maintenance. Cara di bawah ini menangani seluruh website sekaligus dengan kode yang benar.

Cara memasang lewat .htaccess (Apache dan LiteSpeed)

Cara ini cocok untuk hosting cPanel. Simpan maintenance.html di folder public_html, lalu tambahkan baris berikut di bagian paling atas file .htaccess:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^203\.0\.113\.10$
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^ - [R=503,L]
ErrorDocument 503 /maintenance.html

Penjelasannya:

  1. Baris REMOTE_ADDR mengecualikan IP kamu, sehingga kamu tetap bisa membuka website asli untuk bekerja. Ganti 203.0.113.10 dengan IP publik koneksimu.
  2. Baris REQUEST_URI mengecualikan halaman maintenance itu sendiri agar tidak berputar.
  3. R=503 membuat semua permintaan lain dijawab dengan kode 503. Dokumentasi Apache menjelaskan bahwa kode di luar rentang 300-an membuat pengalihan dibatalkan dan pemrosesan berhenti.
  4. ErrorDocument menampilkan isi maintenance.html sebagai halaman 503.

Simpan salinan .htaccess lama sebelum mengedit. Setelah perbaikan selesai, hapus blok ini dan uji lagi website dari jaringan lain.

Bagaimana dengan Nginx di VPS?

Di Nginx, logika serupa bisa ditulis di blok server:

error_page 503 /maintenance.html;
location = /maintenance.html {
    root /var/www/maintenance;
    internal;
}
location / {
    if ($remote_addr != "203.0.113.10") {
        return 503;
    }
    # konfigurasi website seperti biasa
}

Cek konfigurasi dengan sudo nginx -t sebelum memuat ulang dengan sudo systemctl reload nginx. Kalau website memakai banyak blok location, pengecualian IP perlu ditempatkan sesuai struktur konfigurasimu.

Pilihan di WordPress

WordPress punya mode maintenance bawaan. Saat kamu memperbarui inti, tema, atau plugin, WordPress membuat file .maintenance di folder utama dan menampilkan pesan singkat dengan kode 503. Pesan ini bisa diganti dengan halaman sendiri dengan membuat file wp-content/maintenance.php.

Untuk perbaikan yang lebih lama, misalnya ganti desain, banyak orang memakai plugin mode maintenance. Pilih plugin yang jelas menyebut mengirim kode 503, dan yang tetap memberi akses ke admin yang sudah login. Kalau setelah update website justru tertahan di pesan "Briefly unavailable for scheduled maintenance", biasanya file .maintenance tertinggal. Menghapus file itu lewat File Manager umumnya memulihkan situs.

Tabel ringkas pilihan cara

CaraCocok untukCatatan
.htaccessHosting cPanel, situs apa punPaling cepat, perlu hati-hati mengedit
Konfigurasi NginxVPS dengan NginxWajib uji dengan nginx -t
Mode bawaan WordPressUpdate singkatOtomatis, tidak untuk perbaikan panjang
Plugin maintenanceRedesain atau perbaikan WordPress yang lamaPastikan mengirim kode 503

Bagaimana agar masa maintenance singkat?

Halaman maintenance sebaiknya jadi jalan terakhir, bukan kebiasaan. Untuk perubahan besar, kerjakan dulu di salinan website, lalu pindahkan hasilnya saat semua sudah siap. Panduannya ada di membuat staging WordPress. Bila maintenance karena pindah server, ikuti langkah di migrasi website ke VPS tanpa downtime panjang.

Pilih juga waktu yang sepi pengunjung, misalnya dini hari, dan umumkan sebelumnya lewat media sosial atau email bila pelanggan rutin bertransaksi di website-mu.

Bedakan juga 503 yang disengaja dengan 503 karena server bermasalah. Kalau website menampilkan 503 padahal kamu tidak sedang maintenance, penyebab umumnya dibahas di error 503 dan cara mengatasinya.

Pertanyaan yang sering diajukan

Apakah maintenance beberapa jam merusak peringkat Google?

Gangguan singkat dengan kode 503 umumnya aman. Menurut dokumentasi Google, URL yang sudah terindeks dipertahankan saat terjadi error server, dan baru bisa dihapus bila error terus-menerus. Jadi usahakan maintenance tetap singkat.

Perlukah menambahkan header Retry-After?

Header Retry-After memberi tahu klien kapan sebaiknya mencoba lagi. Header ini opsional, dan bisa ditambahkan bila kamu tahu perkiraan waktu selesai.

Bagaimana kalau saya tidak tahu IP publik saya?

Buka situs pengecek IP dari jaringan yang sama. Ingat, IP rumahan bisa berubah, jadi cek lagi bila tiba-tiba kamu ikut melihat halaman maintenance.

Sumber & referensi

Baca juga