Get the Best WordPress Backup
& Migration Plugin Today
Get Duplicator Now
Announcement for Duplicator's migration service

Duplicator’s New Migration Service: Move Your Website Without Lifting a Finger

Are WordPress migrations stealing your valuable time? Duplicator's new done-for-you migration service handles everything from start to finish in 3…
How to manually restore wordpress site

How to Manually Restore Your WordPress Site 

Written By: author avatar Joella Dunn
author avatar Joella Dunn
Joella is a writer with years of experience in WordPress. At Duplicator, she specializes in site maintenance — from basic backups to large-scale migrations. Her ultimate goal is to make sure your WordPress website is safe and ready for growth.
     Reviewed By: reviewer avatar John Turner
reviewer avatar John Turner
John Turner is the President of Duplicator. He has over 20+ years of business and development experience and his plugins have been downloaded over 25 million times.

That white screen stares back at you where your WordPress site should be.

Maybe it’s a critical error message instead. Or perhaps your admin dashboard won’t load after that plugin update you thought would be quick and harmless.

Whatever triggered it, your site is broken. Visitors see nothing. You’re locked out. Revenue stops flowing.

To get your website back (when you don’t have a backup plugin), you need to know how to manually restore your WordPress site. It’s a skill that puts complete control back in your hands, no matter how broken things get.

When disaster strikes and you don’t have easy restore options, manual restoration becomes your lifeline.

Table of Contents

When Would You Need to Restore Your Website?

Why choose the hard way when automated solutions exist? Sometimes you don’t have a choice.

Your wp-admin dashboard is completely inaccessible—no login screen, no recovery options, nothing. The site won’t even load enough to run a plugin.

Manual restoration isn’t your first choice; it’s your last resort. But certain disasters leave you with no other option.

Here are the most common scenarios that demand a manual restore:

  • A failed core, plugin, or theme update that locks you out of wp-admin. The dashboard won’t load, error messages block access, or the site displays a white screen of death.

  • A malware infection or security breach. Your hosting provider might have suspended your account, or you’ve discovered malicious code throughout your files.

  • A significant user error, like deleting critical files or content. Someone accidentally removed essential WordPress files or wiped out important database tables.

  • A server crash or a failed migration to a new host. Your hosting environment failed, or something went wrong during a server transfer that corrupted your site.

  • Your one-click restore plugin is failing. Server timeouts, memory limits, or corrupted plugin files can make automated restoration impossible.

  • The only backup you have is a manual one. Your hosting provider gave you a .zip file of your site files and a .sql database export. No backup plugin was involved.

In each of these situations, the normal fixes are off the table.

You can’t access your dashboard to troubleshoot. One-click restore plugins won’t work. Your only path forward is rolling up your sleeves and doing it manually.

How to Manually Restore a WordPress Site

Now for the main event—actually restoring your site.

Remember: WordPress has two parts that work together. Your files (themes, plugins, media uploads, core WordPress files) live on the server. Your database stores everything else (posts, pages, comments, settings, and user accounts).

You need clean backups of both to pull this off.

Before you start, gather these essential tools:

  • Your site files backup (usually a .zip file containing all your WordPress files)
  • Your database backup (a .sql file with all your content and settings)
  • FTP client access (like FileZilla) or your hosting control panel’s File Manager
  • Database management tool (like phpMyAdmin, accessible through your hosting dashboard)

Manually Restore WordPress Files

First, you’ll replace all the broken files with your clean backup.

Log into your hosting control panel and open the File Manager. You could also fire up an FTP client and connect to your server using your FTP credentials.

Navigate to your website’s root directory. This is usually called public_html, www, or just your domain name.

Don’t just delete everything yet. Even though it’s currently broken, download a copy of your current root directory first.

Then, delete everything in the directory.

Delete site files

Upload your .zip backup file and extract the .zip file directly on the server.

Most hosting File Managers have an “Extract” or “Unzip” option when you right-click the file.

Your WordPress files should now populate the directory. Core files like wp-config.php and folders like wp-content should be there.

Manually Restore WordPress Database

Now comes the most important part—restoring your database. This is where all your content, settings, and user data lives.

Handle this section with extra care. One wrong move can wipe out data permanently.

Log into your hosting control panel and find the database section. Look for phpMyAdmin. Click it to open the database management interface.

WordPress phpMyAdmin

You’ll see a list of databases on the left side. Click on that database in phpMyAdmin.

phpMyAdmin open database

If you’re not sure which one belongs to your WordPress site, check your wp-config.php file. Open that file and look for the line that says DB_NAME. The value in quotes is your database name.

Before destroying anything, create a backup of your current database state.

Find the Export tab at the top. Leave all settings as default and click Go. This downloads a .sql file to your computer—your safety net if things go sideways.

phpMyAdmin export

Now, go to the Import tab. Upload your .sql backup file from your computer.

Leave all other settings at their defaults and click Go.

Import database

The import process will recreate all your tables and populate them with your backup data. This might take a few minutes for larger databases.

Verify wp-config.php File

Your files and database are restored, but they need to talk to each other properly.

The wp-config.php file is the bridge that connects your WordPress files to your database. If the connection details are wrong, your site won’t load.

