Errors
WordPress Admin White Screen: Fix It Without Losing Data
A white screen in wp-admin while your front end loads perfectly is almost always a PHP error, memory exhaustion, or a broken plugin that only fires in the admin context — not a sign your site is destroyed. The front end working is actually good news: your database is intact, WordPress core is running, and the problem is isolated to something the admin panel loads that the public side does not. Work through the fixes below from easiest to most invasive and you will almost certainly have your dashboard back within thirty minutes.
What You're Seeing — and What It Tells You
You navigate to yoursite.com/wp-admin or yoursite.com/wp-login.php and get a completely blank white page. No error message, no login form, nothing. Meanwhile, every public-facing page on the site renders normally.
That split tells you something precise: the code that breaks is only loaded in the admin. WordPress ships a separate asset stack for the dashboard — different scripts, stylesheets, and PHP execution paths. Plugins can register hooks that run exclusively on is_admin(). Themes can enqueue scripts that only fire in the editor. A PHP memory limit that is just barely enough for the front end can fall short when the admin loads its heavier UI. Each of those scenarios produces the same symptom: a white, silent screen.
Before You Touch Anything: Take a Backup
If you still have hosting-panel access (cPanel, Kinsta, WP Engine, etc.), snapshot your files and database right now. The fixes below are safe, but starting from a known-good backup costs you nothing and protects you from surprises. If your host does nightly backups, confirm when the last one ran before proceeding.
Step 1: Turn On WordPress Debug Mode
WordPress suppresses PHP errors by default, which is why you see white instead of a useful message. Enable debug output to find out exactly what is failing.
Open wp-config.php in your host's file manager or via SFTP. Find the line that reads define( 'WP_DEBUG', false ); and replace the entire block with:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Setting WP_DEBUG_DISPLAY to false keeps errors out of the live front end but writes them to wp-content/debug.log. Now reload wp-admin, then open wp-content/debug.log in your file manager. The error message — including the file name and line number — will be there. That single line usually identifies the culprit immediately.
Common entries you will see:
- Fatal error: Allowed memory size exhausted — PHP ran out of memory.
- Fatal error: Call to undefined function … — a plugin or theme is calling a function that does not exist, usually because a dependency is missing or a file is corrupted.
- Parse error: syntax error — a file contains broken PHP, often from a manual edit or a failed update.
- Maximum execution time exceeded — a script is taking too long, common with poorly coded admin-only routines.
Read the log first. Everything that follows becomes much faster when you know the file and line number causing the problem.
Step 2: Raise the PHP Memory Limit
If the log shows a memory exhaustion error — or even if it does not and you want to rule it out — add this line to wp-config.php directly above the line that reads /* That's all, stop editing! */:
define( 'WP_MEMORY_LIMIT', '256M' );
Some hosts also let you set the PHP memory limit in php.ini or .htaccess. Check your host's documentation if wp-config.php alone does not change the limit. Reload wp-admin after saving. If the dashboard appears, memory was your problem. Consider investigating which plugin is consuming so much; a well-coded plugin should not require 256 MB on its own.
Step 3: Disable All Plugins via File Manager
Because you cannot reach wp-admin to deactivate plugins the normal way, you will rename the plugins folder instead. Open your file manager or SFTP client, navigate to wp-content/, and rename the plugins folder to plugins_disabled. WordPress will silently deactivate everything when it cannot find the folder.
Reload wp-admin. If your dashboard appears, a plugin was the cause. Now rename plugins_disabled back to plugins and reactivate them one at a time, reloading the admin after each, until the white screen returns. The last plugin you activated is the culprit. Leave it deactivated and contact the developer, update it, or find a replacement.
If the white screen persists after disabling all plugins, move to the next step.
Step 4: Switch to a Default Theme
Themes can register admin-only hooks and scripts that cause the same blank-screen behaviour. Via your file manager, navigate to wp-content/themes/ and rename your active theme's folder — for example, rename your-theme to your-theme-disabled. WordPress will automatically fall back to the most recently installed default theme (Twenty Twenty-Four or similar).
Reload wp-admin. If the dashboard loads, your theme was responsible — usually a bug introduced in a recent update or a manual customisation that introduced a syntax error. Restore your theme folder name, then investigate whether an update is available or whether a recent code change introduced the problem.
Step 5: Check for a Corrupted wp-admin Directory
If disabling plugins and themes makes no difference, the wp-admin directory itself may be partially corrupted — this happens after a failed WordPress core update or, occasionally, after a security incident where files are modified. Download a fresh copy of WordPress from wordpress.org matching your current version exactly, then upload and overwrite only the wp-admin and wp-includes folders via SFTP. Do not touch wp-content or wp-config.php. This replaces all core files without affecting your content, plugins, or settings.
After uploading, reload wp-admin. If it works, also visit Dashboard → Updates and click Re-install Now to confirm core is clean. If your site was recently compromised, see our guide on cleaning up a hacked WordPress site — a white screen in admin is sometimes the first visible sign of backdoor code injected into core files.
Step 6: Verify Your PHP Version
WordPress 6.x requires PHP 7.4 or higher, and most modern plugins require PHP 8.0+. If your host recently changed your PHP version — either upgrading or rolling back — a plugin or theme that was working may now throw a fatal error. Check your current PHP version in your hosting control panel and, if it changed recently, revert it or move to a supported version. Your debug log will usually name the offending function if a version mismatch is the cause.
How to Prevent This From Happening Again
Most admin white screens trace back to one of three preventable situations: an update that ran without a backup, a PHP version change without testing, or a plugin that was never properly vetted. A few habits eliminate nearly all of them:
- Stage updates before applying them live. Many managed hosts offer staging environments; use them for major plugin and theme updates.
- Keep automatic backups running. Daily off-site backups mean any fix takes minutes rather than hours.
- Monitor PHP error logs routinely. Catching a warning before it becomes a fatal error gives you time to act calmly.
- Vet plugins before installing. Check the support forum for recent reports of admin errors, verify the plugin is actively maintained, and confirm it has been tested with your current WordPress and PHP versions.
Our post on the WordPress maintenance routine that actually prevents emergencies covers all of this in detail if you want a structured schedule to follow.
When to Call a Professional
If you have worked through every step above and the admin is still white, you are likely looking at one of three harder problems: a deeply corrupted database, malware that has rewritten core files, or a server-level configuration issue your host needs to address. At that point, continuing to probe carries the risk of making the situation harder to untangle.
That is exactly what Mend's Emergency Rescue is built for. A senior engineer will triage your site, identify the root cause, fix it — most often the same day — and send you a plain-English report of exactly what happened and what changed. Every fix is backed by a money-back guarantee, and access is handled securely through the Mend Connect plugin with no passwords shared. If you are not sure what you are dealing with yet, the free Diagnosis triages the problem and gives you a flat price before any work begins.
Remember to remove or disable the WP_DEBUG lines from wp-config.php once your admin is working again — leaving debug mode on in production can expose file paths and other information you do not want visible.
Frequently asked questions
Why does the white screen only appear in wp-admin and not on the front end?
The admin and front end load different PHP code paths, scripts, and plugins. Something in the admin-specific code — usually a plugin with an admin-only hook, a memory limit that the heavier admin UI exceeds, or a corrupted admin file — causes a fatal PHP error that only triggers when wp-admin loads.
Can I fix the WordPress admin white screen without FTP or file manager access?
Most fixes require direct file access because you can't reach the dashboard to use its tools. If your host provides a file manager in cPanel or a similar panel, that works just as well as FTP. Without any file access at all, contact your host — they can often rename the plugins folder or increase the memory limit from their end.
Will disabling plugins and themes delete my content or settings?
No. Renaming the plugins or themes folder deactivates them without deleting any data. Your posts, pages, settings, and database remain completely intact. Plugin settings stored in the database are also preserved and will be restored when you reactivate the plugin.
How do I know if the admin white screen is caused by a hack rather than a plugin error?
Check your debug log for errors in core files like those inside wp-admin/ or wp-includes/ rather than in wp-content/plugins/ or wp-content/themes/. Errors originating in core files you haven't edited, unfamiliar file names in those directories, or recently modified timestamps on core files are all warning signs of a security incident rather than a simple plugin conflict.