Angka pertamanya sudah membelah persoalan: 4xx berarti permintaannya yang keliru, 5xx berarti servernya gagal menjawab permintaan yang wajar. Itu saja sudah memberi tahu Anda sisi mana yang harus dilihat.
Kode 4xx yang akan Anda temui
- 400 — permintaan yang cacat bentuknya. Biasanya tajuk atau kuki yang kelewat besar, bukan kode Anda.
- 401 — identitas belum disahkan. Masuklah dulu.
- 403 — sudah disahkan tetapi tetap tak diizinkan, atau servernya tak bisa membaca berkasnya.
- 404 — tak ditemukan. Kalau ia semestinya ada, yang patut dicurigai adalah aturan penulisan ulangnya, bukan berkasnya.
- 413 — unggahannya lebih besar daripada yang diterima server.
- 429 — lajunya dibatasi. Ada sesuatu yang terlalu sering bertanya; kadang malah cron Anda sendiri.
Kode 5xx
- 500 — aplikasi Anda mengalami galat. Pesannya ada di log, bukan di halamannya.
- 502 — sesuatu di belakang server web memberi jawaban yang tak terpakai; hampir selalu PHP.
- 503 — sengaja ditutup, atau daya tampungnya habis.
- 504 — sesuatu di belakangnya masih bekerja ketika server webnya menyerah menunggu.
Bacalah kodenya yang sebenarnya, bukan halamannya
curl -sI https://yourdomain.com/some/page | head -1
Halaman galat yang cantik tetapi dikembalikan dengan 200 lebih buruk daripada galatnya sendiri: mesin pencari mengindeksnya sebagai halaman sungguhan, dan pemantauan yang memeriksa 200 tak pernah berbunyi. Halaman galat harus mengembalikan kodenya sendiri.
Dua yang penting bagi pencarian
Halaman yang pindah mengembalikan 301 dan mewariskan kedudukannya ke alamat yang baru. Halaman yang sudah lenyap mengembalikan 410 atau 404. Mengalihkan setiap halaman yang dihapus ke beranda malah dibaca sebagai 404 yang lunak, dan itu tak menolong siapa pun.
Kode 200 dengan badan kosong adalah kutu tersendiri — biasanya PHP yang mati tanpa sempat menuliskan galat. Periksalah lognya, bukan halamannya.