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
- Refresh after a short wait. Temporary overloads and restarts produce brief 500s that vanish.
- 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.
- 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
- 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.
- 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.
- 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).
- 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).
- 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