To restore your website from a backup, identify your backup type (host backup, plugin backup, or manual files + database), choose a restore method (host panel, plugin, or manual), and carefully replace your site files and database.
Then flush caches, test functionality, fix common errors, and harden security to prevent future downtime. If your site is down, hacked, or broken after an update, learning how to restore your website from a backup is the fastest way to recover.
This beginner friendly guide walks you through host, plugin, and manual methods, with real world tips from 12+ years in hosting and WordPress recovery.
What You’ll Need Before You Restore (Quick Checklist)
- Access to hosting control panel (cPanel/Plesk) or SFTP/SSH and phpMyAdmin
- Your backup files: website files (.zip/tar) and database (.sql) or a plugin backup bundle
- Admin access to WordPress (if available)
- Time window for maintenance (inform stakeholders)
- Staging or a temporary subdomain if you want a risk-free test
- Logins: hosting, database, WordPress, CDN, domain registrar
Understand Your Backup Types (So You Pick the Right Method)
Backups come in several flavors. Knowing yours determines the fastest restore path and prevents data loss.
- Full vs. Incremental: Full includes everything at a point in time; incremental stores changes since the last backup.
- File vs. Database: Files = WordPress core, themes, plugins, uploads. Database = posts, pages, users, settings.
- Host Level Backups: Created by your provider (e.g., JetBackup/R1Soft). Often 1-click restore.
- Plugin Backups: UpdraftPlus, Jetpack, Duplicator, All-in-One WP Migration. Restored via that plugin.
- Manual Backups: A zip of files plus a .sql dump exported from phpMyAdmin or WP-CLI.
Tip: If your host provides automated daily backups and one-click restores (as YouStable does on supported plans), that’s usually the easiest and safest starting point.
Method 1: Restore via Your Web Host (cPanel/Plesk)
This is the quickest path for most users because it restores both files and databases with minimal effort. Steps vary slightly by provider, but here’s the standard flow using cPanel and JetBackup/Backup Wizard.
Step 1: Log in to cPanel and Open Backups/JetBackup
- Go to Backups, Backup Wizard, or JetBackup (naming may differ).
- Choose the restore point (look for the last known good date before the problem began).
Step 2: Restore the Home Directory (Files)
- Select Home Directory or Files and click Restore.
- Confirm overwrite when prompted. This will replace corrupted files with the backup copy.
- Wait for the process to complete; do not interrupt.
Step 3: Restore the Database
- In JetBackup/Backups, choose Databases, select the relevant database (check your wp-config.php for DB name), and click Restore.
- If your host doesn’t offer DB restore, import via phpMyAdmin (see Method 3).
Step 4: Check wp-config.php + URL
- Open File Manager and check wp-config.php has the correct DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST for your live database.
- If your domain or path changed, update the site URL in the database (see the WP-CLI snippet below or phpMyAdmin method).
YouStable customers can restore files and databases in a few clicks with JetBackup and, if needed, request a guided recovery from our 24/7 team for complex cases like hacked sites or migrations.
Method 2: Restore WordPress with a Backup Plugin
When your backups were created with a plugin, restore with the same tool for the smoothest experience. The exact UI varies, but the workflow is similar.
Common Plugin Workflow (UpdraftPlus, Jetpack, Duplicator, AIOWP)
- Set the site in maintenance mode if it’s partially working.
- Install the plugin on a clean WordPress or the broken site (if you can still access wp-admin).
- Connect the storage used for backups (e.g., Google Drive, S3) or upload backup archives.
- Choose what to restore: plugins, themes, uploads, database (usually select all).
- Run the restore and wait until it finishes. Don’t navigate away.
- Log in again if you were logged out, then test the site thoroughly.
Note: For full-site packages (e.g., Duplicator, All-in-One WP Migration), you may upload a single archive and the plugin rebuilds the site entirely, ideal for migrations or rollbacks.
Method 3: Manual Restore (Files + Database)
Use this if you have a zip of your files and a .sql database dump, or when plugins/panels aren’t available. It’s precise but requires attention to detail.
Step 1: Prepare
- Download your backup zip and .sql file locally.
- Enable maintenance mode or use a staging subdomain to avoid interrupting visitors.
- Verify you have SFTP and phpMyAdmin access (or SSH + WP-CLI if available).
Step 2: Restore Files via SFTP/File Manager
- Connect via SFTP and navigate to your document root (often public_html).
- Delete or rename the existing wp-admin, wp-includes, and wp-content (or upload and overwrite carefully).
- Upload and extract your backup zip to the document root.
- Ensure file permissions are sane: files 644, directories 755.
Step 3: Restore Database via phpMyAdmin
- Create a new database and user in cPanel (assign all privileges), or empty the existing database if you’re sure.
- Open phpMyAdmin > select database > Import > upload your .sql file. Wait for success.
- Edit wp-config.php with the correct DB credentials.
// wp-config.php database settings
define('DB_NAME', 'your_database');
define('DB_USER', 'your_db_user');
define('DB_PASSWORD', 'strong_password');
define('DB_HOST', 'localhost'); // Often 'localhost' on shared hosting
// Optional: increase memory to avoid restore-time white screens
define('WP_MEMORY_LIMIT', '256M');
Step 4: Fix URLs After Migration (If Domain/Path Changed)
If you moved to a new domain or from staging to live, update URLs to prevent broken media and redirects.
# Using WP-CLI
wp search-replace 'http://oldsite.com' 'https://newsite.com' --all-tables --precise --recurse-objects
# Flush permalinks
wp rewrite flush --hard
No WP-CLI? In phpMyAdmin, edit the wp_options table: set siteurl and home to your current domain. Then use a reliable search-replace script for serialized data, or a plugin like Better Search Replace once you can log in.
Post Restore Checklist (Don’t Skip This)
- Test critical paths: homepage, blog posts, product pages, checkout, forms, search, login, and admin.
- Flush permalinks: Settings > Permalinks > Save Changes (regenerates .htaccess).
- Clear caches: plugin cache (e.g., WP Rocket), host cache (OPcache/Varnish), CDN cache (Cloudflare), and browser cache.
- Images and CSS/JS: Regenerate thumbnails (if needed) and ensure minification/combination doesn’t break layout.
- Security hygiene: Change all passwords (hosting, SFTP/SSH, DB, admin), update plugins/themes/core, scan for malware.
- SEO checks: Ensure only one canonical version (https preferred), robots.txt isn’t blocking, sitemap is live, and submit in Search Console.
- Error logs: Review error_log and host logs to catch lingering PHP/DB issues.
Common Restore Errors and Quick Fixes
- Error establishing a database connection: DB credentials wrong or DB not restored. Fix wp-config.php, confirm DB user privileges.
- White screen/500 error: PHP memory/timeouts or bad plugin. Increase memory, enable debug temporarily, rename /wp-content/plugins to isolate conflicts.
- Mixed content (http/https): Run search-replace to https, force SSL in your host, and update CDN rules.
- Wrong file permissions: Directories 755, files 644. Avoid 777 for security.
- Upload/import limits: Large .sql/.zip failing. Use SSH/WP-CLI or request host to raise limits (upload_max_filesize, post_max_size, max_execution_time).
// wp-config.php temporary debugging (disable after fixing)
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
How to Reduce Downtime Next Time (Pro Backup Strategy)
- Follow 3-2-1: 3 copies of your data, 2 different media, 1 offsite.
- Automate backups: Daily or hourly for busy stores. Keep separate file and DB schedules if needed.
- Retention policy: Maintain multiple restore points (7–30 days) to escape unnoticed hacks.
- Test restores quarterly: Practice on staging so you’re not learning under pressure.
- Document: Keep a runbook with logins, restore steps, DNS/CDN settings, and key contacts.
- Define RTO and RPO: RTO = acceptable downtime; RPO = acceptable data loss. Choose tools that meet your targets.
On YouStable hosting, you can enable automated daily offsite backups with one‑click JetBackup restores, staging environments for safe testing, and 24/7 support to help you recover quickly—ideal for small businesses and WooCommerce stores where minutes matter.
When Should You Restore on Staging vs. Live?
- Use staging for complex errors, theme/plugin conflicts, or major version rollbacks. Validate everything, then push to live.
- Restore live when the site is down, hacked, or you need immediate recovery. Keep it brief and follow the post-restore checklist.
DNS and Downtime Tips During Recovery
- Lower your domain TTL ahead of planned maintenance to speed up DNS changes.
- Use a service status page or a simple maintenance page to inform users.
- If migrating hosts, update A records only after the restored site passes your checks.
FAQ’s – Restoring a Website from a Backup
How do I restore a website from a backup in cPanel?
Open cPanel, go to Backups/JetBackup, choose a restore point, and restore Home Directory (files) and the MySQL database. Confirm overwrites, then check wp-config.php and test the site. If database restore isn’t available, import the .sql via phpMyAdmin.
Can I restore WordPress without the plugin I used to back up?
Usually you need the same plugin to easily unpack its backup format. If you only have a raw files zip and .sql, restore manually via SFTP and phpMyAdmin. Some plugins (Duplicator/AIOWP) create proprietary packages that are simplest to restore with the same tool.
Will restoring a backup affect my SEO?
Not if you restore the same domain and URLs correctly. After restoring, verify HTTPS, canonical setup, robots.txt, sitemap, and fix 404s. Temporary downtime is fine, but prolonged errors or URL changes without redirects can hurt rankings.
How long does a website restore take?
Small blogs can restore in minutes with host backups. Large WooCommerce stores with big media libraries may take 30–90 minutes, depending on archive size and server speed. Plan a maintenance window and avoid interrupting the process.
What if I don’t have any backups?
Check if your host keeps emergency snapshots. If none exist, try file recovery from your local machine or developer copies, then rebuild using cached content (Wayback Machine) as a last resort. Set up automated daily backups immediately to prevent a repeat.
Conclusion
Restoring your website from a backup is straightforward when you know which backup you have and follow the right method: host-level, plugin-based, or manual. Keep calm, verify each step, and prioritize testing and security afterward. For faster, safer recoveries next time, automate offsite backups and practice restores on staging.