500 error server internal

Apa arti 500 Internal Server Error, bagaimana Googlebot memperlakukan galat server saat crawling, mengapa 500 yang terus-menerus dapat menghapus halaman dari indeks, serta cara mendiagnosis dan memperbaikinya.

Pertama kali diterbitkan: 28 Jun 2026 · Terakhir diperbarui: 22 Agu 2026 · Advanced
Bahasa

500 Internal Server Error adalah kode galat umum di sisi server—RFC 9110 mendefinisikannya sebagai kondisi tak terduga yang membuat server gagal memenuhi permintaan, tanpa menjelaskan apa yang rusak, berapa lama berlangsung, atau apakah percobaan ulang akan berhasil. Google biasanya mencoba ulang 500 yang terisolasi, tetapi 500 yang terus-menerus di banyak halaman memicu respons terdokumentasi: crawling melambat dan URL yang tetap gagal akhirnya dapat dihapus dari indeks. John Mueller pernah memberi patokan pribadi bahwa tingkat galat di atas kira-kira 1% mungkin menandakan masalah nyata, tetapi Google tidak menerbitkan ambang baku. Mulailah diagnosis dari log server, lalu periksa laporan Server error (5xx) di GSC; konflik plugin dan kehabisan sumber daya umum pada stack tertentu, terutama WordPress, bukan daftar penyebab universal.

TL;DR — RFC 9110 mendefinisikan 500 sebagai kondisi tak terduga yang membuat server gagal memenuhi permintaan—itulah seluruh makna kode status ini; penyebab, durasi, dan kelayakan percobaan ulang harus didiagnosis, bukan dibaca dari semantiknya. Respons Google berlangsung bertahap: 500 terisolasi biasanya dicoba ulang; 500 yang terus terjadi di seluruh situs memperlambat crawling dan, jika tidak pulih, dapat menghapus URL dari indeks. Mueller memberi patokan pribadi bahwa tingkat galat di atas kira-kira 1% mungkin menandakan kerusakan, tetapi itu bukan ambang resmi Google. Urutan coba ulang → crawling melambat → penghapusan menggambarkan perilaku terdokumentasi, bukan pengatur waktu tetap. Diagnosis dimulai dari log server, lalu laporan Server error (5xx) dan Crawl Stats “by response” (terjemahan) “berdasarkan respons.” Perbedaan 500 dan 503 penting: 503 adalah kode resmi “come back later” (terjemahan) “kembali nanti” dengan jeda coba ulang sekitar dua hari; 500 yang tidak disengaja tidak mendapat kelonggaran itu.

Evidence for this claim RFC 9110 defines 500 as an unexpected condition encountered by the server that prevented it from fulfilling the request. Scope: web requests Confidence: high · Verified: RFC 9110: HTTP Semantics

Apa sebenarnya 500

Mulailah dari spesifikasi, bukan jargon praktisi. RFC 9110—standar semantik HTTP— mendefinisikan 500 Internal Server Error sebagai kondisi tak terduga yang mencegah server memenuhi permintaan. Itulah seluruh informasi yang diberikan kode status ini. Kode tersebut tidak mengidentifikasi akar masalah, komponen yang gagal, lamanya masalah, peluang berhasil pada percobaan ulang, atau kemungkinan pemulihan. Semua hal setelah “the server hit something it couldn’t handle” (terjemahan) “server menemukan sesuatu yang tidak dapat ditanganinya” adalah diagnosis, bukan semantik kode; diagnosis ada di log galat server, bukan di spesifikasi atau peramban.

Evidence for this claim A 500 response means the server encountered an unexpected condition that prevented it from fulfilling the request. Scope: RFC 9110 defines the generic response semantics; it does not diagnose the underlying server fault. Confidence: high · Verified: IETF: RFC 9110 §15.6.1 — 500 Internal Server Error

Dalam panduan kode status HTTP Ahrefs, saya sengaja mempertahankan definisi yang lugas: server “encounters some kind of issue and doesn’t have a better or more specific error code.” (terjemahan) “mengalami suatu masalah dan tidak memiliki kode galat yang lebih baik atau lebih spesifik.” Ini adalah penjelasan bahasa sederhana dari batas RFC yang sama—tetap serba guna dan tetap merupakan gejala, bukan diagnosis.

