Skip to content
Blog 8 min read

How to Migrate From WordPress to Framer Without Losing SEO

Category:
SEO
Updated:
Oct 12, 2026

The WordPress-specific steps for moving to Framer with rankings intact: plugins, blog export, Yoast and RankMath metadata, media, forms, redirects and Search Console checks.

Artyum Grebenyuk, founder of AGR Studio Artyum Grebenyuk Founder, AGR Studio

Teams usually leave WordPress for the same reasons: every new page waits on a developer, and plugins need constant updates. Framer fixes the editing side. The part that needs care is search traffic. WordPress spreads SEO data across plugins, media folders and URL patterns, and none of it moves to Framer by itself.

We’ve moved Cerve, ProcessFusion and Fluxora from WordPress to Framer. This guide covers the WordPress-specific steps we run. For the checklist that applies to any platform, read how to migrate your website without losing SEO.

Step 1: List every URL, plugin and top page

  • Every URL. Start with the XML sitemap. Yoast and RankMath publish one at /sitemap_index.xml, and WordPress itself uses /wp-sitemap.xml. Then crawl the site, because sitemaps skip old landing pages and anything set to noindex.
  • Every plugin. List the active plugins and what each one does.
  • The pages that earn traffic. In Search Console, export the Performance report by page for the last 12 months, plus the top linked pages from the Links report. These get protected first.
  • Existing redirects. Export the rules from the Redirection plugin, your SEO plugin or the .htaccess file. Old redirects have to move too.

Step 2: Decide what happens to each plugin

Framer covers hosting, SSL, caching, the sitemap and page-level SEO settings, so caching, security and backup plugins go away. The rest falls into a few groups:

  • SEO plugins. Yoast and RankMath hold your titles, descriptions, noindex settings and schema. That data moves in step 4.
  • Form plugins. Contact Form 7, Gravity Forms and WPForms get rebuilt in step 6.
  • Page builders. Elementor, Divi and WPBakery layouts get redesigned in Framer. Only the content carries over.
  • Multilingual plugins. WPML or Polylang content moves into Framer’s localization, and every language gets its own redirect map.

Step 3: Export the blog and clean up shortcodes

WordPress exports posts, categories, tags and authors as one XML file (Tools, then Export). Framer’s CMS imports CSV, so the XML gets converted into a spreadsheet with one row per post and one column per Framer field: title, slug, date, body, excerpt, featured image, category, SEO title and SEO description.

Framer’s importer wants UTF-8 files under 5 MB, column names that match the CMS fields, a unique slug per row and the body as HTML. Split a large blog into batches. Re-importing with the same slugs updates existing items, so you can fix and reload without duplicates.

Clean up shortcodes first. Search the body column for square brackets. Plugin shortcodes such as gallery] or contact-form-7 id=12], and page builder code such as vc_row], show up in Framer as raw text. Decide for each type whether it becomes plain HTML, a Framer component or nothing, and fix it in the spreadsheet.

Keep every slug exactly as it is. The move is also a good moment to tidy the structure. When we moved ProcessFusion, we rebuilt the content so every product page follows one system.

Step 4: Carry over Yoast or RankMath metadata

Both plugins store a custom title and description for each post, often built from templates with variables. The safest way to capture them is to crawl the live site and record what each URL actually outputs: title tag, meta description, canonical and any noindex tag. That gives you the final text with the variables filled in.

Add the title and description as columns in the import file, then bind them to the CMS page’s SEO settings in Framer, so every post keeps its own. Static pages get theirs in each page’s settings. Keep the noindex choices too.

Both plugins also add structured data, which doesn’t come across with the content. Add Organization schema to the site and Article schema to the blog template as JSON-LD.

Step 5: Move images and files out of wp-content

Everything you ever uploaded lives under /wp-content/uploads/, and that folder goes offline when the old hosting is cancelled.

  • Images in posts. Re-upload them so post bodies load images from Framer. After the import, search the body fields for wp-content to catch any left behind.
  • PDFs and downloads. Reports and factsheets often carry backlinks. Upload them to Framer and redirect each old file URL to the page that now holds the file.
  • Alt text. It sits inside the image tags in the export. Keep it.

