Guides / Prompting and shipping
How to Migrate a WordPress Site Without Losing Content or Rankings
Move a WordPress site to a new platform: list your URLs, export posts and media, rebuild the design, import content, set 301 redirects and switch DNS safely.
Mythex Team · · 6 min read
To migrate a WordPress site, first list every URL and every job your plugins do, then export your content (Tools → Export gives you an XML file) and copy the media folder, rebuild the design on the new platform, import the content, and set 301 redirects for any URL that changes before you switch DNS. Keep the old site running until the new one is checked. The redirects are the step people skip, and the one that protects your search traffic.
This guide covers moving off WordPress to a rebuilt site, including one built with an AI app builder. The same steps apply whichever platform you move to.
Decide what kind of migration you're doing
There are three common destinations, and they need different amounts of work.
| Destination | What it means | Good fit when |
|---|---|---|
| Another WordPress host | Same site, new server | You like WordPress and just want better hosting |
| A rebuilt site | New design and platform; content imported | The site is mostly pages and posts, and plugins are a burden |
| Headless WordPress | WordPress stays as the editor; a new frontend reads posts through the REST API | Writers love the WordPress editor, but you want a new frontend |
If you're staying on WordPress, use your new host's migration tool and stop here. The rest of this guide is about the second and third options. For help choosing a platform, see WordPress alternatives and WordPress vs Webflow.
Step 1: Inventory the site
Before touching anything, write down what exists.
Every URL. WordPress (since version 5.5) generates a sitemap at /wp-sitemap.xml. SEO plugins such as Yoast usually replace it with their own, often at /sitemap_index.xml. Save the list of URLs to a spreadsheet. If you have Google Search Console set up, export the pages that get traffic too, as they're the ones you can't afford to break.
Content types. Pages, posts, categories, tags, authors, and any custom post types (portfolio items, team members, events). Note roughly how many of each.
Plugins and what they do. Don't list plugin names; list jobs. "Contact form that emails the owner." "SEO titles and descriptions." "Booking calendar." "Newsletter signup." Each job needs a plan in the new site.
Things that aren't visible. Analytics tags, redirects already set by a plugin, custom code in the theme, email addresses on forms.
Step 2: Export content and media
Content. In the WordPress admin, go to Tools → Export, choose All content, and download the file. It's an XML file (the WordPress eXtended RSS format, or WXR) containing posts, pages, comments, custom fields, categories and tags.
Media. The export file refers to images by URL but doesn't contain them. Copy the wp-content/uploads folder from your host with its file manager, SFTP, or a backup plugin. Keep the folder structure; it's organised by year and month.
SEO fields. If an SEO plugin stores custom titles and meta descriptions, they're usually in the export as custom fields. Check a post in the XML file to make sure.
A full backup. Take a complete backup of files and database as well, even if you don't plan to use it. It's your way back.
Step 3: Rebuild the design
A migration is a good moment to simplify. Most WordPress themes carry years of widgets and layout options you don't need.
Take screenshots of the key page types: home, a normal page, the blog list, a single post, contact. With an AI app builder you can attach them and describe what to keep:
Build a website for a physiotherapy clinic based on the attached screenshots of our current WordPress site. Keep the colours, logo and section order on the home page, but make it cleaner and faster. Pages: Home, Services, About, Blog, Contact. The blog needs a list page and a single-post page.
Build the layout with a few real posts first, not the whole archive.
Step 4: Import the content
How you import depends on the volume.
- A handful of pages. Copy the text in by hand or paste it into the chat. It's fast and lets you edit as you go.
- Dozens or hundreds of posts. Import from the XML export. A script can read each item and save the title, slug, date, content, excerpt, categories and featured image.
With an AI builder, attach the export file and describe the result you want:
I've attached our WordPress export (WXR XML). Import every published post into the blog. Keep each post's slug, publish date, title, content, categories and featured image. Skip drafts, trashed posts and comments. Store posts so that the URL of each one is
/blog/[slug]. Show me how many posts were imported and list any that failed.
A few things to check after the import:
- Images inside posts still point at the old domain's
wp-content/uploadsURLs. Upload the media to the new site's storage and rewrite those URLs, or they'll break the day the old site goes away. - Shortcodes like
[gallery]or[contact-form-7]show up as literal text. Find them and replace them with real content. - Embedded HTML from page builders can be messy. Spot-check the posts that get the most traffic.
Step 5: Keep URLs, or redirect them
Search engines and other websites link to your old URLs. When a URL disappears, those links return a 404 and the ranking attached to them is lost.
Best case: keep the exact same URLs. If your posts lived at /my-post-title/, make the new site serve them at the same address.
When URLs must change (say, from /2024/05/my-post/ to /blog/my-post), set up a 301 redirect (a permanent redirect) from each old URL to its new one. Build a two-column list, old URL and new URL, from the inventory you made in Step 1. Then ask:
Add permanent 301 redirects from each old URL in the attached CSV to its new URL. Also redirect
/category/[name]/to/blog?category=[name], and/feed/to/blog/rss.xml.
Test a sample of old URLs after launch. Each should land on the right new page with one hop, not a chain of redirects.
Step 6: Carry over the SEO basics
- Page titles and meta descriptions for every important page
- A new sitemap, submitted in Google Search Console
- The same analytics, so you can compare before and after
- Image alt text, which is in the export for images that had it
Our guide on SEO for AI-built websites covers the rest.
Step 7: Replace plugin functions
Go through the list of jobs from Step 1:
| Plugin job | Typical replacement |
|---|---|
| Contact form | A form that saves to a database and/or emails you |
| SEO fields | Titles and descriptions set per page in the new site |
| Newsletter signup | Your email provider's form or API |
| Booking | A booking page, or a hosted booking tool embedded in the page |
| Comments | A comment feature, a hosted comments service, or none |
| Caching and security | Usually unnecessary on a static or hosted site |
Step 8: Launch and switch DNS
- Publish the new site to a temporary address and test it on desktop and phone.
- Click through every page in your top-traffic list.
- Check a sample of old URLs for correct redirects.
- Point your domain's DNS at the new host.
- Keep the WordPress site and its backup for a few weeks, in case something was missed.
Our guide on connecting a custom domain explains the DNS change.
Common mistakes
- No redirects. The most expensive mistake. Every broken URL is a lost link.
- Images still loading from the old site. Everything looks fine until you cancel the old hosting.
- Forgetting forms. The contact form silently stops sending, and you find out weeks later.
- Importing drafts and junk. Clean up before importing, not after.
- Cancelling old hosting on launch day. Wait until you're sure nothing is missing.
Migrating to Mythex
Mythex is an AI app builder, not a WordPress host, so a WordPress migration to Mythex is a rebuild: you describe the site, attach screenshots and your export file in chat (up to 5 files per message, 10 MB each), and the agent writes the new site. Uploaded images can go in the project's file storage, and a database holds posts if you want to edit them later. Publish to a mythex.ai address to test, then connect your domain on Pro. See static websites on Mythex in the docs.
Migration checklist
- Full backup of the WordPress files and database
- List of every URL, with top-traffic pages marked
- List of plugin jobs and a replacement for each
- Content exported (Tools → Export) and
wp-content/uploadscopied - Design rebuilt and tested with real content
- Content imported; images moved off the old domain; shortcodes removed
- 301 redirects for every changed URL, tested
- Titles, descriptions, sitemap and analytics in place
- Forms tested end to end
- DNS switched; old site kept for a few weeks
Questions
Will I lose my Google rankings if I move off WordPress?
Not if you keep the same URLs where you can, add 301 redirects for every URL that changes, and carry over titles, descriptions and content. Rankings often wobble for a few weeks after any migration, but broken URLs without redirects are what cause lasting losses.
How do I export everything from WordPress?
Tools → Export in the WordPress admin downloads an XML file with your posts, pages, comments, categories and tags. Media files are not inside that file, so copy the wp-content/uploads folder separately, from your host's file manager, SFTP or a backup plugin.
Can I keep using WordPress just for writing posts?
Yes. That setup is called headless WordPress: WordPress stays as the editor and a new frontend reads posts through the WordPress REST API. It keeps a familiar editor but means you still maintain and secure a WordPress install.
What about my contact forms and plugins?
Plugins don't move. List what each one does, such as forms, SEO fields or bookings, and rebuild that function in the new site or replace it with a service. Forms usually become a simple form that saves to a database or sends an email.