Open your wp-config.php file (it’s in your root directory) and check these critical values:

  • DB_NAME should match your database name exactly
  • DB_USER should be your database username
  • DB_PASSWORD should be your database password
  • DB_HOST is usually localhost, but check with your hosting provider

Also verify that $table_prefix matches the prefix used in your database tables. Most sites use wp_ but some use custom prefixes like xyz_ for security.

If any of these values are wrong, update them and save the file.

This small step fixes a big problem: 404 errors on your posts and pages.

WordPress stores permalink structure in the database, and sometimes that data gets jumbled during a restore. Refreshing it rebuilds the URL structure properly.

Log into your WordPress admin dashboard (you should be able to access it now). Navigate to Settings » Permalinks.

WordPress permalinks

Don’t change anything. Just scroll down and click Save Changes.

This forces WordPress to regenerate its permalink structure and should eliminate those frustrating 404 errors.

Clear Caches

Old cached data can make your restored site look broken, even when everything is working perfectly.

Clear every type of cache you can think of:

  • Plugin cache: If you use caching plugins like WP Rocket or W3 Total Cache, clear their cache through their settings pages
  • Server-side cache: Many hosts provide caching that you can clear from your hosting dashboard
  • CDN cache: If you use Cloudflare or another CDN, purge their cache through their control panel
  • Browser cache: Clear your browser cache or try viewing the site in an incognito window

This ensures you’re seeing the actual restored site, not cached remnants of the broken version.

Verify Functionality

Time for the final test: making sure everything actually works.

Run through this checklist:

  • Log in and out of wp-admin to confirm authentication works
  • Check your homepage loads completely
  • Navigate to a few internal pages and blog posts
  • Verify that images are displaying properly
  • Test critical functionality like contact forms or shopping cart checkout
  • View the site on both desktop and mobile devices

If something isn’t working, don’t panic. Most issues at this stage are minor configuration issues or missed cache clearing.

Restore WordPress in Minutes with Duplicator

The process you just learned works, but it’s complex and risky.

Every step carries the potential for human error. Miss one database setting, and your site won’t load. Upload files to the wrong directory, and you’ll start over.

Duplicator eliminates this complexity entirely. It’s a trusted backup plugin used by over 1.5 million websites.

Duplicator Pro plugin

Instead of juggling separate file and database backups, Duplicator packages everything into a single archive file plus an installer script.

Download Duplicator Lite backup

Upload these two files to your server, run the installer, and it handles the database import and configuration automatically.

Upload cloned site files

What takes you an hour manually happens in under five minutes with Duplicator.

Plus, it’s the only backup plugin that can restore your site without needing dashboard access. It’ll restore a completely broken site!

More importantly, it removes the high-stakes guesswork. The installer handles all those critical database connections and configurations that can break your site if done incorrectly.

Frequently Asked Questions (FAQs)

How do I restore my WordPress site to a previous date without a backup?

Without backups, the only option is to use cached versions from the Wayback Machine to manually rebuild content. To prevent future loss, always enable automated backups through a plugin like Duplicator.

How do I manually transfer a WordPress site?

Manually transfer a WordPress site by downloading all files via FTP, exporting the database with phpMyAdmin, and uploading both to the new server. Update the wp-config.php file with the new database details and adjust domain or URL settings in the WordPress database to complete the migration.

How do I manually enter recovery mode in WordPress?

Manually enter recovery mode in WordPress by triggering a fatal error, which generates a recovery link sent to the admin email. Access the site with that link to disable faulty plugins or themes. If the email is inaccessible, enable debugging in wp-config.php to identify and fix errors directly.

How do I restore a WordPress backup on localhost?

Restore a WordPress backup on localhost by installing local server software like XAMPP or MAMP, creating a new database in phpMyAdmin, and importing the backup database file. Copy your WordPress files into the localhost directory, update wp-config.php with the new database details, and then access the site from your local browser.

How do I back up and restore a WordPress site to a new server?

Back up and restore a WordPress site to a new server using Duplicator. Install the Duplicator plugin, create a backup, and download both the installer and archive files. Upload them to the new server, run the installer script, and update your domain or database settings to complete the migration.

Next Steps: Secure Your Site for Good

Manual restoration is a reactive skill. It’s something you use after disaster strikes.

The smarter approach is being proactive.

Regular, automated backups are your site’s insurance policy. When you have fresh, reliable backups running automatically, site disasters become minor inconveniences instead of business-ending catastrophes.

Duplicator Pro handles this protection. It creates scheduled backups that automatically save to off-site cloud storage like Google Drive, Dropbox, or Amazon S3. Your backups live safely away from your server, protected even if your hosting account gets completely wiped out.

Set it up once, and your site stays protected indefinitely.

Don’t wait for a disaster. Protect your site with Duplicator Pro and set up your automated backup schedule today.

While you’re here, I think you’ll like these other hand-picked WordPress resources:

author avatar
Joella Dunn Content Writer
Joella is a writer with years of experience in WordPress. At Duplicator, she specializes in site maintenance — from basic backups to large-scale migrations. Her ultimate goal is to make sure your WordPress website is safe and ready for growth.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. We only recommend products that we believe will add value to our readers.