Kode ini berada dalam keluarga 5xx bersama 502 (gateway buruk), 503 (layanan tidak tersedia), dan 504 (waktu tunggu gateway) —semuanya berasal dari server, tetapi 500 berarti “no better code applies.” (terjemahan) “tidak ada kode yang lebih tepat.” Karena kode status tidak membawa rincian diagnosis, memuat ulang peramban tidak menjelaskan mengapa hal itu terjadi; log galat server adalah sumber kebenaran.

Cara Googlebot memperlakukan 500

Crawler Google dirancang untuk berhati-hati terhadap kesehatan server. Respons 5xx adalah salah satu sinyal “slow down” (terjemahan) “perlambat.” Dokumentasi Google saat ini menjelaskan bahwa respons 5xx dan 429 mengurangi laju crawling sementara, sesuai jumlah URL yang terdampak; URL yang terus gagal akhirnya dapat dihapus dari indeks, sedangkan konten yang sudah terindeks dipertahankan sambil menunggu penyegaran yang berhasil. Evidence for this claim Google reduces crawling in response to 5xx errors and eventually removes persistently failing URLs from its index. Scope: Google documents the general 5xx progression; it does not provide a guaranteed retry or recovery timeline for an individual URL. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers John Mueller menjelaskan perkembangan yang sama dengan kata-katanya sendiri dalam sesi Google SEO Office Hours yang dikutip ulang oleh Search Engine Journal:

“We don’t have any strong thresholds on that. But essentially what happens with 500 errors is we’ll try to retry them. And if we continue to see …the 500 errors then we will …slow down crawling. And if we continue to see that there are 500 errors then we will drop those URLs from the index.” (terjemahan) “Google tidak memiliki ambang tegas. Pada dasarnya, Google mencoba ulang 500; jika galat berlanjut, crawling diperlambat, dan jika tetap berlanjut URL dihapus dari indeks.”

Baca kutipan itu sebagai deskripsi perilaku terdokumentasi—coba ulang, crawling lebih lambat, dan kemungkinan penghapusan—bukan pengatur waktu tiga tahap dengan perpindahan atau jadwal yang dijamin; Google tidak menerbitkan ambang kapan satu tahap berubah menjadi tahap berikutnya. 500 terisolasi pada satu URL biasanya dicoba ulang, dan pengambilan berikutnya yang berhasil sering mengakhiri masalah. Itu gambaran kasus umum, bukan jaminan bahwa kegagalan tunggal selalu tanpa biaya. Risiko yang terdokumentasi ada pada galat yang tidak pulih.

Mengapa 500s di seluruh situs lebih buruk daripada galat yang terisolasi

Situasinya lebih buruk ketika sebagian besar situs Anda mengembalikan 500s sekaligus. Dokumentasi Google saat ini menegaskan bahwa pengurangan laju crawling mengikuti jumlah URL terdampak— semakin banyak bagian situs yang gagal, semakin besar perlambatannya. Mueller menjelaskan alasannya dengan lebih spesifik: Google dapat mencurigai bahwa crawling-nya sendiri ikut menyebabkan beban berlebih:

“But if a large part of a site consistently has 500 errors and we might assume that maybe we’re causing the problem and we’ll slow down crawling of the whole site and at some point we’ll say well, it looks like these pages are really gone, we’re going to drop them.” (terjemahan) “Jika sebagian besar situs terus mengembalikan 500, Google dapat menganggap crawling-nya menyebabkan masalah, memperlambat crawling seluruh situs, lalu menghapus halaman yang tampak hilang.”

Anggap frasa “we assume we’re causing it” (terjemahan) “kami menganggap kamilah penyebabnya” sebagai penjelasan Mueller sendiri, bukan kutipan langsung dari dokumentasi resmi Google. Mekanisme dasarnya terdokumentasi: semakin banyak URL gagal, semakin besar pengurangan laju crawling. Umpan balik praktisnya patut diingat: crawling agresif saat sumber daya menipis dapat memicu lebih banyak 500 → Google mengurangi crawling seluruh situs → dan jika galat tetap ada, halaman dihapus. Jadi masalah 500 tidak selalu merupakan bug kode; server bisa tertekuk oleh beban serentak yang hanya muncul saat crawler atau trafik melonjak.

Seberapa banyak yang dianggap terlalu banyak?

Tidak ada batas tegas—dokumentasi pemecahan masalah Google tidak menerbitkan ambang tingkat galat. Dalam SEO Office Hours, Mueller memberi patokan pribadi (dikutip ulang oleh Search Engine Journal, bukan publikasi resmi Google):