Step 6: Rebuild every form

For each form, write down the fields, where submissions go, the consent text and which thank-you page counts as a conversion. Then rebuild it with Framer’s native forms, which send to email or a webhook, or embed your CRM’s own form. On Cerve’s migration we connected HubSpot and handled GDPR compliance as part of the move. Send a real test through every form before launch.

Step 7: Build the redirect map

Use one spreadsheet: old URL, new URL, status. Every URL from step 1 gets a row.

  • One hop. Old redirects point straight to the final page, with no chains.
  • Closest match. Each old page goes to the page that now covers its topic. Sending everything to the homepage throws away what those pages earned.
  • WordPress leftovers. Category, tag, author and /page/2/ archives, ?p=123 links and /feed/ all need a decision. Categories usually go to a matching topic page, and tags and author pages to the blog.
  • Trailing slashes. WordPress URLs usually end in a slash and Framer’s don’t. Test both versions of your top URLs.

Add the rules in Framer under Site Settings, Hosting, Redirects. Wildcards save time: * matches a whole folder, :1 reuses the matched part, and a rule like /:year/:month/:slug to /blog/:slug moves dated post URLs in one line. Rules apply when you publish, and their order sets priority. Framer redirects cover paths on your own domain, so if the domain changes too, set the domain-level redirect at the old host. Check that your Framer plan supports the number of redirects you need.

Pre-launch checklist

  • Crawl old and new. Compare the two crawls for missing pages, broken links and missing titles or descriptions.
  • Check the map. No redirect points at a missing page or at another redirect.
  • Indexing is on. The live site can be indexed and robots.txt allows crawling.
  • Search Console survives the move. If the property was verified through a WordPress plugin or an HTML file, it breaks at launch. Verify the domain through DNS first.
  • WordPress stays available. Keep the old install and a full backup until the post-launch checks are done.

Post-launch checklist

  • Day one. Run every old URL through a crawler. Each should return a 301 to the right page, then a 200. Submit the new sitemap in Search Console and in Bing Webmaster Tools, since ChatGPT search and Copilot lean on Bing’s index. Request indexing for your top pages with URL Inspection.
  • First week. In the Pages report, watch Not found (404), Redirect error and Duplicate without user-selected canonical. Add a redirect for every 404 that had traffic or links.
  • Weeks two to four. Compare clicks and impressions for your top pages against the export from step 1. Some movement while Google recrawls is normal. A page that keeps falling usually has a broken redirect or lost metadata.
  • Speed. Check Core Web Vitals as field data comes in. When we moved Fluxora, a payments brand, off a dated WordPress site, the new Framer site scored 90+ on Lighthouse performance.

A realistic timeline

Most of our builds ship in 2 to 6 weeks. Cerve’s full site moved from WordPress to Framer in about 2.5 weeks, with HubSpot and GDPR set up.

  • Week one. Inventory, plugin decisions, blog export and the first redirect map.
  • The middle weeks. Design and build, CMS import, forms and integrations.
  • The final week. Metadata pass, crawl comparison, redirects loaded, launch.
  • Two weeks after launch. Search Console checks and fixes, covered by included support.

A large blog or several languages push it toward the longer end. Here’s how we run WordPress to Framer migrations.

FAQ

Can Framer handle a large WordPress blog?

Yes. Posts import into the CMS in CSV batches, and each keeps its slug, metadata and images. Check your Framer plan’s CMS item limit against your post count first.

Will we lose our Yoast or RankMath settings?

Only if nobody moves them. Crawl the live site, carry titles and descriptions into the import file, and rebuild the schema as JSON-LD.

If you’re planning a move off WordPress, book a call.

Blog

Continue reading our latest blogs

Free 20-min intro call

Tell us what you’re building

Tell us about your goals and we will reply within a day with a clear scope and next steps.