Give your WordPress site its first task.
Connect the site you already have, add your agent to Slack or Telegram, and tell it what you need.
Connect your siteStart with 500 free credits. No credit card needed.
A white screen is not an error. It is a fatal PHP error with the message switched off, which is why guessing at fixes takes longer than reading a log. Work the sequence instead: note what is blank, check for the recovery email, turn on logging, read the file path in the error, then isolate the plugin or theme it names.
A white screen is a page that returned nothing. The server answered, the browser has a document, and the document is empty. No theme, no error, sometimes not even a login form.
That silence is the problem. WordPress suppresses PHP error output in production, so when a plugin, a theme or your own code throws a fatal error, execution stops before any HTML is printed. You get a blank page instead of the line that names the file. WordPress’s Advanced Administration Handbook lists the White Screen of Death first among common WordPress errors, which tells you how routine this is.
On modern installs you will often see “There has been a critical error on this website” instead of pure white. Same condition, friendlier wording. The recovery sequence below is identical, and it overlaps heavily with fixing plugins that stopped working.
Before you rename anything, work out exactly where the white screen appears and where it does not. This is free information and it removes most of the suspect list.
| What is blank | Look here first |
|---|---|
| Front end and admin, everywhere | Code that loads on every request: a plugin, the theme’s functions.php, an mu-plugin, an edit to wp-config.php, memory exhaustion, a PHP version change |
| Admin blank, front end fine | Admin-only plugins: security suites, capability and role managers, admin UI customisers, page builders. Also memory pressure on heavy admin screens |
| Front end blank, admin fine | Theme templates, or a cache layer serving a stored blank response to logged-out visitors while you bypass it |
| One page or one template | That template file (front-page.php, home.php), a broken shortcode, or a builder, SEO or cache plugin acting on that content |
| One admin screen only | The plugin that owns that screen. A role-management plugin white-screening the Users page is a real reported case |
| The block editor only | An editor integration. Open the browser network tab and look for failing /wp-json/ requests |
| Only for logged-out users or only on mobile | Caching plugin, host cache, CDN or reverse proxy |
Write one line before you touch anything: what is blank, when it started, what changed immediately before. “Front end loads, /wp-admin is white since the plugin auto-update last night” is a diagnosis. “Site is broken” is not.
Since WordPress 5.2, a fatal error puts the site into recovery mode instead of leaving you locked out. WordPress emails the administration address with a link that pauses the plugin or theme that failed and lets you into wp-admin for that session. The subject looks like “[your site name] Your Site is Experiencing a Technical Issue”, and the message usually names the extension. Core’s fatal error recovery mode announcement describes this as the answer to exactly the case where the backend would otherwise be unreachable.
Most people never see it. The address in Settings then General is an old inbox, the site’s outbound mail is broken, or it landed in spam. Check spam, check the address, and set RECOVERY_MODE_EMAIL in wp-config.php to something someone reads before you need it.

One thing to hold on to: recovery mode pauses, it does not fix. Reactivating the same broken version puts the white screen straight back.
This is the step people skip, and it is the one that ends the outage fastest. Edit wp-config.php over SFTP or the host’s file manager, above the line that says “That’s all, stop editing”, and set:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
WordPress’s debugging handbook documents this combination: errors go to wp-content/debug.log rather than to the page, which matters because visitors should not be reading your file paths. If a WP_DEBUG line already exists set to false, change that line rather than adding a second one.
Reload the blank page to reproduce the error, then open debug.log and read the end of it. Also open the host’s own PHP error log in cPanel, Plesk or the hosting dashboard and search near the bottom for “fatal error”. WordPress’s log does not capture everything: PHP-FPM failures, permission problems and server-level errors only show up there.
Two cautions. Editing wp-config.php in a plain text editor with a missing semicolon creates a second fatal error on top of the first, so keep an untouched copy of the original. And turn these lines off once you are done.

