Skip to main content
Agency Program 50% cashback. Exclusive discounts. Priority support. Built for growing agencies. 50% cashback. Exclusive discounts. Priority support. Built for growing agencies. Speak to the team Join free

How to Import a WordPress Site: 7 Methods Explained (Step-by-Step Guide)

Seven ways to import a WordPress site, from an AI migration and backup upload to WP-CLI, phpMyAdmin and the WordPress Importer, with a hands-on test of what the Importer leaves behind.

NS
Neha Sharma
Content, InstaWP
Updated Oct 13, 2026 30 min read

To import a WordPress site, you copy its database and its wp-content folder (themes, plugins and uploads) into a new WordPress install, then point that copy at its new address. The quickest way is an AI migration that does every step for you. On InstaWP’s managed WordPress hosting, you paste the old site’s URL, approve a secure connection, and an AI agent copies, repairs and verifies the site while the original keeps running.

This guide covers seven ways to import a WordPress site, whether you start from a live URL, a backup or .wpress file, a database dump, a local install or the built-in WordPress Importer.

Illustration of a WordPress site being imported: files, media and database flowing into a new WordPress install over a server, cloud, SFTP, code or database route
Key takeaways
  • The built-in WordPress Importer (Tools > Import) moves content only. In our 13 October 2026 test it left behind the theme, the plugins, the site title, the permalink setting and user roles, and an Author came back as a Subscriber.
  • For a full copy of a live site, InstaWP’s AI migration (Migrations > New Migration) connects both sites with WordPress Application Passwords, handles sites up to 50 GB and checks the copy with database checks and a before-and-after screenshot comparison.
  • A backup you already have can go straight into InstaWP’s Import Site screen if it is 1 GB or smaller and was made by InstaWP, WP Playground, UpdraftPlus, Duplicator, WordPress Studio or LocalWP.
  • Sites on LocalWP, XAMPP, MAMP or WAMP move to the cloud with a single InstaCLI command run from the site folder. It needs mysqldump and a paid plan, and the new site starts on the Sandbox plan, so switch plans before it takes traffic.
  • Your host’s upload limit decides which method works. Plugin and phpMyAdmin imports stop at that limit; WP-CLI, rsync and server-to-server migrations never pass through a browser upload.
  • Delete the InstaMigrate helper plugin from the source site once the move is finished. Its own readme says it exposes full database and file access while it is active.

What does it mean to import a WordPress site?

Importing a WordPress site means rebuilding a working copy of it somewhere else: on a new host, a new domain, a staging server or your own computer. Every WordPress site is three parts, and a clean import accounts for all of them. Miss one and you get a shell with no content, or content with no design.

Anatomy of a WordPress import
The three parts every WordPress import has to move
Part 1Core filesWhat: the wp-admin and wp-includes folders WordPress is built from.Move it? No. A good importer installs them fresh, because they are identical on every site.
Part 2wp-contentWhat: your themes, plugins and media uploads.Move it? Yes. This is the look and the features of your site.
Part 3DatabaseWhat: posts, pages, settings, users, menus and plugin data.Move it? Yes, then rewrite the old URLs stored inside it.
The URL rewrite is the step that breaks manual imports. WordPress stores the full site address in the database, often inside serialized data, so a plain find-and-replace can corrupt settings. Use a serialization-safe tool.

Manual imports feel hard because you handle each part separately: download files over FTP, export the database in phpMyAdmin, upload both, edit wp-config.php, then rewrite the URLs. Automated importers do all of it in one pass, which is why this guide starts with them. WordPress.org documents the manual route in Moving WordPress.

Which WordPress import method should you use?

Pick the method that matches what you are starting from. A live site with a URL suits an AI migration, an existing backup suits a backup importer, a local install suits a terminal push, and a content-only move suits the WordPress Importer. The table compares all seven methods covered below.

