Your WordPress site is broken. Maybe it shows a white screen. Maybe it won’t let you log in. Maybe it’s been hacked. This guide shows you how to fix the most common WordPress problems yourself, without calling a developer for every issue.
This is written for business owners, not technical people. Each fix includes step-by-step instructions you can actually follow.
When to Fix It Yourself vs Hire Someone
Fix It Yourself If:
- Your site is slow but functional
- You’re locked out of admin
- Plugins are causing conflicts
- You see error messages
- Images won’t upload
- Pages won’t update
Hire a Developer If:
- The site is completely hacked (redirects to spam)
- The database is corrupted
- The server is down
- Custom code is broken
- You see “Critical error” with no access
- You’ve tried fixes below, and nothing works
Developer Cost Estimate:
- Simple fixes: $100-200
- Medium repairs: $200-500
- Major recovery: $500-1,500
Essential Preparation (Do This First)
Create a Backup Right Now
Even if your site is broken, create a backup before attempting any fixes. You can always restore if something goes wrong.
If you can access your hosting control panel:
- Log into your hosting account (cPanel, Plesk, etc.)
- Find “Backup” or “Backup Wizard”
- Download full backup to your computer
- Keep it safe
If you can’t access anything:
Contact your hosting support and ask them to create a backup before you start repairs.
Find Your WordPress Credentials
You’ll need these for most fixes:
- Hosting login (cPanel, Plesk, or hosting dashboard)
- WordPress admin login (yoursite.com/wp-admin)
- FTP credentials (host, username, password)
- Database credentials (in wp-config.php file)
Don’t have them? Contact your hosting company for a password reset.
Problem 1: White Screen of Death (Blank Page)
What it looks like:
Your site shows a completely blank white page. No error message. Just white.
What causes it:
- PHP memory limit exceeded
- Plugin conflict
- Theme conflict
- Corrupted file
Fix 1: Increase PHP Memory Limit
Step 1: Access your site via FTP or File Manager (in cPanel)
Step 2: Find the file wp-config.php in your root directory
Step 3: Add this line right before /* That's all, stop editing! */:
define('WP_MEMORY_LIMIT', '256M');
Step 4: Save the file and check your site
Fix 2: Disable All Plugins
Step 1: Access your site via FTP or File Manager
Step 2: Navigate to wp-content/plugins/
Step 3: Rename the plugins folder to plugins-disabled
Step 4: Check if your site loads now
If it works:
- Your problem was a plugin
- Rename folder back to
plugins - Rename each plugin folder one by one to identify the culprit
- Delete or update the broken plugin
Fix 3: Switch to Default Theme
Step 1: Access your site via FTP or File Manager
Step 2: Navigate to wp-content/themes/
Step 3: Rename your active theme folder (add -disabled to the name)
Step 4: WordPress will automatically switch to a default theme
Step 5: Check if your site loads now
If it works:
- Your theme was the problem
- Download a fresh copy of your theme
- Upload and activate it
- If problem returns, contact theme developer
Problem 2: Locked Out of WordPress Admin
What it looks like:
You can’t log into yoursite.com/wp-admin. Wrong password message, or login page won’t load.
Fix 1: Reset Password via Email
Step 1: Go to yoursite.com/wp-admin
Step 2: Click “Lost your password?”
Step 3: Enter your email address
Step 4: Check email for reset link
Step 5: Create new password
If you don’t receive the email:
Your WordPress email isn’t working. Try Fix 2.
Fix 2: Reset Password via Database
Step 1: Log into your hosting control panel (cPanel)
Step 2: Open phpMyAdmin
Step 3: Select your WordPress database (usually starts with wp_)
Step 4: Find the wp_users table
Step 5: Click “Edit” on your username
Step 6: In the user_pass field:
- Select MD5 from the Function dropdown
- Enter your new password
- Click “Go”
Step 7: Try logging in with your new password
Fix 3: Create New Admin User via Database
Step 1: Access phpMyAdmin (same as above)
Step 2: Select your WordPress database
Step 3: Click “SQL” tab at the top
Step 4: Copy and paste this code (replace the values in quotes):
INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ('newadmin', MD5('newpassword123'), 'newadmin', 'your@email.com', '0');
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');
Step 5: Click “Go”
Step 6: Log in with:
- Username: newadmin
- Password: newpassword123
Step 7: Change your password immediately after logging in
Problem 3: Site Hacked or Shows Spam
What it looks like:
- Site redirects to spam/casino sites
- Strange links in footer
- Can’t access admin
- Google warns “This site may be hacked”
Immediate Actions (Do These First)
Step 1: Change All Passwords
- Hosting account password
- WordPress admin password
- FTP password
- Database password
Step 2: Contact Your Host
Tell them your site is hacked. Many hosts offer free malware scanning and removal.
Fix 1: Use Security Plugin to Scan
Step 1: If you can access WordPress admin:
Step 2: Install Wordfence Security (free plugin)
Step 3: Go to Wordfence → Scan
Step 4: Click “Start New Scan”
Step 5: Wait for scan to complete (can take 30+ minutes)
Step 6: Review flagged files and delete/repair them
Fix 2: Manual Malware Removal
Step 1: Download fresh WordPress files from wordpress.org
Step 2: Access your site via FTP
Step 3: Replace these core folders with fresh copies:
- /wp-admin/
- /wp-includes/
DO NOT replace:
- wp-config.php
- /wp-content/ folder
Step 4: Check all files in /wp-content/themes/ for suspicious code
Step 5: Delete any plugins you don’t recognize
Step 6: Update all remaining plugins and themes
Fix 3: Restore from Clean Backup
If you have a backup from before the hack:
Step 1: Log into your hosting control panel
Step 2: Find “Backup” or “Restore”
Step 3: Upload your backup file
Step 4: Restore the backup
Step 5: Immediately update WordPress, all plugins, and themes
Step 6: Change all passwords
Problem 4: Internal Server Error (500 Error)
What it looks like:
“Internal Server Error” or “500 Error” message when you try to access your site.
What causes it:
- Corrupted .htaccess file
- PHP memory limit
- Plugin conflict
- Theme conflict
Fix 1: Reset .htaccess File
Step 1: Access your site via FTP or File Manager
Step 2: Find .htaccess file in root directory (same folder as wp-config.php)
Step 3: Download it as backup
Step 4: Delete the .htaccess file
Step 5: Try accessing your site
If it works:
Step 6: Log into WordPress admin
Step 7: Go to Settings → Permalinks
Step 8: Click “Save Changes” (this recreates .htaccess)
Fix 2: Increase PHP Memory
Same as White Screen Fix 1 (add memory limit to wp-config.php)
Fix 3: Disable Plugins
Same as White Screen Fix 2 (rename plugins folder)
Problem 5: Can’t Upload Images or Files
What it looks like:
Upload button doesn’t work, or you get error messages when uploading images.
Fix 1: Check File Permissions
Step 1: Access site via FTP
Step 2: Navigate to wp-content/uploads/
Step 3: Right-click the uploads folder
Step 4: Select “File Permissions” or “CHMOD”
Step 5: Set permissions to 755 or 775
Step 6: Check “Apply to directories recursively”
Step 7: Click OK
Fix 2: Increase Upload Limits
Step 1: Access cPanel File Manager
Step 2: Create new file named php.ini in root directory
Step 3: Add these lines:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
Step 4: Save and try uploading again
Alternative: Create .htaccess file with:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
Problem 6: Site Extremely Slow
What it looks like:
Pages take 5+ seconds to load. Admin dashboard is sluggish.
Fix 1: Install Caching Plugin
Step 1: Log into WordPress admin
Step 2: Go to Plugins → Add New
Step 3: Search for “WP Super Cache” or “W3 Total Cache”
Step 4: Install and activate
Step 5: Go to plugin settings and enable caching
Immediate improvement: 40-60% faster load times
Fix 2: Optimize Images
Step 1: Install “ShortPixel” or “Smush” plugin
Step 2: Run bulk optimization on existing images
Step 3: Set plugin to auto-optimize new uploads
Fix 3: Disable or Remove Unused Plugins
Step 1: Go to Plugins → Installed Plugins
Step 2: Deactivate plugins you don’t actively use
Step 3: Delete deactivated plugins
Rule: If you haven’t used a plugin in 30 days, delete it
Fix 4: Update Everything
Step 1: Go to Dashboard → Updates
Step 2: Update WordPress core
Step 3: Update all plugins
Step 4: Update theme
Note: Backup first (use UpdraftPlus plugin)
Problem 7: Database Connection Error
What it looks like:
“Error establishing a database connection” message.
Fix 1: Check wp-config.php Database Settings
Step 1: Access site via FTP
Step 2: Download wp-config.php file
Step 3: Check these lines are correct:
define('DB_NAME', 'your_database_name');
define('DB_USER', 'your_database_user');
define('DB_PASSWORD', 'your_database_password');
define('DB_HOST', 'localhost');
Step 4: Contact your hosting to confirm correct values
Step 5: Update if necessary and re-upload file
Fix 2: Repair Database
Step 1: Add this line to wp-config.php (before “That’s all”):
define('WP_ALLOW_REPAIR', true);
Step 2: Visit: yoursite.com/wp-admin/maint/repair.php
Step 3: Click “Repair Database”
Step 4: After repair, REMOVE the line from wp-config.php
Fix 3: Contact Hosting Support
Database errors often mean:
- Database server is down
- Database was deleted
- Hosting account suspended
Contact your host immediately if fixes 1-2 don’t work.
Problem 8: Plugin or Theme Causing Errors
What it looks like:
Site broke immediately after updating or installing plugin/theme.
Fix 1: Access Safe Mode
Step 1: Add this to wp-config.php:
define('WP_DISABLE_FATAL_ERROR_HANDLER', true);
Step 2: This may show actual error message
Step 3: Google the error message for specific fix
Fix 2: Reinstall Problem Plugin/Theme
Step 1: Access site via FTP
Step 2: Delete the problematic plugin folder from wp-content/plugins/
Step 3: Re-download fresh copy from WordPress.org
Step 4: Upload via FTP
Step 5: Activate and test
Fix 3: Check for Compatibility
Step 1: Check plugin’s WordPress.org page
Step 2: Read “Compatibility” section
Step 3: Verify plugin works with your WordPress version
Step 4: Read recent reviews for reported issues
If incompatible: Find alternative plugin or contact developer
Problem 9: Updates Breaking Site
What it looks like:
Site broke after updating WordPress, plugin, or theme.
Prevention (Do This Before Every Update)
Step 1: Create backup (use UpdraftPlus plugin)
Step 2: Update on staging site first (if available)
Step 3: Update one item at a time (not all at once)
Step 4: Check site after each update
Recovery: Restore Previous Version
Option 1: Via Plugin
Step 1: Log into WordPress (if possible)
Step 2: Go to UpdraftPlus → Restore
Step 3: Select backup from before update
Step 4: Click Restore
Option 2: Via FTP
Step 1: Download previous version of plugin/theme
Step 2: Access site via FTP
Step 3: Delete current version
Step 4: Upload previous version
Step 5: Test site
Option 3: Downgrade WordPress
Not recommended unless critical
Step 1: Download older WordPress version from wordpress.org/download/releases/
Step 2: Upload and replace wp-admin and wp-includes folders
Step 3: Visit yoursite.com/wp-admin to run downgrade
Problem 10: SSL Certificate Errors
What it looks like:
“Not Secure” warning in browser, or mixed content warnings.
Fix 1: Install Really Simple SSL Plugin
Step 1: Log into WordPress admin
Step 2: Install “Really Simple SSL” plugin
Step 3: Activate plugin
Step 4: Click “Go ahead, activate SSL”
Done: Plugin automatically fixes most SSL issues
Fix 2: Update Site URLs Manually
Step 1: Log into phpMyAdmin
Step 2: Select your WordPress database
Step 3: Click SQL tab
Step 4: Run this query (replace with your domain):
UPDATE wp_options SET option_value = replace(option_value, 'http://yourdomain.com', 'https://yourdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://yourdomain.com','https://yourdomain.com');
Step 5: Clear cache and check site
Essential Tools for WordPress Repair
Required Access Methods
FTP Client:
- FileZilla (free, Windows/Mac)
- Download from filezilla-project.org
- Lets you access and edit site files
Where to find FTP credentials:
Your hosting control panel or welcome email
Must-Have Plugins (Install These Now)
UpdraftPlus (Free)
- Automatic backups
- One-click restore
- Saves to cloud storage
Wordfence Security (Free)
- Malware scanning
- Firewall protection
- Login security
WP-Optimize (Free)
- Database cleanup
- Image compression
- Cache cleaning
Health Check & Troubleshooting (Free)
- Built-in WordPress plugin
- Enables troubleshooting mode
- Helps identify conflicts
Helpful Browser Bookmarks
Save these for when you need them:
- Your hosting control panel login
- WordPress.org plugin directory
- phpMyAdmin login (in cPanel)
- Your FTP bookmarks
- Your site’s staging URL (if you have one)
Preventive Maintenance Checklist
Do these monthly to avoid most problems:
Monthly Tasks
- [ ] Create full backup (database + files)
- [ ] Update WordPress core
- [ ] Update all plugins (one at a time, test after each)
- [ ] Update theme
- [ ] Delete unused plugins
- [ ] Delete spam comments
- [ ] Run security scan (Wordfence)
- [ ] Check site speed (PageSpeed Insights)
- [ ] Test contact forms
- [ ] Check for broken links
Quarterly Tasks
- [ ] Review and optimize database
- [ ] Check disk space usage
- [ ] Review security logs
- [ ] Test all site functionality
- [ ] Update emergency contact information
- [ ] Verify backups actually work (test restore)
Annual Tasks
- [ ] Renew domain name
- [ ] Renew SSL certificate
- [ ] Review hosting plan (upgrade if needed)
- [ ] Delete old backups
- [ ] Full site audit
- [ ] Password changes (all accounts)
When to Call a Professional
Don’t waste days trying to fix:
Call immediately if:
- Site is completely inaccessible for 4+ hours
- You’ve been hacked and can’t clean it
- Database corruption messages appear
- You’ve tried multiple fixes with no improvement
- Your business is losing money every hour site is down
Where to find help:
Budget Option ($50-150):
- Fiverr (search “WordPress fix”)
- Upwork (post your problem)
- Codeable (vetted WordPress experts)
Premium Option ($150-500):
- WP Buffs (maintenance + repairs)
- Maintainn (monthly maintenance)
- Local WordPress developer
Emergency Option (24/7):
- WP Fix It (premium emergency service)
- Your hosting’s paid support
What to provide developer:
- Clear description of problem
- What you tried already
- WordPress admin login
- FTP credentials
- Hosting login (if needed)
Emergency Contact Template
Save this information somewhere safe (not on your WordPress site):
WORDPRESS EMERGENCY INFO
Site URL: _______________
WordPress Admin: _______________
Username: _______________
Password: _______________
Hosting Company: _______________
Hosting Login: _______________
Username: _______________
Password: _______________
FTP Host: _______________
FTP Username: _______________
FTP Password: _______________
Database Name: _______________
Database User: _______________
Database Password: _______________
Domain Registrar: _______________
Login: _______________
DNS Provider: _______________
Login: _______________
Emergency Developer Contact: _______________
Phone: _______________
Last Backup Date: _______________
Backup Location: _______________
Final Advice
Before touching anything:
- Create a backup
- Document what’s broken
- Try the simplest fix first
- Change only one thing at a time
- Test after each change
If you break something worse:
- Don’t panic
- Restore from backup
- Call a professional
- Learn from the experience
Most important rule:
Backup before attempting any fix. Always. No exceptions.
Your WordPress site will break eventually. That’s normal. What matters is how quickly you can fix it. Bookmark this guide and refer to it when problems happen.
Most WordPress issues have simple solutions. Start with the easy fixes, and only escalate to professionals when necessary. You’ll save time and money while learning how your website actually works.