500 Internal Server Error: what it means and what to do

500 is the web's generic “something broke on the server” message. The request arrived fine; the server's software failed while producing the page — a bug, a bad configuration, a broken plugin. Crucially, the real reason is written in the server's error log, because the public message is deliberately vague.

If you're just visiting

  1. Refresh after a short wait. Temporary overloads and restarts produce brief 500s that vanish.
  2. Don't keep resubmitting forms. If the error appeared after paying or ordering, check email/account for a confirmation before retrying — the action may have completed before the error page did.
  3. Come back later. A persistent 500 is the site owner's repair job; nothing in your browser settings is involved (clearing cache doesn't change what a server generates).

If it's your site — the log is the answer

  1. Open the error log first (Apache/nginx error log, hosting panel's error log, or the app's log). The entry at the error's timestamp names the file, line, and cause. Every other step is a guess until this is read.
  2. Recent change? Roll it back mentally. New plugin/theme, edited .htaccess, changed PHP/Node version, modified permissions — 500s that start suddenly almost always start with a change.
  3. Check file permissions after migrations: folders 755, files 644 is the standard Linux web setup; too-open permissions trigger 500s on many hosts (suPHP/mod_ruid).
  4. For WordPress: rename the plugins folder via file manager to disable all plugins; if the site returns, re-enable one at a time. A corrupted .htaccess is the other classic — rename it and let WordPress regenerate it (Settings → Permalinks → Save).
  5. Check resource limits — PHP memory limit exhausted shows as a 500 (the log will say “Allowed memory size exhausted”); raise it in hosting settings or fix the hungry script.
The public 500 page is vague on purpose — detailed errors leak server internals. That's why “just Google the message” fails for this one: the message is a category, not a diagnosis. The log entry is the diagnosis.

If it still happens

With the log line in hand, the fix is usually one line: a file to restore, a plugin to update, a version to pin. Send that exact log line to the host's support if it's managed hosting — it converts a vague ticket into a solvable one.

Common questions

Is a 500 error my fault as a visitor? No. It is generated by the website's server. The only visitor-side exception is a malformed URL or request so unusual it trips a bug — ordinary browsing doesn't do that.

Can a 500 mean the site was hacked? It can accompany a compromise (broken files error out), but the overwhelming majority are ordinary bugs, updates, and configuration slips. The log distinguishes them quickly.

Related errors

502 Bad Gateway · 404 Not Found · TypeError: cannot read properties