MethodStart fromWhat movesSkillSize limit
1. InstaWP AI migrationA live site on any hostWhole site, verifiedBeginnerUp to 50 GB
1. InstaWP Import Site (live or backup)A live URL, or a backup fileWhole siteBeginnerBackups up to 1 GB
1. InstaCLI migrate pushLocalWP, XAMPP, MAMP or WAMPFiles and databaseIntermediateNo browser upload
2. Migration plugin (.wpress)Two self-hosted sitesWhole siteBeginnerYour host’s upload limit (free)
3. WP-CLI, SSH and rsyncSSH on both serversWhole siteAdvancedNone from the browser
4. cPanel or Softaculous cloneA site on the same hostWhole site, same serverBeginnerSame server only
5. FTP and phpMyAdminFTP and database accessWhole site, by handAdvancedphpMyAdmin upload limit
6. WordPress ImporterA WXR (XML) exportContent onlyBeginnerYour host’s upload limit
7. Git deploymentCode in a repositoryTheme and plugin codeAdvancedDatabase moves separately
Decision guide
Find your WordPress import route in four questions
1Is the old site still online?Yes: use InstaWP’s AI migration or Import Site from a live website. Nothing to download.
2Do you already have a backup?Upload it to InstaWP’s Import Site, or restore it with the same plugin that made it.
3Is the site on your laptop?Run instawp migrate push from the site folder to create a hosted copy.
4Only need posts and pages?Use Tools > Import with the WordPress Importer. The design will not come with it.
Large site, terminal access and no upload limits wanted? Use WP-CLI or rsync (Method 3). Duplicating inside one cPanel account? Use the host’s clone tool (Method 4).

How do you import a WordPress site with InstaWP?

The easiest way to import a WordPress site is to let the destination platform pull it in for you, and on InstaWP that takes a URL and two approvals. InstaWP is a managed WordPress hosting provider whose dashboard brings sites in four ways, so you can import a WordPress site whichever way matches what you have:

Every route lands the site in one dashboard where you can host it, create WP staging copies, manage the WordPress site remotely, and later migrate it back out to any other host. Migrations into InstaWP are free, and InstaWP’s team will move a site for you at no charge if you would rather hand the job off.

Option A: How does InstaWP’s AI migration import a live site?

InstaWP’s AI migration, called InstaMigrate, imports a live WordPress site by connecting to both the source and the destination through WordPress Application Passwords, then copying files, database and media in eight automated steps.

InstaMigrate start screen with the Email, Source, Destination and Migrate steps and the email field for migration status updates

An AI agent watches the run, repairs common breakages such as serialized data and page-builder URLs as it goes, and verifies the result with database checks and a before-and-after screenshot comparison. No SSH or server access is needed, only a WordPress admin login on each site.

Use it when either end is not InstaWP, when you are moving into an InstaWP site that already exists, or when the site is too big for a backup upload. Here are the steps from InstaWP’s Migrate Site guide.

Step 1: Open Migrations. In the InstaWP dashboard sidebar, click Migrations. The engine selector at the top right is set to AI by default. Click New Migration.

InstaWP Migrations dashboard with the AI engine selected and the New Migration button, listing a completed E2E migration
The Migrations dashboard with the AI engine selected. Completed runs are listed with mode E2E.

Step 2: Connect the source site. Enter the URL of the site you are copying from and click Connect. You are sent to that site’s WordPress login.

Step 3: Approve the connection. Log in as an administrator and click Yes, I approve of this connection on the Authorize Application screen. This creates an Application Password you can revoke later, so InstaWP never stores your real password.

Step 4: Connect the destination site. Back on the Connect step, enter the destination URL and approve it the same way. The destination can be an InstaWP site or a site on another host.

InstaMigrate connect step showing Source connected and the Destination site URL field with a Connect button
Source connected, destination next. Both ends authorize through WordPress itself.

Step 5: Review and start. Check the source and destination, read the overwrite warning, and click Start migration. Expand Customize what to migrate if you want to leave something out.

InstaMigrate review screen with source and destination URLs, the overwrite warning and the Start migration button
The review screen. Everything on the destination is replaced by the source, and that cannot be undone.

Step 6: Watch it run, then visit the site. Progress is shown live across eight steps, and you can close the page because InstaWP emails you when it finishes. When it reads Your Migration is Complete!, click Visit site.

InstaMigrate migrating files, content and data with a live progress bar at step 7 of 8, Verifying
Live progress at step 7 of 8, Verifying. A shareable tracking page shows the same phases.
InstaMigrate Your Migration is Complete screen with a Migrated badge and a Visit site button
A finished AI migration with the Migrated badge and a Visit site button.
Migrate into a site you are happy to replace. The destination is overwritten completely. To keep the destination’s current content, take a backup of it first or import into a fresh InstaWP site instead.
Once the site is on InstaWP, an AI assistant can check it for you. Switch on MCP for the new site with one toggle and connect Claude, ChatGPT or Cursor to it over the WordPress MCP server to list plugins, find broken links or compare pages against the old site.

