WordPress 500 error and the white screen: who checks what, you, your host or a developer
A WordPress 500 error is a general server response: the page could not be built. The most common causes are a plugin after an update, a broken .htaccess file, a low PHP memory limit or the wrong PHP version. You check recent changes, .htaccess and plugins yourself in the file manager. Your host reads the server error log, and a developer fixes the code.
Author: The TellMyShop team. A guide for WordPress site and WooCommerce store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read
Recognise the symptom in a minute
Before you change anything, check exactly where the error is. That decides whether you start on your own or call your host.
| Symptom | Most common cause | Who starts |
|---|---|---|
| The whole site and /wp-admin give a 500 | .htaccess, a plugin, the PHP version | you, then your host |
| A white screen with no text at all | a PHP error with error display turned off | you, then your host |
| The message “There has been a critical error on this website” | a plugin or the theme | see the guide to the critical error |
| A 500 only during one action, for example saving or the cart | a plugin, lack of memory, a time limit | you with the log, then a developer |
| A 500 that comes and goes under heavy traffic | server limits | host |
| 502 or 504 instead of 500 | the server did not get a response from PHP in time | host |
If you see the critical error message, go to the separate guide: it covers recovery mode with the email from WordPress. This article is about getting a bare 500 error or a white screen.
You: the first ten minutes
You can do these steps in the hosting panel, without a developer. After each one, open the site in a private window.
- Think back to the last change. A plugin update, a new plugin, a PHP version change in the hosting panel, an edit to .htaccess by a security or cache plugin. A 500 error rarely appears without a reason.
- Check the .htaccess file. In your host's file manager, in the site folder, turn on showing hidden files. Rename .htaccess to .htaccess-old. If the site comes back, log in and go to Settings, Permalinks, Save Changes. WordPress will create a new, clean file.
- Disable plugins by renaming the folder. In wp-content, rename the plugins folder to plugins-disabled. If the site comes back, restore the name and activate plugins one by one in the dashboard until the error returns. The last one activated is the culprit.
- Undo the PHP version change. If you changed the PHP version in the hosting panel before the error, go back to the previous one.
- Take a screenshot and note the time. They will help if you need to write to your host.
What not to do: do not restore a full backup including the database in a store, do not delete plugins, only rename folders, and do not reinstall WordPress blindly.
Your host: what to ask for and what to provide
Your host sees what you cannot: the server error log, memory and time limits, the PHP version and the load. The 500 code itself deliberately does not say what happened, which is why the WooCommerce documentation on getting information on a 500 error advises giving your host the exact URL and time of the error.
A message to your host can look like this:
- the URL that gives the 500 error, and since when,
- the exact time it last occurred,
- what changed just before the error,
- what you have already checked: .htaccess, plugins, PHP version,
- a request for the excerpt of the server error log from that time.
Typical answers from hosts are a lack of PHP memory, an exceeded execution time, a syntax error in .htaccess or a PHP version incompatible with a plugin. A list of such causes is also collected in the Rackspace guide.
A developer: when you need one
You need a developer when the log points to an error in the code: in a custom theme, in a snippet added to functions.php or in a plugin whose author no longer releases fixes. The developer turns on logging errors to the debug.log file with display to visitors turned off. The settings are described in the documentation on debugging WordPress.
In two sentences the task for the developer reads: “Since this date the site returns a 500 during this action, and the log shows this error. Please fix the code or suggest a replacement plugin.”
How the chat helps when the site partly works
The TellMyShop plugin for WordPress and WooCommerce runs inside WordPress. When the whole site gives a 500, there will be no connection to your chat (Claude or ChatGPT), and you do first aid following the steps above. The chat is useful in two other situations: when the error affects only part of the site, and after the fix, when you need to find out what happened.
In TellMyShop Free the chat reads grouped PHP, WordPress and WooCommerce errors from the last few days, site health with the PHP version and the list of plugins with versions. It also opens selected URLs as a visitor would and shows the response code. That way you write to your host or developer with specifics.
You: Saving longer posts throws a 500 error. Short ones save normally.
Your chat: The log from the last 3 days has 14 entries “Allowed memory size exhausted” when saving a post. All point to the Sample Image Optimiser plugin, which processes the images in a post when it is saved.
Your chat: Site health: the PHP memory limit is low. Two options: ask your host for a higher limit or deactivate this plugin. Preview of deactivation:
You: Deactivate it. I'll talk to my host tomorrow.
Your chat: Deactivated. The home page and the dashboard respond correctly. Try saving that long post now. You can reactivate the plugin from the change history.
old version: Sample Image Optimiser: active
new version: Sample Image Optimiser: inactive
The plugin name and numbers in this conversation are made up. Deactivating a plugin works in TellMyShop Pro once the Plugins switch is on; the switch lasts 24 hours and requires a database backup made the same day. Before the change the chat shows a preview and says what may stop working. The plugin never changes .htaccess or wp-config.php, so the chat will not fix the memory limit or server rules. Those stay with your host.
If the error appeared right after an update, read also what to do when WordPress breaks after an update. You can download the free version on the TellMyShop Free page, and check the differences from Pro on the pricing page. You will find more guides on the blog.
Questions and answers
How is a 500 error different from the critical error message?
The message “There has been a critical error on this website” is shown by WordPress itself when a plugin or theme stops with a PHP error. A 500 error is a general server response that can appear before WordPress even starts, for example because of a broken .htaccess or server limits. A white screen is often the same error, just without any message.
Does a 500 error mean I have lost data?
Almost never. Posts, pages and orders are in the database, and a 500 error only says the server could not build the page. Do not rush to restore a full backup including the database, because in a store you will wipe out orders placed after it was made.
What should I write to my host about a 500 error?
Give the URL where the error occurs, the exact time and what changed just before it. Ask them to check the server error log from that time. The WooCommerce documentation advises exactly this, because the 500 code on purpose does not say what happened.
The 500 error appears only during one action. What does that mean?
That the site works in general, and the problem sits in one place: when saving a post, in the cart, during an import or on one plugin's dashboard. That is good news, because the error log from that moment usually points to the faulty plugin or a lack of memory.
Can I raise the PHP memory limit myself?
Sometimes, in the hosting panel, in the PHP settings. If the panel does not offer it, ask your host. Raising the limit helps only when the log says memory ran out, and it should not mask a plugin that uses too much of it.
WordPress is a trademark of the WordPress Foundation. WooCommerce is a trademark of Automattic Inc. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.