To clone a WordPress site to a new domain, copy the files and database to the new domain and update every hardcoded reference to the old one, either through the block editor exporter or a migration plugin. For a small to mid-size site, you can do this by exporting content through the block editor and reimporting it on the new install. For a larger or more complex site, a migration plugin handles the file and database copy plus the URL rewrite in one pass.
Either way, start with a fresh WordPress install on the new domain and a backup of the old one. See Backing up your WordPress site if you don't already have one running.
Method 1: export and import through the block editor
This is the simplest path when you mainly need the content, not a pixel-exact copy of theme customizations and plugin settings.
- On the old site, go to
wp-admin → Tools → Export. Choose "All content" and download the XML file. - Set up WordPress on the new domain. Use the
WordPresstile in the portal to install fresh, or use WordPress Toolkit's one-click login if you're cloning within the same hosting account. - On the new site, go to
wp-admin → Tools → Import, choose WordPress, and install the importer if prompted. - Upload the XML file. Map authors, and check "Download and import file attachments" so images come along with the posts.
- Reinstall your theme and any plugins that shape the design or functionality, since the export only carries posts, pages, comments, and media, not theme settings or plugin configuration.
This method is manual but gives you full control, and it's a good way to move content into a clean install without dragging along old plugin cruft.
Method 2: a migration plugin for a full clone
If you need an exact copy including theme settings, widgets, custom fields, and plugin configuration, a migration plugin that does file and database duplication plus search-and-replace is faster and more reliable than doing it by hand.
- Install a migration plugin (All-in-One WP Migration and Duplicator are the two most common) on the old site via
wp-admin → Plugins → Add New. - Export a full package: files, database, and a manifest. These plugins bundle everything into a single archive.
- Set up a bare WordPress install on the new domain first, don't skip this step even though the plugin will overwrite it. The migration plugin needs an active WordPress install to import into.
- Install the same migration plugin on the new site and run the import, pointing it at the archive from step 2.
- The plugin handles the domain search-and-replace across the database automatically. This is the part that's easy to get wrong doing it manually: the old domain is hardcoded in post content, serialized widget data, and option fields, and a plain find-and-replace on serialized PHP data corrupts it because the string lengths no longer match the stored byte counts.
After the clone: things people forget
- Permalinks. Go to
wp-admin → Settings → Permalinksand click Save, even without changing anything. This flushes the rewrite rules for the new domain. - Site URL in the database. If you didn't use a migration plugin's search-and-replace, check
wp-admin → Settings → Generalfor the WordPress Address and Site Address fields. - SSL. Once your new domain's DNS points at Flashcloud, a free Let's Encrypt certificate issues automatically, usually within about 5 minutes. Don't force HTTPS in
wp-config.phpor an .htaccess redirect before that finishes, or you'll get a redirect loop. - Search index and analytics. A cloned site with the old site's SEO plugin settings may still reference the old domain in its sitemap or verification tags. Check your SEO plugin's settings after the move.
- Caching. If pages look stale right after the clone, purge the LiteSpeed Cache plugin once from its dashboard.
Test before you rely on it
Treat the new domain like a staging environment until you've confirmed it. Load the homepage, check a few inner pages, test any forms, and if you run WooCommerce, walk through add-to-cart and checkout. This is the same discipline covered in Using WordPress staging, applied here to a new domain instead of a staging subdomain. If anything looks broken, you still have the backup and the original site to fall back on.
When to contact support
If the import fails partway through, a large media library times out, or the search-and-replace leaves broken links you can't track down, open a ticket from Support → New ticket in the portal. It goes to a real person, not a bot, and they can look at the account directly rather than guessing from a description.