Option B: How do you import a live WordPress site into a new InstaWP site?

InstaWP’s Import Site wizard imports a live WordPress site into a brand-new InstaWP site: you enter the URL, install a small helper plugin, approve access, then pick the new site’s plan, location and PHP version in the same screen. It suits the common case of “copy my live site onto InstaWP so I can test or host it”. The source site needs WordPress 5.0+ and PHP 7.4+.

The steps below follow InstaWP’s guide to importing a WordPress site from a live URL with the one-click importer.

Step 1: Start the import. In your InstaWP dashboard, go to Sites and click Import Site at the top right.

InstaWP Sites page with the Import Site button at the top right

Step 2: Choose the method. The window has two tabs, From a Live website and From a Backup. Click From a Live website.

InstaWP Import Site window with the From a Live website and From a Backup tabs

Step 3: Enter your live site URL. Type the full address into Enter Site URL, including https:// (so https://example.com, not example.com), then click Connect Site.

Enter Site URL field in InstaWP Import Site with the Connect Site button

Step 4: Install the InstaMigrate helper plugin. Click Download Plugin to save instamigrate.zip. In your live site’s dashboard go to Plugins > Add New > Upload Plugin, install the zip and activate it. Back in InstaWP, click I have Installed the Plugin.

InstaWP import step asking you to download, upload and activate the InstaMigrate plugin on the live site

Step 5: Authorize access. Click Open WordPress Authorization, log in with an administrator account and click Yes, I approve of this connection. A non-admin account will not work.

WordPress Authorize Application screen approving the InstaWP Import connection

Step 6: Review the site analysis. InstaWP scans the site and shows its WordPress and PHP versions. Site size is detected during the migration. Click Next.

InstaWP source site analysis showing the WordPress and PHP versions before import

Step 7: Set up the destination. Pick a managed hosting plan (Sandbox at $2 a month for testing, Starter or above for a production site), a server location and a PHP version, then click Start Migration.

InstaWP destination setup with plan, server location and PHP version before Start Migration

Step 8: Watch it run. A progress view shows each stage (set up, prep, export database, export files, import) getting a green check, with a Cancel Migration button if you need it. Time depends on the size of the site.

InstaWP import progress with stages for setup, prep, database export, files export and import

When the status reads Completed, click Go to Site Dashboard. The live site is untouched; you now have a working copy to test, redesign or host.

Completed InstaWP import with the Go to Site Dashboard button
Import your live WordPress site onto InstaWPMigrations into InstaWP are free. Add a card to unlock $25 in credits, and production plans carry a 14-day money-back guarantee.
Start an import →

How do you import a WordPress site from a backup?

To import a WordPress site from a backup, upload the backup file to a platform or plugin that can read it, then let it rebuild the site. In InstaWP, open Import Site > From a Backup, choose the tool that made the backup, upload the file (up to 1 GB) and configure the new site. Supported sources are InstaWP, WP Playground, UpdraftPlus, Duplicator, WordPress Studio and LocalWP.

Use this route when the original site is already offline, or when you prefer to work from a file. Watch the backup import walkthrough:

Importing from an InstaWP backup

An InstaWP backup comes as two files, and both are required: a Database Backup (.zip or .sql) and a WordPress Backup (.zip or .tgz). See backups on InstaWP for how to download them.

Step 1: Click Import Site, then open the From a Backup tab.

InstaWP Import Site window on the From a Backup tab

Step 2: Select InstaWP from the Backup Source dropdown.

Backup Source dropdown in InstaWP Import Site with InstaWP selected

Step 3: Upload your two files into the Database Backup and WordPress Backup boxes.

Database Backup and WordPress Backup upload boxes for an InstaWP backup import

Step 4: Click Next: Configure site. Name the site (or leave it blank for a random name), choose the site plan, server location, WordPress version and PHP version.

InstaWP Configure site step with site name, plan, server location, WordPress and PHP version

Step 5: Click Import Site. InstaWP installs everything and the new site appears under Sites.

