---
title: "Restore WordPress from a backup"
url: https://phatdev.net/en/docs/sl-migrations/restore-wordpress-from-backup
lang: en
updated: 2026-10-20
alternate:
  vi: https://phatdev.net/docs/sl-migrations/restore-wordpress-from-backup
markdown: https://phatdev.net/en/docs/sl-migrations/restore-wordpress-from-backup.md
---

# Restore WordPress from a backup

Part of the doc set: [SL Migrations](https://phatdev.net/en/docs/sl-migrations.md)

> An overview of the restore options and how to choose the right mode.

An overview of the ways to restore once you have an `archive` + `installer.php`.

## Choose the right mode

| Situation | Recommended mode |
|---|---|
| Empty destination site (new server) | [Classic Install](https://phatdev.net/en/docs/sl-migrations/classic-install) |
| Destination has WordPress and you want to overwrite it | [Overwrite Install](https://phatdev.net/en/docs/sl-migrations/overwrite-install) |
| Destination has WordPress, restoring into staging | [Import Install](https://phatdev.net/en/docs/sl-migrations/import-install) |
| You only want to restore the database | [Database Install](https://phatdev.net/en/docs/sl-migrations/database-install) |
| Very large site / shared hosting | [Two-Part Install](https://phatdev.net/en/docs/sl-migrations/two-part-install) |
| The main site is broken | [Recovery Point](https://phatdev.net/en/docs/sl-migrations/recover-a-backup) |

## General process

1. **Prepare the destination server**:
   - An empty database with a user that has ALL PRIVILEGES
   - A writable web root
   - PHP that meets the requirements (see [Quick Start](https://phatdev.net/en/docs/sl-migrations/quick-start))

2. **Upload the files**:
   - `installer.php` + the archive into the web root
   - Or use the Import feature if the archive is already in storage

3. **Open `installer.php`** in your browser

4. **Enter the database details** in step 2

5. **Verify** in step 4 → the installer deletes its temporary files

## After restoring

- Log in to wp-admin and check the site
- Verify the file/folder permissions
- Test the main pages, forms and checkout
- Check email sent from the site (contact form, sign-up, …)

## Domain migration

If the new domain differs from the old one, the installer automatically searches and replaces URLs in the database. But you still need to check:

- Hardcoded URLs in theme files
- CDN configuration
- Sitemap / robots.txt
- Email templates
- Plugins with their own internal cache

See: [Migrating WordPress](https://phatdev.net/en/docs/sl-migrations/how-to-migrate-wordpress-site).
