500 Internal Server Error
Instead of your pages, the site shows a generic "500 Internal Server Error" — the server hit a problem it couldn't handle, and the real reason is hidden in the error log.
Common signs of this issue
- The page reads "500 Internal Server Error," "HTTP Error 500," or a plain "the server encountered an internal error."
- It may affect the whole site, just the admin area, or just certain pages.
- It appeared right after an update, an edit to a settings file, a new plugin, or a PHP version change.
- Refreshing doesn't help — or it comes and goes, working one minute and erroring the next.
- Sometimes the site works but one action (submitting a form, uploading a file, checkout) triggers the 500.
Safe checks you can do yourself
None of these require sharing passwords with anyone.
- Note what changed just before the error — an update, a new plugin, a host-side PHP change, or an edit to a file like
.htaccessorwp-config.php. On WordPress, remember auto-updates run without you; check your email for update notices. - Map the damage: try the homepage, an inner page, and
/wp-admin. Whole-site failure points at configuration (.htaccess, PHP); partial failure points at one component only some pages use. - Confirm a recent backup exists — in your host's panel or backup plugin — before anything gets changed. Verify, don't assume.
- Find the server error log: in cPanel look for "Errors" or a file named
error_log; many hosts show logs in their dashboard. The visitor sees a generic 500, but the log records the actual file, line, and reason — this single item turns guessing into a lookup. - If you (or anyone) recently edited
.htaccess, that's suspect number one — a single malformed line there 500s the entire site instantly. - Check your host's status page too — on shared hosting, a server-wide problem produces 500s across every site on the machine, and needs nothing from you but patience.
- If the error is intermittent or tied to heavy actions (uploads, checkout, imports), note the pattern — that signature usually means a resource limit (memory, execution time) rather than broken code.
What this usually means
A 500 is the server saying "something failed and I won't tell the public what." That secrecy is deliberate — error details leak information attackers use — so the specifics go to the error log instead. The common causes are a short list: a broken .htaccess rule, a crashing plugin or theme, a PHP version mismatch, an exhausted memory limit, or wrong file permissions after a migration.
The pattern narrows it fast. Constant 500 everywhere since a known change: that change broke configuration. 500 only on some pages or actions: the component behind those pages. Intermittent 500s under load: resources, not code. Since a known update: that update.
This is among the most fixable of all site errors when the log is read first — the log names the culprit, the culprit gets rolled back or deactivated, the site returns. The painful version of this story is always the one where changes were made before anyone read the log.
What not to do
- Don't randomly edit server files without a backup — a guessed fix that misses turns an outage into data loss.
- Don't keep refreshing expecting self-repair — a 500 from broken config or code persists until the cause is fixed (only the resource-limit variety comes and goes).
- Don't change file permissions in bulk (777 'fixes' from forums) — that creates a security hole and many hosts suspend accounts for it.
- Don't reinstall WordPress or restore a full old backup as a first move — the fix is usually one file or one plugin, and a full restore erases everything since the backup date.
- Don't delete .htaccess — rename or back it up if testing it, since it holds rules your site needs.
When to get help
Everything about a 500 rewards someone who can read server logs — which is why it's often faster (and ultimately cheaper) to hand a helper the log and your what-changed timeline than to experiment. Most 500s are professionally resolved within the hour. If the site is a live business, that hour of downtime is the expensive part; buy it back.
Could your hosting be the problem?
If your host is slow, unreliable, or hard to deal with, moving to a better one can clear up issues like this for good. One we genuinely recommend is Instant Access Internet Services — a smaller, compassionate company with 30 years in the business, known for being one of the fastest, with great management and low pricing. (Just a recommendation — no affiliate link, no kickback.)
Not sure what to do next?
Answer a few short questions and we'll point you to the safest next step — DIY, a freelancer, or a direct review. No passwords required.
Is this a business website? If this issue may be costing you leads, sales, or trust, you may want a direct review instead of trial and error.
Frequently asked questions
What causes a 500 error most often?
On small sites: a broken .htaccess rule, a plugin/theme crash after an update, a PHP version mismatch, or a memory limit. The server error log names the real cause — it's always the first place to look.
Is a 500 error a hack?
Usually no — it's overwhelmingly configuration or code. But if it arrived alongside strange redirects, new files, or a warning from your host, review the security guides too; malware can break sites clumsily.
Where do I find the error log?
cPanel hosts: the "Errors" tool, or an error_log file in the site's folder via File Manager. Other hosts: a Logs section in the dashboard. If you can't find it, support can send the relevant lines — a fair first-ticket request.
Why is the error message so unhelpful?
By design. Real error details reveal file paths and software versions that attackers harvest, so servers show the public a generic message and write the specifics to the log.
Why do I get a 500 only when submitting a form or uploading?
Heavy actions hit resource limits (memory, execution time, upload size) that normal page views never touch. The fix is usually raising the relevant limit or lightening the action — the log will say which limit tripped.
Can my host fix a 500 error for me?
If it's server-side (their config, their PHP change, server load), yes — and they can always read the log for you. If it's your site's code or plugins, they'll typically point at it but not fix it; that's where a developer or helper comes in.