Something’s wrong with your WordPress site. Maybe it’s a white screen. Maybe it’s an error message. Maybe nothing is loading at all. Your heart rate spikes. Your palms get sweaty.
Take a breath. Most WordPress problems have straightforward solutions. Here’s how to diagnose and fix them systematically.
The Golden Rule: Don’t Panic, Document
Before touching anything:
- Note exactly what’s happening (screenshot error messages)
- Note when it started (after an update? randomly?)
- Note what you were doing when it happened
- Check if the problem is everywhere or just one page
This information helps diagnose the issue and is essential if you need professional help.
White Screen of Death (WSOD)
The infamous blank white screen. No error, no content, just white.
Cause
Usually a PHP error that’s being hidden instead of displayed.
Diagnosis Steps
Step 1: Enable Debug Mode
Access wp-config.php via SFTP and change:
define('WP_DEBUG', false);
to:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Check wp-content/debug.log for error messages.
Step 2: Check PHP Error Log
Your hosting control panel usually has error logs. Look for recent PHP errors.
Step 3: Increase Memory Limit
Add to wp-config.php:
define('WP_MEMORY_LIMIT', '256M');
Common Solutions
Plugin conflict:
- Access files via SFTP
- Rename wp-content/plugins to wp-content/plugins_old
- Check if site loads
- If yes, rename back and deactivate plugins one by one
Theme issue:
- Via SFTP, rename your theme folder in wp-content/themes
- WordPress will fall back to a default theme
- If site loads, theme is the problem
PHP version incompatibility:
- Check hosting for PHP version settings
- Try a different PHP version (newer is usually better)
Error Establishing Database Connection
You see: “Error establishing a database connection”
Cause
WordPress can’t connect to the MySQL database.
Diagnosis Steps
Step 1: Check wp-config.php
Verify these values are correct:
define('DB_NAME', 'your_database_name');
define('DB_USER', 'your_database_user');
define('DB_PASSWORD', 'your_database_password');
define('DB_HOST', 'localhost');
Get correct values from your hosting control panel.
Step 2: Test Database Connection
Create a test file in your WordPress root called test-db.php:
<?php
$link = mysqli_connect('localhost', 'DB_USER', 'DB_PASSWORD', 'DB_NAME');
if (!$link) {
die('Connection failed: ' . mysqli_connect_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
Replace with your actual credentials. Visit yoursite.ie/test-db.php. Delete the file after testing!
Step 3: Check if Database Server is Running
Contact your host. Database servers occasionally crash or restart.
Common Solutions
- Correct wp-config.php credentials
- Recreate database user with proper permissions
- Wait for database server to restart
- Repair database via phpMyAdmin
500 Internal Server Error
A generic server error that could mean many things.
Diagnosis Steps
Step 1: Check Error Logs
Server error logs usually reveal the specific cause.
Step 2: Check .htaccess
Rename .htaccess to .htaccess_old. Try loading the site. If it works, the .htaccess was corrupted.
Regenerate by visiting Settings > Permalinks and saving.
Step 3: PHP Memory Limit
Add to wp-config.php:
define('WP_MEMORY_LIMIT', '256M');
Also check php.ini or .htaccess for memory limits.
Common Causes
- Corrupted .htaccess
- PHP memory limit exceeded
- Plugin or theme PHP errors
- File permission issues
- Server configuration problems
403 Forbidden Error
Access denied to a page or resource.
Common Causes
File Permissions:
Check WordPress file permissions:
- Directories: 755
- Files: 644
- wp-config.php: 600
Security Plugin Rules:
Security plugins can block legitimate access. Try deactivating temporarily.
Server Security Rules:
Your host’s firewall may be blocking requests. Check hosting security settings.
Empty Index Files:
Some directories need index.php files to prevent directory listing errors.
404 Not Found (for pages that exist)
Pages that should exist return 404.
Primary Cause
Permalink structure is broken.
Solution
- Go to Settings > Permalinks
- Don’t change anything
- Just click Save Changes
- This regenerates .htaccess
If That Doesn’t Work
Check .htaccess exists and contains:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
On Nginx servers, ask your host about WordPress rewrite rules.
Admin Lockout
You can’t log in to WordPress admin.
Forgot Password
Use the “Lost your password?” link on the login page.
If you don’t receive the email:
- Check spam folder
- Check your hosting email settings
- Reset password directly in database
Database Password Reset:
In phpMyAdmin, find wp_users table, find your user, edit, and change user_pass to a new password using MD5 function.
Too Many Failed Attempts
If a security plugin locked you out:
- Access files via SFTP
- Rename the security plugin folder
- Log in
- Reconfigure security plugin
Redirect Loop
If login keeps redirecting:
- Clear browser cookies for your domain
- Check wp-config.php for SITEURL/HOME settings
- Check for plugin conflicts
Site Redirecting to Wrong URL
Your site redirects to an old domain or wrong URL.
Check WordPress Settings
In wp-config.php, add:
define('WP_HOME','https://correctdomain.ie');
define('WP_SITEURL','https://correctdomain.ie');
Check Database
In phpMyAdmin, check wp_options table for:
- siteurl
- home
Update if incorrect.
Check .htaccess
Look for redirect rules pointing to old URLs.
Slow Loading / Timing Out
Site loads extremely slowly or times out.
Quick Checks
- Is it just your connection? Try different network, check isitdown.ie
- Server status: Check host status page
- Recent changes: Did you install/update something?
Common Causes
Plugin hogging resources:
- Install Query Monitor plugin
- Check for slow database queries
- Check for slow external HTTP requests
- Deactivate suspects one by one
Hosting resource limits:
Check hosting control panel for:
- CPU usage
- Memory usage
- I/O limits
- Traffic spikes
External service issues:
API calls to slow or down services can hang your site. Check:
- Payment gateways
- Email services
- Social media integrations
- Analytics loading
Database issues:
Run database optimisation. Check for bloated tables.
Mixed Content / SSL Issues
Padlock shows warning or content doesn’t load correctly.
Diagnosis
Browser developer tools > Console shows mixed content warnings.
Solutions
Update URLs in database:
Use Better Search Replace plugin:
- Search for: http://yoursite.ie
- Replace with: https://yoursite.ie
- Run on all tables
Check wp-config.php:
Ensure SITEURL uses https.
Check .htaccess:
Add redirect for HTTP to HTTPS.
Use Really Simple SSL:
This plugin fixes most mixed content issues automatically.
Plugin or Theme Conflicts
Something broke after installing/updating.
Diagnosis Method
For plugins:
- Deactivate all plugins
- Check if problem is resolved
- Reactivate one by one until problem returns
- That’s your culprit
For themes:
- Switch to a default theme (Twenty Twenty-Four)
- Check if problem is resolved
- If yes, theme is the issue
Can’t Access Admin?
Via SFTP:
- Navigate to wp-content/plugins
- Rename suspect plugin folder
- WordPress auto-deactivates it
For themes:
- Navigate to wp-content/themes
- Rename your theme folder
- WordPress uses a default theme
When to Call for Help
Get professional help if:
- You’re not comfortable with file/database access
- The problem persists after basic troubleshooting
- Data loss is possible
- Downtime is costing money
- You’ve made the problem worse
What to Tell Support
- What exactly is happening (screenshots)
- When it started
- What changed before it started
- What you’ve already tried
- Access credentials they might need
Preventive Measures
Avoid future emergencies:
- Keep regular backups — Test that they work
- Use staging for updates — Never update on production without testing
- One change at a time — Easier to identify problems
- Document your setup — Know your plugins, theme, configurations
- Monitor your site — Know when problems start
The SparkHost Advantage
Our managed hosting clients rarely experience these issues because:
- We monitor proactively — Problems detected before you notice
- We test updates — Staging prevents update disasters
- We maintain backups — Easy restoration if needed
- We provide support — Real WordPress experts, not script readers
- We fix problems — Troubleshooting is included in managed plans
But if you manage your own WordPress, keep this guide bookmarked. When panic hits, systematic troubleshooting beats flailing every time.