UK IT & website support · plans from £25/month · £45/hour ad-hoc01623 650333 · Client login
Get help

How to Fix a 500 Internal Server Error on Your Website

A 500 Internal Server Error means the server hit a problem it could not describe, usually a broken .htaccess file, a faulty plugin, a PHP version clash or an exhausted memory limit. dijitul support finds the cause in the error log and fixes it remotely for £45 an hour + VAT, or within our £50 a month Business plan.

Updated 2026-10-10 · by the dijitul support team, Mansfield, UK

Key facts

  • A 500 error is a server-side fault, so clearing your browser cache will not fix it.
  • The server error log almost always names the file and line that failed.
  • The most common causes are a corrupt .htaccess file, a plugin or theme conflict, a PHP version mismatch and the PHP memory limit.
  • On WordPress, renaming the plugins folder over FTP disables every plugin at once without logging in.
  • Hosts sometimes return 500 when file permissions are wrong: folders should normally be 755 and files 644.
  • dijitul fixes 500 errors remotely at £45 an hour + VAT, minimum 30 minutes.

What a 500 Internal Server Error actually means

When a browser asks for a page, the web server runs the code behind it (usually PHP) and sends back the result. A 500 Internal Server Error is the server saying that something went wrong while running that code, and it does not know how to describe it more precisely. You might see it as a plain white page with "HTTP ERROR 500", a hosting company's branded error page, or the WordPress message "There has been a critical error on this website".

Because the fault is on the server, the same error appears for every visitor on every device. Refreshing, clearing cookies or trying another browser will not help. The good news is that 500 errors nearly always have a single, findable cause, and they are rarely a sign of a hack.

Step 1: read the error log before changing anything

Guessing wastes time. Log in to your hosting control panel (cPanel, Plesk or your host's own dashboard) and look for Errors, Error Log or a file called error_log in your site's root folder. Look at the most recent entries at the time the error started. Typical lines look like:

  • PHP Fatal error: Allowed memory size of 134217728 bytes exhausted: the memory limit is too low or a plugin is leaking memory.
  • PHP Fatal error: Uncaught Error: Call to undefined function inside a plugin folder: that plugin is broken or incompatible with your PHP version.
  • Invalid command 'RewriteEngine' or .htaccess: Invalid command: the .htaccess file has a bad line.

On WordPress you can also turn on debugging by adding define('WP_DEBUG', true); and define('WP_DEBUG_LOG', true); to wp-config.php. Errors are then written to wp-content/debug.log. Turn it off again when you are done.

Step 2: work through the common causes

  1. Corrupt .htaccess file. Using FTP or the host's File Manager, rename .htaccess to .htaccess-old and reload the site. If it works, the file was the problem. On WordPress, go to Settings, then Permalinks, and click Save to write a clean one.
  2. Plugin or theme conflict. Rename the wp-content/plugins folder to plugins-off. If the site comes back, rename it back and then disable plugins one at a time by renaming each plugin's folder until the error returns. For a theme, switch to a default theme such as Twenty Twenty-Four by renaming your active theme's folder.
  3. PHP version mismatch. If your host recently moved you to PHP 8.2 or 8.3, older plugins and themes can fail with fatal errors. Your control panel usually lets you switch PHP version per site. Dropping back buys time, but the real fix is updating the code. See our PHP version upgrade service.
  4. PHP memory limit. Raise it by adding define('WP_MEMORY_LIMIT', '256M'); to wp-config.php or changing memory_limit in the host's PHP settings.
  5. File permissions. Folders should normally be 755 and files 644. A file set to 777 or owned by the wrong user can trigger a 500 on some servers.
  6. A failed update. If an automatic update stopped halfway, WordPress may leave a .maintenance file in the root. Delete it, then reinstall the affected plugin.

Step 3: if nothing works, restore and ask the host

If you have a recent backup from before the error started, restoring it is often the quickest route back online. Restore files and database together, otherwise you can make things worse. If you are not sure the backup is good, take a fresh copy of the broken site first so nothing is lost.

It is also worth asking your hosting company whether anything changed on the server: a PHP upgrade, a new security rule (ModSecurity often causes 500 or 403 errors), or a full disk. If your site is on our sister service dijitul hosting, we can check that side directly.

When to call dijitul support

Call us if you cannot get into the hosting control panel, the log points to something you do not understand, or the site takes orders and every minute offline costs money. We connect remotely, read the logs, fix the cause rather than masking it, and tell you in plain English what went wrong.

One-off fixes are £45 an hour + VAT with a 30-minute minimum, billed in 15-minute blocks after that. If you would rather it did not happen again, our support plans start at £25 a month + VAT for checked updates, daily backups and uptime monitoring, and the £50 a month Business plan includes an hour of fixes every month. See also website fixes and emergency website support.

Frequently asked questions

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

Usually it comes from the site's own code: a plugin, theme, .htaccess rule or memory limit. Sometimes the host causes it by upgrading PHP or adding a security rule. The error log tells you which. dijitul can read the log and say exactly where the fault sits.

Will a 500 error hurt my Google rankings?

A short outage of a few hours makes little difference. If Googlebot keeps getting 500 responses for days, Google slows its crawling and can drop pages from the index. Fixing the error quickly is the best protection, which is why dijitul plans include uptime monitoring.

Why does only my WordPress admin show a 500 error?

The admin area loads extra code, so a plugin that only runs in wp-admin, or a memory limit that the dashboard exceeds, can break it while the front end works. Raising WP_MEMORY_LIMIT or disabling recently updated plugins usually fixes it.

Can a hack cause a 500 Internal Server Error?

It can. Injected code in .htaccess or core files sometimes breaks PHP. If you see unfamiliar files, strange redirects or rules you did not add, treat it as a possible compromise. dijitul offers hacked website repair and malware removal for that situation.

How much does dijitul charge to fix a 500 error?

dijitul fixes one-off 500 errors at £45 an hour + VAT, with a 30-minute minimum and 15-minute blocks after that. Most are resolved within an hour. Clients on the £50 a month Business plan can use their included hour of fixes.

What is the difference between a 500 and a 503 error?

A 500 means the code failed. A 503 Service Unavailable means the server is overloaded or deliberately in maintenance mode. A 503 often clears on its own; a 500 rarely does until the cause is fixed.

Related

Get it fixed

One-off fixes are £45 an hour + VAT. You'll know the likely cost before we start.

Call usGet help now