Premium hosting, support and maintenance for Australian businesses

Insights & resources

500 Internal Server Error on WordPress: A Step-by-Step Fix

Server room with blue-lit network equipment

A 500 internal server error means the server hit a problem it couldn’t describe more precisely. On WordPress, the usual causes are a damaged .htaccess file, a faulty plugin or theme, a PHP memory or time limit, or wrong file permissions. Because the message is so generic, the trick is to narrow it down in order. This decision tree gets you to the cause quickly.

Key takeaways

  • “500” is a catch-all server error. The real reason is in the server’s error log.
  • Check the error log first if your host gives you access. It often names the problem directly.
  • On Apache servers, a corrupted .htaccess file is a quick thing to rule out.
  • Plugins and themes are the next suspects, especially after an update.
  • If the error appears across the whole hosting account, contact your host.

What is a 500 internal server error?

It’s an HTTP status code that says “something went wrong on the server, and I can’t be more specific”. MDN describes it as a generic response used when no more specific error fits (MDN). On a WordPress site, it usually means PHP crashed or the web server couldn’t read its configuration.

Unlike WordPress’s own “critical error” screen, a 500 error can stop WordPress before it even starts. That’s why you may see a plain browser page instead of your site’s design.

The 500 error decision tree

1Every site on the account down?Yes: contact your host2Error log names the cause?Yes: fix that file or setting3Started after a change?Yes: undo the change4Rename .htaccessApache and LiteSpeed only5Switch off plugins, then themeFind the culprit one by one6Check memory, permissions, PHPThen call for help
Work through the checks in order. Most 500 errors are found by step 5.
  1. Is it every site on your hosting account? If yes, the server itself has a problem. Contact your host and stop here.
  2. Can you read the error log? Look in your hosting panel for “Error log” or “Logs”. The newest entry often names the file and problem. Jump straight to the matching fix below.
  3. Did it start after an update or change? Undo that change first.
  4. Still stuck? Work through the checks below in order.
Network switch with blue ethernet cables
Check the server error log first.

Check 1: The .htaccess file

On Apache and LiteSpeed servers, .htaccess holds rules for redirects and permalinks. One bad line causes a 500 error across the whole site. Rename it to .htaccess-old using your file manager. If the site loads, go to Settings > Permalinks in WordPress and click Save to create a fresh one. The WordPress server guide shows the default rules.

Nginx servers don’t use .htaccess. If you’re on Nginx, skip to Check 2.

Check 2: Plugins

Rename wp-content/plugins to plugins-off. If the error disappears, rename it back, then rename each plugin folder in turn until the error returns. Deactivate that plugin and look for an update or replacement.

Check 3: The theme

Rename your active theme’s folder in wp-content/themes. WordPress falls back to a default theme if one is installed. If that fixes it, the theme or a recent code edit is the cause.

Check 4: PHP memory and time limits

If the log mentions “memory exhausted” or “maximum execution time”, the site needs more resources for a task. Add define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php. If your plan caps memory below that, ask your host or consider a plan with more resources.

Check 5: File permissions

Wrong permissions can stop the server reading files. As a general rule, folders should be 755 and files 644, with wp-config.php often tighter. Don’t set anything to 777. Ask your host to correct ownership if files were uploaded under the wrong user.

Check 6: The PHP version

A PHP upgrade can break older plugins. Most hosting panels let you choose the PHP version. Test the site on the previous version, then update the plugins that fail.

What if the 500 error only happens sometimes?

Intermittent 500 errors usually mean the server is running out of resources at busy times, or a scheduled task is failing. Check whether errors line up with traffic peaks, backups or imports. A bigger plan or better caching may be the real fix.

If the error only appears when a form is submitted, the form’s email sending may be failing. Our guide to a WordPress contact form not sending email covers that case. If you see a redirect loop instead, read our ERR_TOO_MANY_REDIRECTS fix. If you can’t get past the login screen, see fixing WordPress login problems.

To-do list on a clipboard beside a laptop and pen
Work through the checks in order.

How do I prevent 500 errors?

  • Back up before every change, and keep a copy off the server.
  • Test updates on staging first.
  • Keep PHP, WordPress and plugins current, in small regular steps.
  • Use hosting with clear resources, not vague “unlimited” promises.
  • Monitor uptime, so you know when errors start.

Our website maintenance plans take care of this every month. If you need a fix today, our fast WordPress repairs team is ready, and our website support line is answered in Australia.

Frequently asked questions

Is a 500 error my fault or my host’s?

It can be either. If every site on the account fails, it’s likely the host. If only your site fails, it’s usually a plugin, theme or configuration problem.

Where do I find the server error log?

Most hosting panels have a “Logs” or “Error log” section. If you can’t find it, ask your host to send you the latest entries.

Will a 500 error affect my Google rankings?

Brief errors rarely matter. If Google repeatedly can’t reach your pages, they may drop out of results until the site is fixed.

Can a hack cause a 500 error?

Yes. Malware sometimes adds bad rules to .htaccess or breaks PHP files. If you find code you didn’t add, treat it as a security incident.

What’s the difference between a 500 and a 503 error?

A 500 is a general server fault. A 503 means the server is temporarily unavailable, often for maintenance or because it’s overloaded.

Sources

  1. 500 Internal Server Error, MDN Web Docs
  2. Apache HTTPD and .htaccess, WordPress Developer Resources
  3. Common WordPress errors, WordPress Developer Resources

Want us to look after this for you?

Hosting, updates, backups and security, handled by an Australian team, so you can get back to running your business.