Importing from WP Playground

In WordPress Playground, open the site menu (the three dots next to the scanner icon) and choose Download as .zip.

WordPress Playground menu with the Download as zip option

In InstaWP, choose WP Playground as the Backup Source, upload the zip, click Next: Configure site and import. The site appears under Sites.

Animated walkthrough of uploading a WordPress Playground zip to InstaWP Import Site and configuring the new site

Importing from UpdraftPlus or Duplicator

Generate a backup with UpdraftPlus or Duplicator on the source site first. UpdraftPlus produces separate archives for the database, plugins, themes, uploads and other files; Duplicator produces a package.

Creating a backup in the UpdraftPlus plugin in WordPress admin

In InstaWP, choose UpdraftPlus or Duplicator as the source, upload the backup files and configure the site as above.

Uploading UpdraftPlus backup files in InstaWP Import Site

Importing from WordPress Studio or LocalWP

Export the site from WordPress Studio or LocalWP to a file on your machine, then upload it in Import Site with the matching Backup Source. Whichever source you pick, the site lands in InstaWP ready to host, copy to WP staging or manage the WordPress site remotely. Full details are in the Import Site guide.

Check the pair before you upload. A backup import needs the database and the site files. Upload only one and the import is incomplete. Over 1 GB? Use the AI migration from the live site instead, which handles sites up to 50 GB.

How do you import a local WordPress site to the cloud?

To import a local WordPress site from LocalWP, XAMPP, MAMP or WAMP, open a terminal in the site’s root folder and run instawp migrate push from the InstaWP CLI. It exports the local database with mysqldump, uploads files and database to a new InstaWP site, and rewrites the local URLs. It connects outbound, so it works from localhost with no tunnel.

You need Node.js 18 or higher, npm, mysqldump on your PATH and a paid InstaWP plan. MAMP and XAMPP ship their own mysqldump but do not add it to your PATH, which is the most common first error. The full walkthrough is InstaWP’s guide to pushing a local WordPress site to InstaWP.

bashterminal: inside your local site folder
# install and sign in
$ npm install -g @instawp/cli@beta
$ instawp login
$ instawp whoami

# preview the plan, then run it for real
$ instawp migrate push . --name my-site \
    --source-url http://mysite.local/ --dry-run
$ instawp migrate push . --name my-site \
    --source-url http://mysite.local/
Terminal running instawp migrate push with --dry-run, printing the migration plan for a local WordPress site
A dry run prints the WordPress root, source URL and destination name without uploading anything.
Terminal output of instawp migrate push reporting Migration complete with the new site URL and WP Admin link
A finished push prints the new site URL and WP Admin link.
The new site starts on the Sandbox plan. The push reports success either way, so switch the site to Starter or above before it takes real traffic.

If you built the site with the CLI itself (a free, no-Docker WordPress Playground site made with instawp local create), use local push instead. By default it syncs wp-content; add --with-db to push the database too, and the CLI backs up the cloud database first and rewrites the URLs.

bashterminal
$ instawp local create --name app
$ instawp local push app --with-db

Neither command pulls a site from a third-party server. For that, use the AI migration or a backup import. More local-to-live options are in how to move WordPress from a local server to live and migrating sites from LocalWP to any host. Once the site is hosted you can also edit its files from your own machine with Local Mount. Every command is in the CLI command reference.

How do you import a WordPress site with a migration plugin?

A migration plugin imports a WordPress site by packing files and database into one archive on the old site and unpacking it on the new one. You install the same plugin on both ends, export on the source and import on the destination. It is the classic no-code route between two self-hosted installs, and a WordPress backup plugin you already use may do the job.

How do you import a .wpress file in WordPress?

A .wpress file is an export from All-in-One WP Migration, and you import it with the same plugin. On the source site, choose Export > Export to File and download the archive.

All-in-One WP Migration export screen with the Export to File option

On the destination, install All-in-One WP Migration, open All-in-One WP Migration > Import and upload the .wpress file. The plugin rebuilds the site and rewrites the URLs.

All-in-One WP Migration import screen for uploading a .wpress file

The size limit comes from your host, not the plugin: the Import screen shows your upload limit, and the plugin’s own FAQ (version 7.112, checked 13 October 2026) says the paid Unlimited Extension is how you get around it. Several recent reviews report hitting that wall at a few hundred megabytes. If your archive is bigger than the limit, raise upload_max_filesize with your host, or skip the upload with a server-side method.