Fatal errors are ugly but specific. What you are looking for is the path, not the wording:
PHP Fatal error: Uncaught Error: Call to undefined function ... in /wp-content/plugins/plugin-name/...
PHP Parse error: syntax error, unexpected ... in /wp-content/themes/theme-name/functions.php
PHP Fatal error: Uncaught Error: Class '...' not found
require(): Failed opening required '...' in /wp-content/mu-plugins/...
Fatal error: Allowed memory size of 134217728 bytes exhausted
A path under /wp-content/plugins/ names the plugin. A path under /wp-content/themes/ points at the theme or child theme, usually at code someone added to functions.php. A path under /wp-content/mu-plugins/ is a must-use plugin failing to load, which happens before normal plugins load and confuses people who have already deactivated everything. A path in wp-config.php is your own edit. And 134217728 bytes is 128M, so that last line is a resource limit, not a bug in the file it names.
Practitioner consensus across support forums and agency runbooks puts plugins first by a wide margin, usually within minutes of an update or a new activation. There is no measured dataset behind that ranking, but every source type reports the same order.
If the log named a plugin, act on that one. If you have no usable log and no admin access, isolate at the filesystem level over SFTP or the file manager:
wp plugin list over SSH. You need to be able to put the site back the way it was.wp-content/plugins/plugin-slug to plugin-slug-off. WordPress deactivates a plugin whose files have gone.wp-content/plugins to plugins.old, create an empty plugins folder, and move the plugins back one at a time, reloading the site after each.With SSH available, wp plugin deactivate <slug> does the same thing without leaving renamed directories behind, and it is the cleaner option for an admin-only white screen.
Two traps. Deleting a plugin instead of renaming its folder can take its settings with it. And on a WooCommerce site, deactivating WooCommerce itself clears the white screen while breaking cart, checkout and account pages, so isolate the extensions around it, payment gateways and shipping plugins first, rather than the store.

