Fix WordPress White Screen of Death on SA Hosts
The WordPress White Screen of Death halts your site instantly. Learn the exact debug steps, plugin conflicts, memory limits, and PHP errors to diagnose and fix WSOD on South African hosting—with HostWP's proven troubleshooting method.
Key Takeaways
- Enable WordPress debug mode in wp-config.php to reveal the exact PHP error causing the white screen—most WSOD issues stem from plugin conflicts, memory exhaustion, or incompatible PHP versions
- Increase your PHP memory limit to 256MB minimum (512MB for WooCommerce) and deactivate all plugins via FTP or phpMyAdmin to isolate the culprit
- On South African managed hosts, request LiteSpeed restart or check load shedding impact; HostWP provides 24/7 support for WSOD recovery within minutes
The WordPress White Screen of Death (WSOD) is one of the most frustrating errors—your entire site vanishes, showing only a blank white page with no error message. No admin access, no error logs, nothing. If you're running WordPress on a South African host, WSOD typically means a fatal PHP error, memory limit breach, or incompatible plugin. I've helped dozens of HostWP clients recover from WSOD in under 30 minutes using a systematic debug approach. This guide walks through the exact steps I use to diagnose and fix WSOD, tailored for SA hosting environments.
The blank screen happens because WordPress encounters a critical error—usually a syntax error, undefined function, or out-of-memory condition—but your host's error reporting is switched off. Without debug mode enabled, you see nothing. The good news: WSOD is almost always recoverable. You just need to find the error, remove or update the offending code, and restart.
In This Article
Enable WordPress Debug Mode to Reveal the Error
The first and most critical step is turning on WordPress debug logging. This writes PHP errors to a file instead of hiding them. Connect to your site via FTP or SSH, then edit wp-config.php (in your root WordPress directory). Find the line that says define( 'WP_DEBUG', false ); and replace it with:
define( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );define( 'WP_DEBUG_DISPLAY', false );
This writes errors to /wp-content/debug.log instead of displaying them on the front-end. Once saved, reload your site. The white screen may still appear, but now you have a log file. Download it via FTP and open it in a text editor. You'll see lines like "Fatal error: Allowed memory size exceeded" or "Call to undefined function..." The error message tells you exactly what's broken.
Zahid, Senior WordPress Engineer at HostWP: "At HostWP, we've seen WSOD in over 200 client sites over the past 18 months. In 73% of cases, debug.log revealed a plugin update incompatibility or a custom code snippet with a typo. Once we enabled debug mode, the fix took 5–10 minutes. Without it, clients guess blindly for hours."
If the debug.log file doesn't appear, it means WordPress never even loaded—the error happened before WordPress initialised. This usually points to a fatal syntax error in wp-config.php, functions.php, or .htaccess. Check those files for typos (missing semicolons, mismatched quotes). On managed hosts like HostWP, you can also contact support to check the server error logs at /var/log/apache2/error.log or /var/log/lsws/error.log (if using LiteSpeed).
Check and Increase PHP Memory Limit
A common cause of WSOD is PHP running out of memory. By default, WordPress allocates 40–64MB to PHP. If a plugin loads 500,000 posts into memory or your theme has unoptimised images, you hit the limit and PHP shuts down with a white screen.
Add this line to wp-config.php (before the line "That's all, stop editing!"):
define( 'WP_MEMORY_LIMIT', '256M' );define( 'WP_MAX_MEMORY_LIMIT', '512M' );
For WooCommerce sites, especially on SA hosts serving multiple provinces with varying load, 256MB–512MB is standard. On HostWP's plans, we allow up to 512MB by default, but you must increase it in wp-config.php to use it. After editing, test your site. If WSOD clears, you've solved it. If not, debug.log will now show the next error (because PHP has more breathing room).
You can also check your limit via a free plugin like WP Control if the site ever loads—it displays current PHP memory usage. If you can't install plugins due to WSOD, use SSH to run: php -r "echo ini_get('memory_limit');". This shows your current allocation.
Isolate Plugin or Theme Conflicts via FTP
If debug.log points to a specific plugin or if you just activated a new plugin before WSOD appeared, the issue is likely a plugin conflict or a faulty theme. The safest isolation method is via FTP—you rename plugin folders, which deactivates them without needing admin access.
Connect via FTP to /wp-content/plugins/. Rename every plugin folder by adding -disabled to the end, e.g., woocommerce becomes woocommerce-disabled. Reload your site. If it loads, you've isolated the culprit. Rename folders back one at a time until the white screen returns—that's your problematic plugin. Document which plugin caused it, then decide: update it, replace it, or contact the plugin author's support.
If the site still shows white screen after disabling all plugins, the issue is your theme or WordPress core. Rename /wp-content/themes/your-active-theme/ to force WordPress back to a default theme like Twenty Twenty-Three. If that fixes it, your theme has a fatal error—contact the theme developer or switch to a stable alternative. Most professional SA theme providers (like Woovina or Neve) offer quick support, especially if you bought via a local reseller.
At HostWP, we often help clients trace WSOD to outdated themes used on sites built 3+ years ago. Modern WordPress requires PHP 7.4+ and compatible themes. If your theme hasn't been updated in 24 months, that's likely your problem.
Not sure which plugin is causing WSOD? Let our team diagnose it in 15 minutes.
Get a free WordPress audit →Verify PHP Version Compatibility
WordPress 6.0+ requires PHP 7.4 as a minimum; WordPress 6.4 strongly recommends PHP 8.0+. If you're on PHP 5.6 or 7.2 (surprisingly common on older SA hosting accounts), modern plugins and themes will crash. Check your PHP version in two ways:
Method 1 (With Admin Access): Install Health Check & Troubleshooting plugin. Go to Tools → Site Health. It shows your exact PHP version.
Method 2 (No Admin Access): Create a file called info.php in your root directory with this code:
<?php phpinfo(); ?>
Visit yoursite.com/info.php. It displays your PHP version, installed extensions, and memory settings. After checking, delete info.php (it's a security risk to leave exposed). On HostWP, all plans run PHP 8.1+ by default, but if you migrated from an older host, you may inherit an older version. Contact support to upgrade—it's usually instant and free on managed hosting.
If upgrading PHP triggers new WSOD, it means a plugin is incompatible with the new version. Use the plugin isolation method above to find it. Many old WooCommerce extensions break on PHP 8+; check WordPress.org plugins page for version compatibility before upgrading PHP.
Server-Level Checks: LiteSpeed, Load Shedling & MySQL
On managed WordPress hosts in South Africa, WSOD can sometimes stem from server-side issues beyond your WordPress files. If you've debugged wp-config.php and plugins, check three server factors:
1. Web Server Restart (LiteSpeed on HostWP): LiteSpeed sometimes caches corrupted data or gets stuck in a hung process. Restart the web server via your host's control panel (usually under "Services") or ask support. On HostWP, a LiteSpeed restart takes 30 seconds and clears many phantom WSOD issues. This is more common during load shedding when power drops kick databases offline mid-request.
2. Load Shedding and Power Stability: South Africa's rolling blackouts cause unexpected MySQL disconnects and corrupted database states. If WSOD started around a load-shedding window, your MySQL database may have crashed. Restart MySQL via cPanel/Plesk, or ask your host. On HostWP's Johannesburg infrastructure, we use redundant UPS and generator backup to prevent this, but not all SA hosts do. If you're on Xneelo, Afrihost, or WebAfrica and experience WSOD during Stage 4+ load shedding, this is the likely cause.
3. MySQL Connection and Database Corruption: If WordPress can't reach MySQL, you get a white screen. Check your wp-config.php database credentials are correct:
define( 'DB_NAME', 'yourdbname' );define( 'DB_USER', 'yourdbuser' );define( 'DB_PASSWORD', 'yourpassword' );
One typo breaks the connection. You can test the database connection by uploading a small test script or asking your host to run a database repair via phpMyAdmin → Tools → Check Tables. Corruption happens after unexpected shutdowns; a repair usually fixes it in seconds.
If WSOD persists after all these checks, your hosting environment may have deeper issues (disk space full, PHP FPM crash, SELinux restrictions). Contact your host's support. On HostWP, our 24/7 South African support team (based near Johannesburg) investigates these cases and usually resolves WSOD within 30 minutes. We've handled over 500 WSOD migrations from unreliable hosts, and almost always find the root cause within the first support ticket.
Frequently Asked Questions
Q: Can I fix WSOD if I can't access FTP or SSH?
A: Yes, if you have cPanel or Plesk access, use the file manager to navigate to wp-content/plugins and rename folders directly. Or ask your hosting provider to disable plugins for you. If you have zero access, contact support—they can isolate the issue remotely using server logs.
Q: Does WSOD mean my site is hacked?
A: Not necessarily. WSOD is usually a plugin conflict or memory limit, not malware. However, if debug.log shows suspicious code or if you notice backdoors in plugins, scan your site with Wordfence or Sucuri. Load shedding-induced database corruption also causes WSOD—it's common in South Africa, not a hack.
Q: How do I prevent WSOD in future?
A: Keep WordPress, plugins, and themes updated monthly. Test updates on a staging environment first. Monitor your site's health via Site Health Check. Set WP memory to 256MB+ from day one. Use managed hosting with automatic backups (like HostWP) so you can revert if updates break things.
Q: Is WSOD the same as the 404 error?
A: No. A 404 shows "Page Not Found" text and an HTTP status. WSOD is completely blank—no text, no error code. A blank page usually means a fatal PHP error, not a missing page. Check debug.log to confirm.
Q: My host says WSOD is "my plugin" and won't help—what do I do?
A: If your host refuses to investigate server logs or help with WordPress troubleshooting, they're not providing managed hosting support. Migrate to a proper managed host like HostWP. Our support includes plugin conflict resolution, PHP version management, and WSOD recovery as standard. We migrate sites free, so there's no cost to switch.