Other plugins do the same job. Migrate Guru runs the transfer on its own servers, while Duplicator, UpdraftPlus, WPvivid and Solid Backups create packages you can restore elsewhere. Duplicator and UpdraftPlus backups also work with InstaWP’s backup importer. For a roundup, see these WordPress import and export plugins, and for the other half of the job, how to export a WordPress site.

How do you import a WordPress site with WP-CLI or SSH?

With SSH on both servers, you import a WordPress site by exporting the database with WP-CLI or mysqldump, copying it and wp-content across with rsync, importing the database on the new server and rewriting the URLs. Nothing passes through a browser upload, so file size stops being a problem. It is the most reliable route for multi-gigabyte sites.

InstaWP supports this workflow too. Every site has SFTP and SSH access, and you can run WP-CLI and shell commands from the dashboard, so these commands work against an InstaWP-hosted site once it exists. See WP-CLI and the other developer tools, or accessing SFTP and SSH on InstaWP.

How do you import a WordPress database with WP-CLI?

Export with wp db export on the old server, import with wp db import on the new one, then run wp search-replace with --dry-run first. The search-replace command is serialization-safe, so URLs stored inside theme and plugin settings survive.

bashsource server, then destination server
# 1. on the source: export the database
$ wp db export backup.sql

# 2. copy the database and wp-content to the destination
$ rsync -avz backup.sql wp-content/ user@new-host:/var/www/site/

# 3. on the destination: import and rewrite the URLs
$ wp db import backup.sql
$ wp search-replace 'https://old.com' 'https://new.com' \
    --all-tables --skip-columns=guid --dry-run
$ wp search-replace 'https://old.com' 'https://new.com' \
    --all-tables --skip-columns=guid

How do you import a WordPress site without WP-CLI?

Without WP-CLI, use mysqldump and mysql for the database and rsync for the files. rsync resumes a dropped transfer, which matters on big sites. Then edit wp-config.php on the new server with the new database name, user and password, and run a serialization-safe search-replace for the domain. Changing domains at the same time? Follow how to change a WordPress domain name safely. New to the command line? Start with how to use WP-CLI.

bashmysqldump and rsync
$ mysqldump -u dbuser -p dbname > backup.sql
$ rsync -avz --partial wp-content/ user@new-host:/var/www/site/wp-content/
$ mysql -u newuser -p newdb < backup.sql
The command line does not forgive typos. A wrong database name in wp-config.php or a skipped URL rewrite breaks the site. Keep the source untouched until the new copy is confirmed working.

Can you clone a WordPress site with cPanel or Softaculous?

Yes, if you only need a copy on the same host. Softaculous can create a staging copy of a WordPress install in a subfolder, and some hosts add a one-click clone button in cPanel. The copy stays on the same server, so it is not a true cross-host import.

For a portable copy you can create on any InstaWP site, use InstaWP’s WP staging and clone tools. Hosted sites on Pro and above also get built-in staging with Pull to staging and Push to production; see WordPress staging environments.

How do you import a WordPress site manually with FTP and phpMyAdmin?

A manual import moves wp-content over FTP and the database through phpMyAdmin, then reconnects them in wp-config.php. It is slow and easy to get wrong, but it works on any host and teaches you what every importer does behind the scenes. Use it when no plugin or automated tool is available.

  1. Download your site files. Connect to the old server with an FTP app such as FileZilla and download wp-content. Leave wp-admin and wp-includes behind; the fresh install already has them.
FileZilla connected to a WordPress server with the wp-content folder open, listing the themes, plugins and uploads folders
FileZilla connected to the old server. The wp-content folder holds the themes, plugins and uploads you need to download.
  1. Export the database. In phpMyAdmin on the old host, select the site database and use Export to download a .sql file.
phpMyAdmin with the WordPress database selected in the left panel and the Export tab highlighted
In phpMyAdmin, select the site’s database in the left panel, then open the Export tab.
phpMyAdmin export screen with the Quick export method, SQL format and the Export button
Choose the Quick export method and the SQL format, then click Export to download the .sql file.
  1. Upload your site files. Connect to the new server and upload wp-content into a fresh WordPress install.
