Website yang tidak bisa dibuka adalah gejala, bukan penyebab. Ia bisa berarti jaringan Anda, DNS, sertifikat SSL, web server, aplikasi, atau database — enam lapisan yang sepenuhnya berbeda dengan enam penanganan berbeda.
Kesalahan paling umum adalah memulai dari lapisan yang paling Anda kuasai, bukan dari lapisan terluar. Checklist di bawah mengikuti jalur yang benar-benar dilalui sebuah permintaan, sehingga setiap langkah mencoret satu kelompok kemungkinan dan Anda selalu tahu sedang berada di mana.
Langkah 1 — Hanya Anda atau semua orang
Jangan lewati langkah ini. Sudah banyak jam terbuang untuk memperbaiki server yang sebenarnya sehat.
- Buka situs lewat data seluler dengan Wi-Fi dimatikan. Kalau bisa, servernya baik-baik saja dan masalahnya ada di jaringan, DNS, atau browser Anda.
- Gunakan salah satu alat pemeriksa "down for everyone". Alat itu mengakses dari server eksternal dan memberi jawaban yang objektif.
- Buka lewat jendela penyamaran, lalu lewat browser lain. Ini mencoret cache dan ekstensi dari daftar kecurigaan.
- Kalau hanya Anda yang tidak bisa, bersihkan DNS cache lalu coba lagi. Di macOS: "sudo dscacheutil -flushcache"; di Windows: "ipconfig /flushdns".
Langkah 2 — Baca persis apa yang Anda terima
Pesan yang muncul sudah sangat mempersempit masalah bahkan sebelum Anda login ke mana pun.
| Yang Anda lihat | Lapisan yang bermasalah |
|---|---|
| DNS_PROBE_FINISHED_NXDOMAIN | DNS — domain tidak bisa diresolusi |
| ERR_CONNECTION_TIMED_OUT | Jaringan atau firewall — server tak terjangkau |
| ERR_CONNECTION_REFUSED | Server terjangkau tapi tak ada layanan yang mendengarkan |
| ERR_SSL_PROTOCOL_ERROR | Sertifikat atau konfigurasi TLS |
| 502 / 503 / 504 | Web server hidup, backend mati, kelebihan beban, atau lambat |
| 500 Internal Server Error | Kode aplikasi gagal |
| Error establishing a database connection | Database |
| Halaman putih total | PHP fatal error, sering karena kehabisan memori |
Langkah 3 — DNS dan domain
- Periksa apakah domainnya masih aktif. Domain kedaluwarsa adalah penyebab yang paling sering terlewat, dan sangat mudah terjadi ketika email perpanjangan masuk ke folder spam.
- Jalankan "dig situsanda.com +short" atau "nslookup situsanda.com". Tanpa hasil berarti DNS-lah masalahnya dan semua lapisan di bawahnya tidak perlu diperiksa.
- Bandingkan IP yang dikembalikan dengan IP server Anda yang sebenarnya. Kalau berbeda, record DNS menunjuk ke tempat yang salah, biasanya sisa dari kepindahan sebelumnya.
- Pastikan nameserver-nya milik penyedia DNS yang benar-benar Anda pakai. Mengubah record di satu tempat sementara domainnya memakai nameserver di tempat lain adalah situasi yang sangat sering terjadi.
- Kalau baru mengubah DNS, tunggu. Record punya TTL, dan resolver di seluruh dunia akan menyimpan nilai lama sampai masa itu habis.
Langkah 4 — Apakah servernya hidup
- Ping alamat IP server. Ada balasan berarti mesinnya menyala dan terhubung; itu belum berkata apa-apa soal web server, tapi mencoret kemungkinan mesinnya mati.
- Coba SSH ke server. Kalau bisa masuk, sistem operasinya sehat dan Anda bisa memeriksa lebih dalam dari dalam.
- Kalau bisa ping tapi semua port timeout, kemungkinan besar firewall memblokir Anda, bukan server yang mati. Pemblokir brute-force yang memblokir IP setelah beberapa kali gagal login adalah penyebab yang sangat umum — coba dari jaringan lain untuk memastikan.
- Periksa panel penyedia untuk pengumuman maintenance, insiden, atau pemakaian yang melebihi kuota. Kadang jawabannya sudah ada di halaman status mereka.
- Kalau bisa masuk ke server, jalankan "df -h" dan "free -m" lebih dulu. Disk penuh dan RAM habis adalah dua penyebab akar dari sebagian besar masalah lain di daftar ini.
Langkah 5 — Layanan dan aplikasi
- Periksa web server berjalan: "systemctl status nginx" atau "systemctl status apache2".
- Periksa lapisan aplikasi: "systemctl status php8.2-fpm", atau proses Node maupun Gunicorn sesuai stack Anda.
- Periksa database: "systemctl status mysql" atau "mariadb".
- Baca error log sambil memuat ulang halaman. Ini langkah paling bernilai di seluruh daftar — "tail -f /var/log/nginx/error.log" sering menjawab pertanyaannya dalam hitungan detik.
- Kalau masalah dimulai tepat setelah sebuah perubahan, kembalikan perubahan itu sebelum mendiagnosis lebih jauh. Update plugin, penyuntingan konfigurasi, dan deploy kode baru adalah penyebab sebagian besar kerusakan mendadak.
- Periksa masa berlaku sertifikat SSL kalau errornya berkaitan dengan HTTPS. Tugas perpanjangan otomatis yang gagal diam-diam jauh lebih sering terjadi daripada yang dibayangkan.
Setelah pulih
Situs yang kembali jalan bukan berarti pekerjaannya selesai. Bagian paling bernilai justru ada di sepuluh menit sesudahnya.
Catat penyebab sebenarnya, bukan sekadar cara memperbaikinya. "Restart MySQL" adalah tindakan; "MySQL dibunuh OOM killer karena VPS 1GB tanpa swap" adalah penyebabnya, dan hanya yang kedua yang mencegah kejadian berikutnya.
Pasang monitoring uptime kalau belum ada. Mengetahui situs down dari sebuah peringatan jauh lebih baik daripada mengetahuinya dari pelanggan, dan layanan dasarnya gratis.
Tambahkan peringatan untuk hal-hal yang menyebabkan insiden kali ini: ruang disk, memori, masa berlaku sertifikat, dan masa berlaku domain. Empat peringatan itu mencakup sebagian besar insiden yang bisa diprediksi.
Periksa Search Console beberapa hari kemudian. Kalau downtime-nya panjang, laporan Crawl stats akan menunjukkan berapa banyak error yang ditemui Googlebot dan apakah Anda perlu meminta pengindeksan ulang.
Ingin melihat log dan menangani sendiri saat situs bermasalah?
Cloud VPS dengan akses root penuh — akses langsung ke semua log, layanan, dan konfigurasi. Mulai ฿150/bulan.
Pertanyaan yang Sering Diajukan
Hanya saya yang tidak bisa membuka situsnya. Mulai dari mana?
Bersihkan DNS cache lalu coba lagi, kemudian coba lewat data seluler. Kalau lewat data seluler bisa, penyebabnya jaringan atau DNS di sisi Anda — atau IP Anda diblokir firewall server, yang sangat sering terjadi setelah beberapa kali gagal login.
Berapa lama downtime mulai memengaruhi SEO?
Beberapa jam nyaris tidak berarti; Google mencoba lagi dan melanjutkan. Beberapa hari membuat laju crawl turun jelas, dan setelah sekitar seminggu URL mulai keluar dari indeks. Kalau downtime-nya terencana, kembalikan 503 beserta header Retry-After alih-alih membiarkan error acak.
Halaman putih total tanpa pesan apa pun. Artinya apa?
Hampir selalu PHP fatal error dengan tampilan error dimatikan — biasanya kehabisan memori atau kesalahan sintaks setelah sebuah update. Lihat error log PHP; kalau tidak bisa diakses, aktifkan sementara WP_DEBUG atau display_errors cukup lama untuk membaca pesannya lalu matikan lagi.
Bagaimana tahu masalahnya di hosting atau di situs saya?
Kalau server bisa di-ping dan SSH bisa masuk, infrastrukturnya sehat dan masalahnya ada di layanan atau aplikasi Anda. Kalau servernya sendiri tidak merespons dan halaman status penyedia menunjukkan insiden, itu di pihak mereka. Log server adalah pembeda paling jelas di antara keduanya.
GUIDES
Artikel terkait
Lanjut membaca topik serupa
ERR_CONNECTION_TIMED_OUT — Penyebab dan Cara Mengatasinya
Halaman memuat lama lalu Chrome menyerah dengan pesan ERR_CONNECTION_TIMED_OUT. Panduan ini menunjukkan cara memastikan dalam dua menit apakah masalahnya ada di sisi Anda atau di server, lalu langkah perbaikan untuk masing-masing sisi.
Baca selengkapnya502 Bad Gateway — Arti dan Cara Mengatasinya
502 berarti satu server meminta halaman ke server lain dan menerima jawaban yang tidak bisa dipakai. Panduan ini menjelaskan dua mesin mana yang terlibat, beda 502 dengan 500 dan 504, serta urutan pemeriksaan supaya Anda menemukan penyebab aslinya lebih dulu.
Baca selengkapnyaError Establishing a Database Connection — Cara Mengatasi
Pesan ini hanya punya empat penyebab nyata: kredensial salah, layanan database mati, koneksi habis, atau tabel rusak. Dua menit pengecekan sudah cukup untuk tahu Anda ada di kelompok yang mana.
Baca selengkapnya