Once you know which plugin, the fix is a version decision: update it if a newer release fixes the fatal, roll it back to the previous version if the update caused it, or replace it if it has been abandoned. Leaving it paused is not a fix.
Themes are the second most reported cause, and a hand-edited functions.php is the usual route. One missing semicolon typed into the built-in Theme File Editor on a live site produces a site-wide blank page and, because the editor is inside wp-admin, locks you out of the tool you used to break it.
Rename the active theme folder in wp-content/themes/. WordPress falls back to a default theme such as Twenty Twenty-Five, provided one is actually installed. If it is not, you will trade the white screen for a “theme directory does not exist” error, so check first. If the site returns on the default theme, the fault is in your theme files: revert the recent edit, restore from a backup of that file, or reinstall the theme. Keeping changes in a child theme and out of the live editor is what stops the repeat, and the same discipline applies when you are editing WordPress themes without losing work.
“Allowed memory size of X bytes exhausted” is the one white screen that tells you its own cause, when logging is on. The process died before printing anything, which is why it is often a pure blank rather than a critical error page. Typical triggers are imports, backups and restores, security scans, image processing and heavy page builders.
The fix in wp-config.php:
define( 'WP_MEMORY_LIMIT', '256M' );
Three things people get wrong here. The M matters: '512' without it is not 512 megabytes. WP_MEMORY_LIMIT cannot exceed the host’s global PHP limit, so setting 512M on a plan capped at 128M changes nothing and you will wrongly conclude memory was not the issue. And raising the limit without finding out what consumed the memory just moves the failure to the next import. Community advice is consistent that 256MB is enough for an ordinary WordPress site, so a site that needs more has a specific consumer worth identifying.
If the blank page appeared the day the host moved you from PHP 7.4 to 8.x, the code stopped being compatible, not the server. The fast recovery is rolling PHP back in the hosting control panel. The actual fix is updating core, plugins and themes for compatibility, testing on staging, then upgrading PHP again. Sitting on an old PHP version indefinitely trades one outage for a worse one later.
Where the white screen followed a migration, a restore or an interrupted update, look at files rather than code:
.maintenance file in the WordPress root keeps the site in update mode. Delete it and reload..htaccess can stop requests reaching WordPress. Rename it to .htaccess-old, test, and if that fixed it regenerate the rules by opening Settings then Permalinks and saving once admin access is back. Do not rewrite custom rules you do not understand; stores and membership plugins depend on them.wp-content and wp-config.php, resolves that. Do this when there is evidence of corruption, not as a first move.A broken response gets cached like any other. The fix ships, you see the site, and visitors still get a blank page. Purge in this order: the caching plugin, the host’s page cache, the object cache, the CDN, then the browser. Clearing only your browser cache is the classic false negative.
On WooCommerce, caching the cart, checkout and account pages produces partial white screens and stale data even when nothing else is wrong. Confirm those exclusions are in place.
Escalate rather than keep testing when:
Hand over the useful evidence: the scope line, the last confirmed change, what you already tested, and the first fatal error line from the log. If you would rather not work through folders and logs yourself, SiteSelf can run the same sequence on a connected site and report what it changed and what it checked, which is what getting a broken WordPress site working again looks like when you ask for it in chat; file-level and code work needs hosting access, not just the connector plugin.
Most repeat white screens come from the habits that produced the first one. Update risky extensions one at a time so the timeline stays readable. Take a backup before updates and check it restores. Point RECOVERY_MODE_EMAIL at a monitored inbox. Keep PHP edits out of the built-in Theme and Plugin File Editors on live sites. Replace plugins that have not been updated in six months rather than hoping. And know your host’s real PHP memory ceiling before the day you need it.
Usually not. Plugin conflicts, theme code, memory limits, failed updates and PHP version changes account for the overwhelming majority of reported cases. Malware is worth scanning for when the white screen keeps returning after a clean fix or when you find files you did not put there, but diagnose the ordinary causes first.
Something that runs only on admin requests is failing: a security plugin, a capability or role manager, an admin UI customiser, or a page builder’s backend. It can also be memory pressure on a heavy admin screen. Isolate from SFTP or WP-CLI, since you cannot reach the Plugins screen to do it in the dashboard.
No data quantifies the impact, and short outages are not the same as a site disappearing. What you can do is check what Googlebot actually received: run the live test in Search Console’s URL Inspection tool on an affected URL once the site is back, and confirm it renders content rather than an empty page.
Only when you have evidence of corrupted core files, such as a fatal error pointing at a file inside wp-includes or a core update that failed partway. Re-uploading fresh core files excluding wp-content and wp-config.php is safe, but it is not a diagnosis and it will not fix a plugin fatal.
Treat it as a compatibility problem between the new core version and one extension, not as a broken update. Caching plugins are a recurring culprit in support threads after core releases. Isolate plugins as above, then check whether the vendor has shipped a compatible version before you roll anything back.
It restores the site, and it costs you the information. Renaming the whole plugins directory tells you “a plugin did it” without telling you which one, and it leaves plugins the site depends on switched off. Record the active list, then re-enable one at a time until the screen goes white again.
Troubleshooting
A plugin that stopped working almost never stopped on its own. Something changed first: an update, a PHP version, a cache rule, a snippet pasted into a theme file. The fastest route back is to find what changed, test one variable at a time, and resist the urge to fix three things at once.
Read article ›How-to Tutorials
Enabling WordPress Multisite takes five steps and about ten minutes. What takes the afternoon is the part nobody writes down: DNS, web server config, wp-config constants and rewrite rules all have to agree, and when they do not, the symptoms point somewhere other than the cause. This is the install sequence, the decisions that come before it, and the order to check things in when a subsite returns a 404.
Read article ›Explainers
“wp list plugin” is one phrase covering four unrelated jobs: taking an inventory of installed plugins, putting a list of posts on a page, building a data table, and recovering a Plugins screen that will not open. The right answer depends entirely on which of those you mean. Name the object you are listing first, and most of the wrong choices disappear.
Read article ›Connect the site you already have, add your agent to Slack or Telegram, and tell it what you need.
Connect your siteStart with 500 free credits. No credit card needed.