HTTP Status Code

HTTP Status Code mungkin tidak terlalu penting bagi end user. Namun, HTTP Status Code merupakan sesuatu yang harus diperhatikan oleh pemilik website.

Selain itu, HTTP Status Code juga digunakan oleh perayap mesin pencari (Googlebot, dll.) untuk menentukan “kesehatan” sebuah website.

Maka dari itu, HTTP Status Code merupakan sesuatu yang penting untuk SEO.

Apa itu HTTP Status Code?

Jika Anda pernah mengunjungi sebuah website dan menemukan pesan 404 Error Not Found, 503 Service Unavailable, dll. maka pesan itulah yang disebut sebagai HTTP Status Code.

HTTP Status Code adalah sebuah kode respon yang diberikan oleh sebuah server website ketika menerima request dari client.

Ilustrasi HTTP Status Code

Kurang lebih, alurnya adalah sebagai berikut:

  1. Ketika Anda mengunjungi sebuah website melalui browser, maka browser akan mengirim request ke server website tersebut.
  2. Server akan merespon request browser dengan sebuah kode status yang berada di dalam HTTP Header.
  3. Jika tidak ada masalah dengan server, maka kode status 200 akan dikirim, dan konten yang ada di website akan ditampilkan.
  4. Jika ada masalah dengan server atau konten yang di request oleh browser, maka kode status 4xx atau 5xx yang akan dikirimkan.

Hal inilah yang menyebabkan seseorang terkadang menemukan pesan 404 not found dan sebagainya ketika mengakses sebuah website.

Jenis-jenis HTTP Status Code

Terdapat banyak sekali HTTP Status Code yang mungkin sebagian besarnya tidak Anda ketahui.

Namun, terdapat 1 hal yang dapat memudahkan seseorang untuk membedakan berbagai macam HTTP Status Code, yaitu angka pertama dari kode status tersebut.

HTTP Status Code dibagi menjadi 5 kategori yang berbeda yaitu:

  • 1xx - Informasi
  • 2xx - Sukses
  • 3xx - Redirection (Pengalihan)
  • 4xx - Kesalahan Client
  • 5xx - Kesalahan Server

Jadi, ketika Anda menemukan pesan 404 Not Found, hal itu berarti terdapat kesalahan di sisi client berupa tidak ditemukannya konten atau URL yang dituju.

Bisa jadi, karena user salah mengetikkan alamat URL, atau karena konten tersebut memang sudah dihapus.

HTTP Status Code yang Penting untuk SEO

200: OK / Success

Kode status 200 berarti request berhasil dijalankan. Client meminta server untuk menampilkan konten atau URL yang dituju, server merespon dengan kode status 200, dan konten berhasil ditampilkan ke client.

Intinya, dengan kode status ini, Anda bisa memastikan bahwa URL yang ada dalam website Anda tidak error dan bisa diakses dengan baik.

301: Moved Permanently

Kode status 301 berarti URL yang direquest oleh client telah dipindahkan. Respon kode status ini juga disertai dengan lokasi URL yang baru yang diletakkan di header Location.

Hal ini biasanya dikenal dengan 301 Redirect.

Misalnya, Anda memiliki website dengan alamat iniweb.com, kemudian anda memindahkan domainnya menjadi ituweb.com.

Jika And tidak melakukan 301 Redirect, maka user yang mengakses iniweb.com akan menemui halaman 404 not found. Sebaliknya, jika 301 Redirect aktif, maka server akan merespon dengan kode status 301 dan mengalihkan user secara otomatis ke ituweb.com.

302: Found

Kode status ini mirip dengan 301, namun perpindahannya hanya sementara saja. Lokasi URL sementara ini juga disertakan dalam header Location.

Jika dalam contoh kasus 301 digunakan untuk perpindahan domain dari iniweb.com ke ituweb.com, maka 302 digunakan jika sebuah website melakukan perubahan yang sifatnya sementara.

Misalnya adalah ketika sebuah website sedang melakukan maintenance.