“My feeling is if you’re seeing something more than one percent then that sounds like something is kind of broken.” (terjemahan) “Menurut saya, tingkat di atas satu persen terdengar seperti tanda ada sesuatu yang rusak.”

Anggap ~1% sebagai uji bau tidak resmi yang diatribusikan kepada Mueller, bukan batas Google yang terdokumentasi atau diberlakukan. Di bawahnya mungkin tidak masalah; di atasnya layak diselidiki. Namun, melewati 1% bukan pemicu otomatis, dan tetap di bawahnya bukan jaminan. Satu-satunya hal yang Google nyatakan secara publik adalah tidak adanya angka: “we don’t have any strong thresholds.” (terjemahan) “kami tidak memiliki ambang yang tegas.”

500 vs. 503: perbedaannya penting

Di sinilah banyak orang keliru. 503 Service Unavailable adalah cara yang disahkan untuk memberi tahu crawler “I’m temporarily down, come back later.” (terjemahan) “saya sedang tidak tersedia, kembali nanti.” Google memperlakukannya sebagai kondisi disengaja dan memberi jeda kelonggaran. Dokumentasi crawling Google menyatakannya dengan jelas:

“Return 503 or 429 HTTP response status codes temporarily for Googlebot requests when your server is overloaded. Googlebot will retry these URLs for about 2 days. Note that returning ‘no availability’ codes for more than a few days will cause Google to permanently slow or stop crawling URLs on your site.” (terjemahan) “Kembalikan kode status HTTP 503 atau 429 sementara ketika server kelebihan beban. Googlebot akan mencoba ulang URL sekitar dua hari; kode ‘tidak tersedia’ lebih lama dapat membuat crawling diperlambat atau dihentikan permanen.”

Sebaliknya, 503 disengaja dan mendapat kelonggaran coba ulang sekitar dua hari; 500 yang tidak terkendali tidak mendapat kelonggaran itu—Google hanya mencobanya sampai menyerah. Untuk pemeliharaan terencana atau perlindungan dari beban berlebih, kembalikan 503 (idealnya dengan header Retry-After), bukan 500 atau halaman galat berstatus 200. Jangan pernah menyamarkan pemadaman nyata sebagai 200.

Cara mendiagnosis 500

Kerjakan dari beberapa lapisan—aplikasi/kode, platform/CMS, infrastruktur dan sumber daya, lalu konfigurasi—dimulai dari pemeriksaan termurah dengan peluang hasil terbesar. Langkah bertanda (khusus WordPress) adalah praktik umum WordPress, bukan perbaikan universal; sesuaikan dengan stack Anda.

  1. log galat server. Periksa error.log / access.log (atau penampil log platform) dan cocokkan waktu dengan permintaan yang gagal. Di sinilah jejak tumpukan, galat fatal PHP, atau kegagalan koneksi basis data terlihat. Tanpa log, pemeriksaan berikutnya hanya tebakan.
  2. Laporan GSC—server galat (5xx). Laporan Pengindeksan Halaman di Google pencarian Console menandai URL yang dilihat Google mengembalikan 500. Buka Crawl Stats dan baca uraian “oleh respons” (terjemahan) “berdasarkan respons” dari waktu ke waktu untuk membedakan gangguan sementara dan masalah ketersediaan yang menetap.
  3. Bing Webmaster Tools. Peringatan galat crawling mengelompokkan Galat server (5xx) dan mengarahkan Anda ke URL serta informasi crawling yang terkait.
  4. Reproduksi sebagai bot, bukan hanya peramban. Halaman dapat mengembalikan 500 kepada Googlebot tetapi berjalan normal bagi Anda karena beban yang dipicu crawling, kesalahan konfigurasi firewall/deteksi bot, atau batas kapasitas. Gunakan Pemeriksaan URL GSC, Fetch sebagai Bingbot, atau curl dengan agen pengguna bot. Pesan “It works di my peramban” (terjemahan) “ini berfungsi di peramban saya” bukan bukti yang cukup.
  5. Konflik plugin/tema/modul (pola khusus WordPress; sesuaikan di tempat lain). Buat cadangan terlebih dahulu. Nonaktifkan ekstensi lalu aktifkan kembali satu per satu untuk menemukan penyebabnya, dan periksa izin/kepemilikan berkas yang disentuh. Panduan pemecahan masalah WordPress dari penyedia hosting sering melaporkan pola ini, tetapi pengamatan itu khusus stack, bukan bukti penyebab utama di semua tempat. Pada CMS lain atau aplikasi khusus, padanannya bisa berupa konflik modul, paket, atau middleware pihak ketiga.
  6. Kehabisan sumber daya. Periksa batas memori PHP, koneksi basis data, kapasitas shared hosting, serta lonjakan trafik atau crawling; host biasanya dapat mengonfirmasinya.
  7. Konfigurasi dan perubahan terbaru. Periksa .htaccess yang rusak, perubahan konfigurasi server, deploy baru, atau kredensial basis data yang keliru. Perubahan terbaru sering paling cepat mengarah ke penyebab.