FileZilla Quickconnect bar with host, username, password and port 22 for an SFTP connection, connection details blurred
Connect FileZilla to the new server with its SFTP host, username, password and port (details blurred here), then upload wp-content.
  1. Import the database. In phpMyAdmin on the new host, select the target database and use Import to load the .sql file.
phpMyAdmin Import tab importing into a WordPress database, with the Choose File button for the .sql file
On the new host, select the target database, open Import, choose the .sql file and run the import.
  1. Reconnect and rewrite. Edit wp-config.php in a plain text editor (never a word processor; WordPress explains why in Editing Files) with the new database name, user and password. If the domain changed, run a serialization-safe search-replace.
wp-config.php database settings: DB_NAME, DB_USER, DB_PASSWORD and DB_HOST, with values blurred
The database settings in wp-config.php. Replace DB_NAME, DB_USER and DB_PASSWORD (and DB_HOST if your host gives one) with the new database’s details.

How do you import a WordPress database in phpMyAdmin?

Open phpMyAdmin, click the empty target database in the left column, open the Import tab, choose your .sql (or .sql.gz) file and click Import. phpMyAdmin’s import documentation covers the options. The maximum file size shown on that tab is your PHP upload limit; for a larger dump, use wp db import or mysql over SSH. If the table prefix in the dump differs from $table_prefix in wp-config.php, change one to match, or WordPress will try to install itself again.

Manual importDetail
ProsTotal control, no plugins, works with any host.
ConsSeveral manual steps, phpMyAdmin upload limits, and a single wrong value in wp-config.php or a missed URL rewrite breaks the site.

What does the WordPress Importer import, and what does it leave behind?

The WordPress Importer (Tools > Import) imports content from a WXR (XML) export: posts, pages, comments, categories, tags, menus, custom fields and authors, plus media if the old site is still online. It does not import the theme, plugins, settings or user roles. Use it to move content, not to clone a site. WordPress.org describes the screen in Tools Import Screen.

On the source site, go to Tools > Export and download the export file.

WordPress Tools Export screen for downloading a WXR XML export file

On the destination, go to Tools > Import, click Install Now under WordPress, then Run Importer. Upload the file, map or create authors, tick Download and import file attachments, and click Submit. From the terminal, wp import does the same.

WordPress Tools Import screen with the WordPress Importer and the Run Importer link

What did the WordPress Importer move in our test?

To see what survives, InstaWP ran the importer on 13 October 2026. The source site had the Astra theme, Contact Form 7, a custom site title, a /%postname%/ permalink setting, an Author user, a category, tags, a menu, a comment, Additional CSS and a featured image. We exported it with wp export and imported it into a fresh site with wp import --authors=create. Setup: WordPress 7.1.3, WordPress Importer 0.9.6, PHP 8.3 on WordPress Playground CLI 3.1.58. The 31 KB export of 10 items imported in 2.4 seconds.

Item on the source siteAfter the importMoved?
Posts, pages and commentsArrived, with categories and tagsYes
Menu “Main”Arrived with its menu itemYes
Author “jane” (role: Author)Created, but as a Subscriber. The importer ends with “Remember to update the passwords and roles of imported users.”Role lost
Featured image and mediaDownloaded from the old site when it was reachable. With the old site offline: “Failed to import Media “WP logo”: Request failed due to an error: A valid URL was not provided.”Only if online
Contact Form 7 form“Failed to import “Contact form 1”: Invalid post type wpcf7_contact_form”. It imported once the plugin was active first.Plugin first
Theme (Astra)Site stayed on Twenty Twenty-FiveNo
Plugins (Contact Form 7)Not installedNo
Site title and tagline“Source Site” became “My WordPress Website”No
Permalinks and Reading settings/%postname%/ became the date-based default; 5 posts per page became 10No
Default “Hello world!” and “Sample Page”The fresh site’s copies stayed, so both appeared twiceDuplicates
Our WordPress Importer test, 13 Oct 2026
What a WXR import carries, and what it does not
MovesContent Posts, pages, comments, categories, tags, menus, custom fields, authors (as Subscribers).
ConditionalMedia and plugin contentMedia: only if the old site is online at a public URL.Plugin data: only if the plugin is active on the new site first.
Stays behindThe site itself Theme, plugins, site title, permalinks, Reading settings and user roles.
Before you run the importer: install and activate the same theme and plugins on the new site, delete the default “Hello world!” post and “Sample Page”, and keep the old site online until the media has downloaded. Then reset user roles and permalinks by hand. For a like-for-like copy, use a full-site method instead.

