Disaster Recovery GuidePRO
When your WordPress site is completely broken and you can't access the admin panel, this guide will help you recover. Bookmark this page - you'll want access to it even when your site is down.
Before Disaster Strikes
The best disaster recovery starts before anything goes wrong. Set up these safeguards now while your site is working.
Generate a Recovery Key Do This Now
A recovery key lets you restore your site without accessing WordPress admin.
Go to SiteVault > Settings
Access the plugin settings from your WordPress admin.
Find Disaster Recovery section
Scroll down to the Disaster Recovery settings.
Click Generate Recovery Key
A 32-character secure key will be created.
Save the key securely
Store it in a password manager, print it, or email it to yourself. Do NOT save it only on your WordPress site!
Keys expire after 24 hours for security. Generate a new one periodically or when you need to recover.
Your Recovery Information Checklist
Store this information somewhere outside your WordPress site:
- Recovery Key - 32-character key from SiteVault settings
- Recovery URL - yourdomain.com/?rb_recovery=YOUR_KEY
- FTP/SFTP credentials - Host, username, password, port
- Database credentials - DB name, user, password, host (from wp-config.php)
- Hosting control panel login - URL, username, password
- phpMyAdmin access - Usually through hosting control panel
- Most recent backup location - Local server, cloud storage, or download
Method 1: Recovery Key (Easiest)
If you generated a recovery key before the disaster, this is the fastest way to recover.
Using Your Recovery Key PRO
Access the Recovery URL
Visit: https://yourdomain.com/?rb_recovery=YOUR_32_CHAR_KEY
Replace YOUR_32_CHAR_KEY with your actual recovery key.
Recovery Interface Loads
You'll see a standalone recovery interface (works even if WordPress is broken).
Select a Backup
Choose from available backups stored on your server.
Click Restore
The recovery process runs independently of WordPress.
Wait for Completion
Do not close the browser. When done, your site should be restored.
If the key is expired (older than 24 hours), invalid, or the recovery endpoint isn't responding, you'll need to use manual recovery methods below.
Method 2: Manual Recovery (FTP + Database)
If you don't have a recovery key or it's not working, you can manually restore from a backup. This method works even if WordPress is completely broken.
What You'll Need Advanced
- FTP/SFTP credentials - Host, username, password, port (usually 21 for FTP, 22 for SFTP)
- Database access - phpMyAdmin through your hosting panel
- Your backup files - Either on the server, downloaded locally, or in cloud storage
- An FTP client - FileZilla (free), Cyberduck, or WinSCP
FTP credentials: Check your hosting welcome email, or find them in your hosting panel (cPanel > FTP Accounts, Plesk > FTP Access).
Database credentials: Look in your current wp-config.php file, or check cPanel > MySQL Databases.
Step 1: Connect to Your Server via FTP
Open FileZilla (or your preferred FTP client) and enter your credentials:
- Host: Your domain (e.g.,
ftp.yourdomain.com) or server IP - Username: Your FTP username (often your cPanel username)
- Password: Your FTP password
- Port: 21 for FTP, 22 for SFTP (more secure)
Click Quickconnect. Once connected, navigate to your WordPress directory (usually /public_html/ or /www/).
Step 2: Locate Your Backup Files
SiteVault stores backups in: wp-content/sitevault/
Inside you'll find folders named by date. Each backup contains:
backup-files-YYYY-MM-DD.zip- All your WordPress filesbackup-database-YYYY-MM-DD.sql- Your database export
Check these alternative locations:
- Your local computer (if you downloaded backups previously)
- Cloud storage (Google Drive, Dropbox, S3) if you set up remote storage
- Email attachments if you configured email notifications with backup links
Step 3: Download and Extract the Backup
Option A: Extract locally (recommended for shared hosting)
- Download the backup ZIP file to your computer via FTP
- Right-click the ZIP and choose "Extract All" (Windows) or double-click (Mac)
- You should see a complete WordPress folder structure (wp-admin, wp-content, wp-includes, etc.)
Option B: Extract on server (if your host supports it)
- Log into cPanel > File Manager
- Navigate to
wp-content/sitevault/ - Right-click the ZIP file and select "Extract"
- Choose to extract to your WordPress root directory
Step 4: Prepare Your WordPress Directory
Before uploading, decide your approach:
Scenario A: WordPress is broken but files exist
- Download and save your current
wp-config.php(you'll need the database credentials) - You can upload backup files directly, overwriting existing files
Scenario B: Fresh server / empty directory
- You'll need to create a database first (see Step 5a below)
- Upload all backup files including wp-config.php
- Edit wp-config.php with your new database credentials
If you're restoring to the same server, your existing wp-config.php has the correct database credentials. Don't overwrite it with the backup's wp-config.php unless you're on a new server.
Step 5: Upload Files via FTP
- In FileZilla, navigate to your extracted backup folder on the left (Local site)
- Navigate to your WordPress directory on the right (Remote site)
- Select all files and folders from your backup
- Right-click and choose "Upload"
- When prompted about existing files, choose "Overwrite" and check "Apply to all"
Uploading thousands of files can take 30-60+ minutes on slow connections. Don't interrupt the transfer. Consider using "Transfer > Process Queue" to resume if disconnected.
Step 5a: Create Database (Fresh Server Only)
If you're restoring to a new hosting account, you need to create a database first:
- Log into cPanel and find MySQL Databases
- Create a new database (e.g.,
yourdomain_wp) - Create a new database user with a strong password
- Add the user to the database with All Privileges
- Note down: database name, username, and password
Step 6: Import Your Database
This is the most critical step - your database contains all your content, settings, and users.
Via phpMyAdmin:
- Log into cPanel and open phpMyAdmin
- Select your WordPress database from the left sidebar
- If restoring over existing data: Click the Operations tab, scroll to "Remove database", and delete all tables first (or select all tables and choose "Drop")
- Click the Import tab at the top
- Click "Choose File" and select your
.sqlbackup file - Leave settings as default (Format: SQL, Charset: utf8mb4)
- Click Go to start the import
phpMyAdmin typically limits imports to 50-100MB. If your database is larger:
- Use cPanel's MySQL Database Wizard import feature
- Contact your host to import the file server-side
- Use a tool like Adminer or BigDump
Step 7: Update wp-config.php
If you're on a new server or created a new database, update wp-config.php with your credentials:
- Download wp-config.php from your server via FTP
- Open it in a text editor (Notepad++, VS Code, or even regular Notepad)
- Find and update these lines:
- Save the file and upload it back to your server, overwriting the existing one
Also check that $table_prefix matches your database tables. It's usually wp_ but might be different if you customized it. Look at your tables in phpMyAdmin to confirm (e.g., wp_posts, wp_options).
Step 8: Test Your Site
Visit your website. If everything worked, you should see your restored site!
If you see errors:
- "Error establishing database connection" - Double-check wp-config.php credentials
- White screen - Enable debug mode (add
define('WP_DEBUG', true);to wp-config.php) - 500 Internal Server Error - Check file permissions (755 for folders, 644 for files)
- Redirects to old domain - Update site URL in database (see URL Replacement Issues)
Post-restore checklist:
- Log into WordPress admin
- Visit Settings > Permalinks and click "Save" (refreshes rewrite rules)
- Check that images load correctly
- Test a few pages and posts
- Verify plugins are working
Method 3: Restore from Cloud Storage
If your server was completely wiped but you have backups in cloud storage, you can recover.
Recovering from Cloud PRO
Access Your Cloud Storage
Log into Google Cloud, Amazon S3, Dropbox, or OneDrive where your backups are stored.
Download the Latest Backup
Find the most recent backup (date in filename) and download both the ZIP file and SQL file.
Set Up Fresh WordPress (if needed)
If your server is wiped, install fresh WordPress from wordpress.org first.
Upload and Import
Upload extracted backup files via FTP and import database via phpMyAdmin (see manual method above).
Reactivate SiteVault
Once restored, SiteVault should be in your plugins. Activate and reconnect cloud storage.
Common Disaster Scenarios
Site Hacked / Malware Infection
- Download a backup from BEFORE the infection (check file dates)
- Delete all WordPress files (keep wp-config.php temporarily)
- Restore from clean backup
- Change ALL passwords (WordPress admin, FTP, database, hosting)
- Update ALL plugins, themes, and WordPress core
- Install a security plugin (like GuardPress)
Make sure your backup is from before the hack occurred. Check backup dates against when you first noticed the issue.
Plugin/Theme Update Broke Site
- Connect via FTP
- Navigate to
wp-content/plugins/orwp-content/themes/ - Rename the problematic plugin/theme folder (e.g.,
plugin-nametoplugin-name-disabled) - Site should load now - go to Plugins or Themes in admin
- Delete the broken plugin/theme and reinstall a working version
Database Corrupted
- Try repairing via phpMyAdmin: select database, click "Repair table" for each table
- If repair fails, restore from your most recent database backup
- If no database backup, check if your host has automatic backups
Or via wp-config.php (temporary):
Then visit: yourdomain.com/wp-admin/maint/repair.php
Remove the line after repair!
White Screen of Death (WSOD)
- Enable debug mode in wp-config.php to see actual error
- Check
wp-content/debug.logfor errors - Usually a plugin or theme issue - rename suspect folders via FTP
- If nothing works, restore from backup
Hosting Account Suspended/Deleted
- Contact your host to understand the situation
- If recoverable, ask them to restore or give you files
- If not, use cloud backups to restore on new hosting
- Set up on new hosting: install WordPress, import backup
- Update DNS to point to new server
Recovery Troubleshooting
Backup File is Encrypted
If you enabled encryption on your backups, you'll need your encryption key to restore. This key was set when you configured encryption in SiteVault settings. Without it, encrypted backups cannot be restored.
Database Import Fails
- File too large - phpMyAdmin often has a 50MB or smaller upload limit on shared hosting
- Character encoding errors - Ensure database is set to UTF-8
- Table already exists - Drop existing tables first (or use "Add DROP TABLE" option)
If phpMyAdmin times out or rejects your SQL file:
- Split the SQL file into smaller chunks (under 50MB each)
- Use your host's "Import Database" tool in cPanel if available
- Contact your host's support - they can often import large files server-side
- Some hosts provide Adminer or BigDump tools for large imports
Site Works But Admin Locked Out
Reset your password via phpMyAdmin:
Replace newpassword123 with your new password and yourusername with your admin username.
Recovery Key URL Returns 404
- The recovery endpoint requires SiteVault Pro to be at least partially functional
- If WordPress is completely destroyed, use manual recovery instead
- Check that the plugin files still exist in
wp-content/plugins/sitevault-pro/
Database Prefix Mismatch After Restore
If your backup was from a site with a different table prefix (e.g., vIP_ vs wp_), you need to update the SQL before importing:
Also verify $table_prefix in wp-config.php matches your database tables.
Troubleshooting Commands
Useful commands for diagnosing recovery issues (requires SSH access to VPS/dedicated servers).
Server Diagnostics Advanced
If you don't have SSH access, these alternatives work:
- Error logs: Check cPanel > Error Log or hosting panel equivalent
- URL replacement: Use the "Better Search Replace" plugin
- Permissions: Use FTP client (FileZilla) right-click > File Permissions
- Ownership: Contact your host's support
WooCommerce Recovery
If recovering a WooCommerce site, verify data after restore:
If your theme uses WooCommerce functions (like is_checkout()), you must activate WooCommerce BEFORE the theme, or you'll get fatal errors.
After Recovery: Next Steps
Immediate Actions
- Verify all pages and functionality work correctly
- Check media library for missing images
- Test forms, checkout, login, and other interactive features
- Clear all caches (plugin caches, CDN, browser)
Security Actions (If Hacked)
- Change all passwords: WordPress, FTP, database, hosting panel
- Review and remove any unknown admin users
- Update WordPress core, all plugins, and themes
- Install/configure a security plugin
- Enable two-factor authentication
Prevent Future Disasters
- Generate a new recovery key and store it safely
- Verify scheduled backups are running
- Confirm cloud storage sync is working
- Test a restore on a staging site to verify backups work
Add this page to your bookmarks or save it as a PDF. You'll want access to these instructions even when your site is completely down.
Still Need Help?
If you're unable to recover your site using these methods:
- Check if your hosting provider has automatic backups
- Look for any backups you may have downloaded locally
- Check cloud storage services you may have connected
Most shared hosting providers keep automatic backups (even if you didn't configure any):
- cPanel hosts: Check "JetBackup" or "Backup Wizard" in cPanel
- SiteGround: Site Tools > Security > Backups
- Bluehost/HostGator: Contact support to request a restore
- GoDaddy: My Products > Web Hosting > Manage > Restore
These are often free and can restore your site even without SiteVault!
For SiteVault Pro customers, contact our support team for emergency recovery assistance.