FAQ: Why do I get a blank page / blank response from server?
If you see a blank or incomplete page then most likely a fatal error occurred during the processing of that page, usually a PHP error. This means that no further script execution is possible, so our code cannot analyse what went wrong. It just dies.
Finding the cause
When this happens you will usually find that your error logs contain more information. Often sites are set up deliberately to avoid displaying errors on the screen, but this can also have the effect that a serious error simply displays nothing at all.
We must see the specifics of the error if we are to help with your problem. It could be that the error comes from another plugin, or it could be a mistake in our code. It could be so many things that we need you to do some digging and post what you find:
- Ensure WordPress debug mode is enabled.
- Ensure your site is logging errors properly and you know where the log file is.
- Look in your error logs for useful messages and show us what seems relevant.
If you have trouble with this, please ask your hosting provider for help. We don't provide support with server management and we can't debug your site for you.
If you can see the WordPress admin interface, but the main part of the page is blank or incomplete, then probably the fatal error occurred after our plugin started displaying its content. In this case it may be worth viewing the page source in your browser and seeing where the HTML page suddenly stopped. There may even be error messages in the HTML that are not visible in the rendered page.
HTTP status codes
Depending on your server settings, a fatal PHP error might still send a
200 (OK) response to your browser. Other times it may produce a status
500 (Internal Server Error) as this is often used when an error is unknown.
It's worth checking in your browser's network inspector to see if some other status code was sent. This may give further clues and rule out a coding problem.
Empty Ajax responses
If you see the message
"Blank response from server" this is basically the same as a blank page, except it occurred during an Ajax request which happens in the background.
All our plugin knows is that it received zero bytes from the server and cannot tell you what went wrong.
It is possible to see a
status 0 (zero) from an Ajax operation. This infers that the request never reached the server, which probably means the browser refused to send the request. This could be for many reasons, such as security rules or even browser plugins such as ad-blockers interfering. We are in no position to help you debug this kind of problem and can only suggest you try a different browser and disable any traffic filtering extensions.
Browser error screens
Depending on your browser and your browser settings, a "friendly" error page may be shown instead of a blank one. This often masks the cause of the problem. If the page allows you to view source, then take a look if there is any real page content, even if it's a blank HTML document.
It might sound odd, but a blank page is not a "bad" response, it's just an empty one. However, if the browser can't make any sense of the response at all, then you'll get a generic error screen which hopefully will show some kind of error code. Take a note of the error message and include it in any requests for help.
Errors without a trace
It is possible for PHP to produce a fatal error and leave no trace even when logging is enabled. This is particularly frustrating and happens when code authors use the
@ operator to suppress error reporting. This might be done with good intentions, but it becomes a major problem if a silenced operation causes the script to exit.
None of the code in Loco Translate attempts to suppress errors like this. Generally when our plugin encounters an error you will know about it. If you experience untraceable errors, we recommend disabling all other plugins one by one and switching to a stock theme such as Twenty Twenty.
Where there's smoke there's fire
You may find minor errors in your log files such as warnings or notices. It's worth trying to eliminate these, even if they are not direct evidence of a failure. For example a theme that produces warnings on every page load is either badly written, or not fully compatible with your version of PHP or WordPress.