How to Restore a Website from Backup in cPanel (Complete Guide)
SNBD Host Team
Something went wrong. Maybe a WordPress update broke your site. Maybe you accidentally deleted a file. Maybe your site got hacked and the homepage is now filled with spam. Whatever happened, if you have a backup, you can fix it. This guide covers every way to restore a website from backup in cPanel.
Read this guide even if your site is fine right now. Knowing how to restore before disaster strikes means you won't be panicking and making mistakes when you actually need to do it.
Before You Restore: Assess What Broke
Restoring a full backup replaces all your current files and database. If you've made any changes since the backup was taken that you want to keep, you need to save those first. Consider:
- Did you add blog posts or content recently? Export them from WordPress first.
- Did you make any code changes? Download the modified files before restoring.
- Do you know exactly what broke? A targeted restore (just the database, or just specific files) is less disruptive than a full restore.
Once you've assessed the situation, decide which restoration method fits your case. This guide is organized from simplest to most complex.
Method 1: Restore via JetBackup (If Available)
If your SNBD HOST cPanel hosting includes JetBackup, this is the fastest and safest way to restore. JetBackup keeps snapshots of your account on a schedule and lets you restore individual files, databases, or your entire account to a previous date.
- Log into cPanel and look for JetBackup in the Files or Backup section
- Click on JetBackup to open it
- You'll see options for what to restore:
- Full Backup — restores everything (files + databases + email)
- File Backups — restores individual files or the entire public_html folder
- Database Backups — restores just the database
- Click File Backups or Database Backups depending on what you need
- You'll see a list of restore points sorted by date. Choose the date before the problem occurred.
- For file restore: Select the folder or files you want to restore and click Restore
- For database restore: Select the database and click Restore
- Confirm the restore when prompted. JetBackup will restore and show a success message.
JetBackup is particularly useful because you can restore individual files — for example, if you accidentally deleted wp-config.php, you can restore just that file without affecting anything else.
Method 2: Restore via cPanel Backup Wizard
If you created a backup using cPanel's Backup Wizard and downloaded the file to your computer, you can restore it here.
- In cPanel, go to Files → Backup Wizard
- Click Restore
- You'll see options to restore:
- Home Directory (all website files)
- MySQL Database (database only)
- Email Forwarders
- Email Filters
To restore website files:
- Click Home Directory
- Click Choose File and select the backup .tar.gz file from your computer
- Click Upload
- cPanel will upload and extract the backup, restoring your files
To restore the database:
- Click MySQL Database
- Click Choose File and select the .sql.gz database backup file
- Click Upload
- cPanel restores the database
Note: The backup file must match the account it's being restored to. You can't restore a backup from a different domain or server this way — for cross-server migrations, use phpMyAdmin and File Manager directly.
Method 3: Restore the Database via phpMyAdmin
If you have a .sql database backup file (downloaded from phpMyAdmin or exported from WordPress), you can restore it directly in phpMyAdmin. This is the most reliable method for database-only restores.
Important: This replaces all data in the database
Before importing, the existing database should either be empty or you should drop all tables first. Here's the safest process:
- In cPanel, go to Databases → phpMyAdmin
- Click your database name in the left sidebar to select it
- Click Check All at the bottom of the tables list to select all tables
- From the "With Selected" dropdown, choose Drop — this removes all the old tables
- Confirm the drop. Now your database is empty.
- Click the Import tab at the top of phpMyAdmin
- Click Choose File and select your .sql or .sql.gz backup file
- Scroll down and click Go
- phpMyAdmin imports the backup. You'll see a success message when done.
After restoring the database, test your website. If it uses WordPress, visit your admin panel at yourdomain.com/wp-admin to confirm everything is accessible.
Method 4: Restore Files via File Manager
If you have a zip archive of your website files (either downloaded from File Manager or created by a backup plugin), you can restore them this way:
- In cPanel, go to Files → File Manager
- Navigate to
public_html - If you want a clean restore: Select all existing files and delete them first. Be careful — only do this if you're certain your backup has everything. Don't delete the public_html folder itself, only its contents.
- Click Upload in the toolbar and upload your backup zip file
- After uploading, right-click the zip file and choose Extract
- Confirm the extraction path is
/public_html/ - Click Extract File(s)
- Wait for extraction to complete, then delete the zip file
Method 5: Restore from a WordPress Backup Plugin (UpdraftPlus)
If you use UpdraftPlus or a similar WordPress backup plugin, restoring is very straightforward.
If your site is still accessible (partial restore):
- Log into WordPress admin (
yourdomain.com/wp-admin) - Go to Settings → UpdraftPlus Backups
- Click the backup date you want to restore from
- Click Restore
- Select what to restore: Plugins, Themes, Uploads, Other, Database — or select all
- Click Next and follow the prompts
If your WordPress site is completely down (full restore):
This is harder because you can't access wp-admin. Use this process:
- Install a fresh WordPress via Softaculous in cPanel (same domain, same database)
- Install and activate UpdraftPlus plugin on the fresh WordPress
- Go to Settings → UpdraftPlus → Backup/Restore tab
- Scroll down to "Upload backup files" and upload your UpdraftPlus backup files (there are usually separate zip files for database, plugins, themes, uploads)
- The uploaded backup will appear in the backup list — click Restore
After the Restore: Checklist
After any restore, run through this checklist:
- Visit the homepage: Does it load correctly?
- Check the admin: Can you log into WordPress or your CMS?
- Check images: Do images load? (Missing images usually means the restore missed the uploads folder)
- Check forms: Submit a test contact form to confirm it works
- Check links: Click through several pages to confirm navigation works
- Check SSL: Is the padlock showing? Run AutoSSL if not.
- Check email: Send a test email from your professional address
If Something Still Looks Wrong After Restoring
Site shows a white screen or PHP errors:
This usually means the database connection is broken. Check wp-config.php and confirm the database name, username, and password are correct for the restored database.
Content from after the backup date is missing:
That's expected — the backup only has content up to when it was made. This is why frequent backups matter. Daily backups mean you lose at most 1 day of content.
Site still looks hacked after restore:
The backup itself may have been made after the hack occurred. Try an older backup. After restoring, change all passwords (WordPress admin, cPanel, database) and update all plugins and themes.
All SNBD HOST BDIX hosting plans include cPanel access with backup tools. If you need help with a restore or can't find your backup files, contact SNBD HOST support — they can often assist with restores at the server level.
The most important lesson: set up backups today, before you need them. A restore you do in a panic without a backup is not a restore — it's starting from scratch.