Cara memperbaiki sesuai penyebab

Sesuaikan perbaikan dengan lapisan yang ditunjuk diagnosis. Daftar ini merangkum pola umum dari tulisan praktisi, bukan urutan prioritas atau daftar universal untuk setiap stack:

  • Konfigurasi/deploy penyebabnya → kembalikan perubahan; perbaiki .htaccess, konfigurasi, atau kredensial.
  • Kehabisan sumber daya → naikkan batas (memori PHP, koneksi basis data) atau tingkatkan paket hosting; jika crawling memicu beban berlebih, atur laju crawling juga.
  • Konflik plugin/modul → hapus atau ganti ekstensi penyebab.
  • Bug kode → perbaiki kode dan tambahkan penanganan galat yang hilang.
  • Penyebab belum jelas → hubungi host dengan waktu kejadian dan baris log yang tepat. Jangan menebak di production.

Mencegah terulangnya masalah

Pantau dan beri peringatan untuk tingkat 5xx, uji perubahan di staging sebelum masuk production, uji beban sebelum lonjakan trafik yang diketahui, dan—jika crawling Googlebot sendiri menjadi pemicunya—kelola beban crawling dengan mengembalikan 503/429 secara sengaja saat overload, alih-alih membiarkan server mengeluarkan 500s tanpa kendali.

FAQ

Apakah galat 500 merusak SEO? Risiko terdokumentasi terutama terkait lamanya dan skalanya. 500 terisolasi biasanya dicoba ulang tanpa penalti yang didokumentasikan; 500 yang menetap di seluruh situs memperlambat crawling dan dapat menyebabkan deindeksasi.

Berapa lama sebelum Google menghapus halaman yang mengembalikan 500? Tidak ada jadwal tetap. Google mencoba ulang lalu memperlambat crawling; penghapusan terjadi hanya jika galat terus berlanjut. Perbaiki masalah dan halaman biasanya kembali setelah crawling berhasil.

Mengapa situs saya mengembalikan 500 untuk Googlebot tetapi normal di peramban? 500 khusus bot biasanya menunjukkan masalah kapasitas atau penanganan bot—beban akibat crawling, aturan firewall/bot, atau batas yang hanya terlampaui saat trafik bot serentak. Percayai log, bukan pemeriksaan manual di peramban.

Dapatkah 500s memperlambat crawling seluruh situs, bukan hanya halaman terdampak? Ya. Dokumentasi Google menyatakan pengurangan laju crawling mengikuti jumlah URL yang gagal, jadi bagian besar situs yang mengembalikan 500s memperlambat crawling secara menyeluruh. Mueller juga menjelaskan kemungkinan crawling Google ikut menyebabkan overload; itu karakterisasi pribadinya, bukan kata-kata verbatim dari dokumentasi resmi saat ini.

Apa penyebab 500 di WordPress? Pada WordPress, penyedia hosting dan komunitas sering melaporkan konflik plugin/tema, .htaccess rusak, atau batas memori PHP terlampaui. Itu laporan khusus platform, bukan klaim bahwa penyebab tersebut selalu paling umum. Urutan diagnosis di atas (log dulu, lalu perubahan terbaru) berlaku untuk CMS apa pun.

Apakah aman mencoba ulang permintaan setelah 500? Hanya setelah memeriksa metode dan idempotensi permintaan—kode 500 sendiri tidak mengizinkan kebijakan coba ulang. GET, HEAD, PUT, dan DELETE umumnya aman karena idempoten (pengulangan tidak menambah efek samping); POST biasa tidak, kecuali API menjamin idempotensi, misalnya melalui kunci idempotensi. Mencoba ulang secara buta dapat membuat pesanan atau email ganda atau pembayaran terduplikasi. Saat mencoba ulang, gunakan backoff eksponensial dengan jitter, batasi jumlah percobaan, dan tetapkan anggaran coba ulang agar server yang sedang bermasalah tidak terkena badai retry.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.