Moving from another platform rather than another WordPress site? The same “what moves” logic applies; see migrating from Wix to WordPress and Joomla to WordPress migration.

Can you import a WordPress site with Git?

Git imports the code of a WordPress site (your theme and custom plugins), not the whole site. You keep that code in GitHub, GitLab or Bitbucket and the host pulls the latest commit on each deploy, while the database and uploads move separately with one of the methods above.

InstaWP supports Git deployments and CI/CD, so you can connect a repository to a site or template and ship updates automatically. See how to integrate WordPress with Git.

Can you host your imported WordPress site on InstaWP?

Yes. A site imported into InstaWP can go live on the same platform without a second migration: change the site’s plan from Sandbox to a production plan and it keeps its URL, files and database. InstaWP is a managed WordPress hosting provider where each site runs isolated with its own Linux user, database and PHP-FPM pool, billed per site per day.

InstaWP managed WordPress hosting: a Sandbox to Production toggle with InstaCDN, InstaShield and daily backups on the same site URL
Sandbox to Production is a plan change on the same site, with InstaCDN, InstaShield and backups switched on.
What a production site getsPlan
SSH, SFTP, WP-CLI, Git, free SSL and a free migration inEvery plan
InstaCDN edge caching and InstaShield WAF (Basic)Starter and above
Daily backups kept 30 days, Valkey object cache, uptime monitoring, managed updates, vulnerability scannerPlus and above
Built-in staging with Pull and Push, image optimizationPro and above
InstaWP plans, per site per month
Where an imported site can run
Sandbox$2/mo per siteTesting
Starter$5/mo per siteLive
Plus$9/mo per siteLive
Pro$15/mo per siteLive + staging
Turbo$25/mo per siteLive + staging
Elite$45/mo per siteLive + staging
Adding a card unlocks $25 in credits, every production plan has a 14-day money-back guarantee, and there is no annual contract. Prices from instawp.com/pricing/ on 13 October 2026.

On new-generation servers, an InstaWP site scored 9.8 out of 10 in the WP Benchmark plugin against 7.3 on older hardware (August 2026); the method and results are in the WordPress hosting benchmark. Before going live, many teams copy the imported site to staging first; see WordPress staging to production.

Host the site you just importedSwitch an imported site from Sandbox to production in one plan change. Same URL, same data, no second migration.
See managed hosting →

Which WordPress import method is best for your situation?

The best WordPress import method is the one that moves all three parts of the site with the fewest manual steps for what you start from. For most people that is InstaWP’s AI migration or Import Site, because neither needs FTP, phpMyAdmin or an upload you have to babysit.

Your situationUse
Live site, want a full copy fast, any hostMethod 1: InstaWP AI migration
Live site, want it as a new InstaWP siteMethod 1: Import Site from a live website
You already have a backup of 1 GB or lessMethod 1: Import Site from a backup
Site is on LocalWP, XAMPP, MAMP or WAMPMethod 1: instawp migrate push
Two self-hosted installs, comfortable with pluginsMethod 2: migration plugin
Large site, terminal access on both serversMethod 3: WP-CLI, SSH and rsync
Copy on the same host onlyMethod 4: cPanel or Softaculous
No tools allowed, FTP and phpMyAdmin onlyMethod 5: manual import
Only posts and pages, not the designMethod 6: WordPress Importer
Theme and plugin code from a repositoryMethod 7: Git deployment
Import client sites for a living?The InstaWP Agency Program is free to join and adds bulk migration help and tools to resell hosting under your own brand.
Explore the Agency Program →

What are the most common WordPress import errors?

Most failed WordPress imports come down to four things: wrong database details, URLs that still point at the old domain, an upload larger than the host allows, and the content-only importer being used for a full site. The table lists the exact messages and their fixes.