Jika dalam masa maintenance tersebut seluruh URL/Halaman yang ada dalam web dialihkan ke Homepage, maka kode status 302 bisa diterapkan di sini.

403: Forbidden

Jika Anda menemukan pesan 403 Forbidden, itu artinya request Anda ditolak oleh server.

Kode status 403 memberitahu browser bahwa konten atau URL yang dituju dilarang untuk diakses oleh client. Biasanya, konten semacam ini memerlukan login dengan role tertentu.

Respon kode status ini dapat berfungsi untuk mengamankan halaman-halaman tertentu dalam website yang tidak boleh diakses oleh sembarang user.

Namun, pesan 403 Forbidden terkadang juga bisa muncul karena kesalahan setup server.

Oleh karena itu, pastikan halaman website Anda memiliki respon kode status 403 yang sesuai, apakah halaman tersebut untuk publik atau memang untuk user tertentu.

404: Not Found

Kode status mungkin adalah kode status yang paling sering ditemui ketika mengakses internet.

Ketika sebuah website merespon dengan kode 404, maka konten atau URL yang dituju tidak ditemukan atau mungkin sudah dihapus.

Jika Anda adalah pemilik website, maka Anda harus segera memperbaiki halaman yang merespon kode 404. Atau setidaknya, Anda harus memberikan pesan yang “jelas” kenapa user bisa mendapatkan halaman 404.

Jika halaman tersebut memiliki perubahan URL, maka Anda harus menerapkan 301 redirect untuk mengalihkan pengunjung ke halaman yang baru.

Hal ini bertujuan untuk mengurangi respon 404 yang dirayapi oleh mesin pencari.

Ketika respon 404 di sebuah website terlalu banyak, maka website tersebut akan dicap sebagai website yang “tidak sehat” karena tidak dimaintenance dengan baik.

Efeknya, ranking SERP bisa turun.

410: Gone

Kode status ini mirip seperti 404. Halaman yang dituju sama-sama tidak ditemukan. Bedanya, dengan kode status 410, server memberitahu bahwa halaman tersebut “telah” dihapus.

Artinya, website tersebut memang pernah memiliki halaman tersebut, namun sudah dihapus. Berbeda dengan 404 di mana client tidak tahu apakah halaman yang dimaksud memang ada atau tidak.

Kode status ini lebih spesifik dari kode 404 serta dapat memberitahu mesin pencari untuk menghapus URL halaman tersebut dari index mereka.

500: Internal Server Error

Kode status ini menandakan bahwa ada masalah di sisi server web Anda. Banyak sekali kemungkinan yang bisa terjadi, seperti kesalahan setup, script yang tidak berfungsi, dll.

Jika menemui respon 500 di website Anda, maka Anda harus segera memperbaikinya agar website dapat kembali diakses.

Cek error log yang ada di dalam server, kemudian segera perbaiki. Jika tidak, maka error ini juga bisa berdampak pada ranking di SERP.

503: Service Unavailable

Jika Anda menemukan pesan 503, maka website tersebut sedang tidak dapat menangani request karena adanya maintenance atau resource server yang overload.

Jika Anda tidak sengaja menemukan kode status ini di website Anda, kemungkinan besar server Anda sedang down.

Anda juga bisa menggunakan kode status ini jika sedang melakukan maintenance website.

Dengan demikian, bot mesin pencari dapat mengetahui kalau website Anda sedang tidak dapat diakses untuk sementara waktu, dan akan kembali dirayapi ketika website Anda sudah berjalan normal lagi.

Daftar HTTP Status Code Lainnya

Masih banyak lagi HTTP Status Code yang ada selain beberapa yang disebutkan di atas.

Mungkin memang tidak terlalu penting untuk SEO atau hal teknis lainnya, namun bisa menambah pengetahuan Anda tentang HTTP Status Code.

Anda bisa melihat daftar HTTP Status Code pada tabel di bawah ini.