Error or symptomCauseFix
“Error establishing a database connection”Wrong database name, user, password or host in wp-config.phpRecheck all four values; see fixing the database connection error
Broken links, images or styling on the new domainThe old URL is still stored in the databaseRun wp search-replace (serialization-safe), dry run first
“The uploaded file exceeds the upload_max_filesize directive in php.ini.”The archive is bigger than the host’s PHP upload limitRaise the limit, or use the AI migration, WP-CLI or rsync
“Failed to import Media …: A valid URL was not provided.”The WordPress Importer could not download media from the old siteKeep the old site online at its public URL, or use a full-site method
“Failed to import …: Invalid post type …”The plugin that owns that content is not active on the new siteInstall and activate the plugin, then import again
Imported users are all SubscribersThe WordPress Importer does not carry rolesReset roles under Users after the import
Live import will not connectLogged in without admin rights, InstaMigrate inactive, or Application Passwords switched off by a security pluginUse an admin account, activate the plugin, re-enable Application Passwords
Content arrived but the design is missingThe XML importer was usedRedo the move with a full-site method

What is the fastest way to import a WordPress site?

The fastest way to import a WordPress site is an automated, full-site method: InstaWP’s AI migration for a live site, Import Site for a backup, and instawp migrate push for a local install. Manual FTP and command-line routes still work when you want full control. Whichever you choose, move all three parts (core, wp-content and the database) and rewrite the URLs, so the copy behaves like the original.

The short version

Live site: AI migration (Migrations > New Migration). Backup of 1 GB or less: Import Site. Local site: instawp migrate push. Content only: the WordPress Importer, knowing it leaves the theme, plugins, settings and roles behind. Then host the result on InstaWP with one plan change.

Import your first WordPress siteBring your site over today. Migrations into InstaWP are free, and every production plan has a 14-day money-back guarantee.
Get started →

Frequently asked questions

How do I import a WordPress site without losing data?

Use a full-site method that moves the database and the files together, such as InstaWP’s AI migration, Import Site or a migration plugin. These carry content, settings, theme and plugins as one unit. The content-only WordPress Importer is the usual cause of “lost” data, because it never moves the design, settings or user roles.

How do I import a WordPress site from a backup?

In InstaWP, open Import Site, switch to From a Backup, pick the tool that made the backup (InstaWP, WP Playground, UpdraftPlus, Duplicator, WordPress Studio or LocalWP), upload the files (up to 1 GB) and configure the new site. With a plugin backup, you can also restore it with the same plugin on the new host.

How do I import a .wpress file in WordPress?

Install All-in-One WP Migration on the destination site, open All-in-One WP Migration, then Import, and upload the .wpress file. The plugin rebuilds the site and rewrites URLs. The upload limit is set by your host; the paid Unlimited Extension gets around it.

How do I import a WordPress database?

In phpMyAdmin, select the empty database, open the Import tab, choose the .sql file and click Import. Over SSH, run wp db import backup.sql, then wp search-replace to change the old domain. Make sure the table prefix in wp-config.php matches the dump.

What does the WordPress Importer not import?

It does not import the theme, plugins, site title, tagline, permalink and Reading settings, or user roles. In InstaWP’s 13 October 2026 test, an Author came back as a Subscriber, and media only downloaded while the old site was online.

Does importing a WordPress site take the original site offline?

No. A proper import reads from the source site, which keeps serving visitors. With InstaWP’s AI migration, you point your domain at the new site only when you are ready.

How long does it take to import a WordPress site?

It depends on size and method. Automated full-site migrations of typical sites finish in minutes; a 10-item WordPress Importer test took 2.4 seconds; manual FTP and phpMyAdmin moves take longest because every step is done by hand.

Can I import a WordPress site to a new domain?

Yes. Automated importers rewrite the URLs for you. After a manual import, run a serialization-safe search-replace with WP-CLI to change every reference to the old domain.

Can I host my imported WordPress site on InstaWP?

Yes. InstaWP is a managed WordPress hosting provider, so an imported site goes live by changing its plan from Sandbox to Starter or above. It keeps the same URL and data, with no second migration.

Is importing a site into InstaWP free?

Migrations into InstaWP are free, and InstaWP’s team can move a site for you. The site itself needs a plan, from $2 a month for a Sandbox or $5 for production. Adding a card unlocks $25 in credits.

NS
Neha Sharma
Content, InstaWP

Neha writes practical WordPress tutorials and agency playbooks, with a focus on dev workflows and AI building.