Kode Status Reason Phrase Makna
100 Continue Bagian awal dari request telah diterima. Lanjutkan pemrosesan.
101 Switching Protocol Server beralih menggunakan protokol yang berbeda, sesuai permintaan client pada header Upgrade.
200 OK Request berjalan sukses
201 Created Data berhasil dibuat (untuk request yang membuat objek baru).
202 Accepted Request diterima, tetapi server tidak melakukan apa-apa.
203 Non-Authoritative Information Transaksi berhasil, tetapi informasi pada header dari response tidak berasal dari server asli, tapi dari kopi data.
204 No Content Response hanya berisi header dan status line, tanpa body.
205 Reset Content Kode yang dirancang khusus untuk browser; meminta browser menghapus isi dari semua elemen form HTML pada halaman aktif.
206 Partial Content Request parsial berhasil.
300 Multiple Choices Client memberikan request URL yang merujuk ke beberapa data. Kode dikirimkan dengan beberapa pilihan yang dapat dipilih client
301 Moved Permanently URL dari request telah dipindahkan. Response wajib berisi lokasi URL baru.
302 Found Sama seperti 301, tetapi perpindahan hanya untuk sementara. URL data sementara diberikan melalui header Location.
303 See Other Response dari request ada pada halaman lain, yang harus diambil dengan GET. Jika request merupakan POST, PUT, atau DELETE, asumsikan server telah menerima data dan redirect dilakukan dengan GET yang baru.
304 Not Modified Mengindikasikan tidak ada perubahan data dari request sebelumnya.
305 Use Proxy Data harus diakses dari proxy. Lokasi proxy diberikan di header Location.
306 Switch Proxy Kode status tidak lagi digunakan untuk sekarang.
307 Temporary Redirect Request harus dilakukan kembali pada URI lain untuk sementara. Server dianggap tidak menerima data, sehingga jika request awal merupakan POST maka request baru juga harus POST.
400 Bad Request Client memberikan request yang tidak lengkap atau salah.
401 Unauthorized Akses ditolak. Header autentikasi akan dikirimkan.
402 Payment Required Belum digunakan, tetapi disiapkan untuk penggunaan pada masa depan.
403 Forbidden Request ditolak oleh server.
404 Not Found URL yang diminta tidak ditemukan pada server.
405 Method Not Allowed Method tidak didukung server. Header daftar method yang didukung untuk URL tersebut harus ada pada response.
406 Not Acceptable Jika client memberikan daftar format yang dapat dibaca, kode ini menandakan server tidak dapat memberikan data dalam format itu.
407 Proxy Authentication Required Seperti 401, tetapi autentikasi dilakukan terhadap proxy.
408 Request Timeout Client terlalu lama dalam menyelesaikan request.
409 Conflict Request menyebabkan konflik pada data yang diminta.
410 Gone Seperti 404, tetapi server pernah memiliki data tersebut.
411 Length Required Request harus memiliki headaer Content-Length.
412 Precondition Failed Diberikan jika client membuat conditional request dan kondisi tidak terpenuhi.
413 Request Entity Too Large Entity pada request terlalu besar.
414 Request URI Too Long URI yang dikirimkan kepada server terlalu panjang.
415 Unsupported Media Type Format data yang dikirimkan tidak didukung oleh server.
416 Request Range Not Satisfiable Tidak dapat memenuhi cakupan data, untuk request yang menintanya.
417 Expectation Failed Server tidak dapat memenuhi parameter Expectation yang ada pada request.
500 Internal Server Error Server mengalami error ketika memproses request.
501 Not Implemented Client membuat request yang di luar kemampuan server.
502 Bad Gateway Server proxy atau gateway menemukan response yang aneh dari titik berikutnya pada rantai response.
503 Service Unavailable Server untuk sementara tidak dapat memproses request.
504 Gateway Timeout Sama dengan 408 tetapi dari gateway atau proxy, bukan client.
505 HTTP Version Not Supported Versi protokol tidak didukung oleh server.