← All playbooks
Publishing migration

Framer → WordPress

Move Framer CMS collections into WordPress with plugin CSV exports, then rebuild the design as a theme. Framer has no site export WordPress can import. Re-host images. Recreate redirects. Keep Framer live until WordPress no longer loads Framer URLs.

Typical timeline12–28 business days45–100 hours active work
Statusneeds review
Source profileFramer data portability article reviewed 2026-10-31
Destination profileWordPress import documentation reviewed 2026-10-31
Documentation date
Review window
Evidence4 sources
This route needs review.Use it as a planning baseline, then verify the dated sources and test with representative data before production.
Before you migrate

Should you make this move?

Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.

Current platform

Framer

Reasons to stay
  • A Figma-like canvas, components, and effects let small teams publish marketing sites quickly
  • Editors get a purpose-built publishing workflow instead of raw files
Reasons to leave
  • CMS exports go through plugins, and the published site is not a portable Designer or WordPress project
  • Themes, extensions, and content models add maintenance and portability constraints
New platform

WordPress

What gets better
  • Unmatched ecosystem breadth and content ownership support almost any publishing model
  • Editors get a purpose-built publishing workflow instead of raw files
What gets worse
  • Plugin, hosting, security, and performance maintenance accumulate over time
  • Themes, extensions, and content models add maintenance and portability constraints
Best of the move

WordPress: Unmatched ecosystem breadth and content ownership support almost any publishing model. This removes a major source-side concern: CMS exports go through plugins, and the published site is not a portable Designer or WordPress project.

Worst of the move

What you lose: A Figma-like canvas, components, and effects let small teams publish marketing sites quickly. What you inherit: Plugin, hosting, security, and performance maintenance accumulate over time.

Jump to a section
01At a glance

Know the shape of the move.

Transfer outcome12 features audited
Transfer outcome distributionClean transfer: 0, Partial transfer: 4, Manual rebuild: 6, Not transferred: 2.
Clean0
Partial4
Manual6
Lost2
Mapping route9 of 10 fields have a destination path

This timeline assumes

  • Self-hosted or hosted WordPress where you can install an import plugin and a theme.
  • Each Framer CMS collection can be exported through a plugin as CSV or JSON.
  • Framer stays public until images are on WordPress or another host you control.
  • The site already documents Webflow → WordPress and Framer → Webflow as nearby routes.
  • Pages and animations are a rebuild. The published HTML download is a reference, not a theme.
02What transfers

What survives the move.

“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.

ItemOutcomeImpactWhat happensMitigation
Site design and componentslostcriticalFramer components, effects, and breakpoints do not become a WordPress theme. The portability article lets you download published HTML for hosting elsewhere. That is static files, not PHP templates.Choose a theme. Rebuild templates. Compare screenshots.
CMS collectionspartialcriticalExport each collection as CSV or JSON. WordPress has no Framer importer. You map rows to posts, pages, or a custom post type.Create the post types first. Import a sample. Then import the rest.
Rich textpartialhighKeep HTML if the export still has markup. A plain-text column loses headings, links, and lists.Open a few imported posts. Fix leftover Framer markup.
ImagespartialcriticalImage fields often export as Framer URLs. Those URLs can die when you cancel Framer.Sideload media into the WordPress library. Replace hosts before DNS.
ReferencesmanualhighAuthors, categories, and related items export as names or IDs. WordPress needs terms and related post IDs.Import taxonomies first. Then map references.
DraftspartialhighConfirm the export marks drafts. WordPress import can publish them if you map status wrong.Keep drafts as draft. Spot-check status.
FormsmanualcriticalFramer form destinations do not become a WordPress form plugin.Rebuild each form. Send a test on the production domain.
RedirectsmanualcriticalCopy Framer redirects into WordPress or the host. Framer redirects do not travel with the CSV.Install the list. Test every changed path.
LocalizationmanualhighEach locale needs its own export and a WordPress translation setup you already chose.Do not invent a plugin. Use the stack you already run.
SEO metadatamanualcriticalTitles, descriptions, and canonicals need a WordPress pass.Crawl both sites before DNS.
CommentslostmediumFramer sites often have no comment export that WordPress can load.Archive what you have or add a new comment system.
Hosting and DNSmanualcriticalReplace Framer’s published DNS with the WordPress host. Keep Framer up until SSL and media pass.Connect the domain on WordPress first. Switch DNS second.
03Field and feature mapping

Where each thing goes.

SourceDestinationMethodNotes
Framer CMS collectionPosts, pages, or a custom post typetransformCreate the type first.
Title and slugWordPress title and slugtransformKeep keep-URLs.
Rich text HTMLPost contenttransformPrefer HTML over plain text.
Image URLMedia library attachmenttransformRe-host.
Reference to author or categoryAuthor or taxonomy termtransformImport terms first.
Draft flagWordPress post statustransformDo not publish drafts.
Framer pageWordPress page or templatemanualRebuild.
FormForm pluginmanualNew destination.
Framer redirectWordPress or host redirectmanualCopy the list.
Published HTML downloadNo destinationunsupportedReference only.
04Before you begin

Make the move recoverable.

Backup procedure

Create the source-of-truth backup

Keep Framer CMS exports, a URL crawl, and a published-file snapshot.

  1. Export each collection as CSV or JSON.
  2. Crawl public URLs and redirects.
  3. Download published files if you want a static snapshot.
  4. Save original images.
  5. Screenshot templates and forms.

Proof to capture: Export hashes, URL count, and a named restore owner.

Transformation · A WordPress import plugin you already tested, or WP-CLI

CSV to WordPress

Load Framer items as posts or custom types.

  1. Create post types and taxonomies.
  2. Map CSV columns on a small file.
  3. Sideload images.
  4. Import the rest only after the sample looks right.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

Transformation · Redirect rules plus the media library

Redirects and media hosts

Keep old Framer links and stop Framer hotlinks.

  1. Write a redirect for every changed path.
  2. Replace Framer image hosts.
  3. Test keep-URLs.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

05Handle with care

The things most likely to hurt.

These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.

Content

Imported posts still hotlink Framer

criticalpossible likelihood

Content HTML still contains framerusercontent URLs.

Consequence
Images die when you cancel Framer.
Mitigation
Search the database for Framer hosts before DNS.

Stop if: A high-traffic post still requests Framer.

Import

Drafts go public

highpossible likelihood

Status mapped to publish.

Consequence
Unfinished pages appear on the live site.
Mitigation
Filter status after import. Compare draft counts.

Stop if: A draft collection item is public on WordPress.

Routing

Keep URLs change

criticalpossible likelihood

WordPress added /blog/ or a trailing slash policy you did not plan.

Consequence
Search and campaigns 404.
Mitigation
Set permalinks first. Add redirects for anything that still changed.

Stop if: A cornerstone Framer URL misses WordPress after one redirect fix.

06Precise timeline

Do the work in this order.

Estimate forA Framer marketing or blog site moving into WordPress with CSV collections
Total elapsed12–28 business days
Active work45–100 hours
BufferAdd time for custom post types, multilingual plugins, or a large media library.
01
Days 1–4Inventory Framer3–4 days
02
Days 4–7Export CMS2–3 days
03
Days 7–20Theme and import8–13 days
04
Days 20–25Switch DNS2–4 days
05
Days 25–28Observe and close4–7 days
  1. Days 1–4 · inventory

    Inventory Framer

    8–16 hours active3–4 days elapsedOwner review waiting
    • List collections, pages, forms, and redirects.
    • Choose WordPress post types.

    Depends on: Framer and WordPress admin access

    Stop / go checkpoint

    Export?

    Go when: The type map is signed.

    Stop when: A required collection has no export.

  2. Days 4–7 · backup

    Export CMS

    5–10 hours active2–3 days elapsedExports waiting
    • Export each collection.
    • Crawl URLs.
    • Save images.

    Depends on: inventory

    Stop / go checkpoint

    Import?

    Go when: Hashes and counts exist.

    Stop when: An export is empty.

  3. Days 7–20 · pilot

    Theme and import

    22–55 hours active8–13 days elapsedTheme work waiting
    • Build or choose the theme.
    • Import a sample.
    • Sideload media.
    • Write redirects.

    Depends on: backup

    Stop / go checkpoint

    Preview OK?

    Go when: Sample posts, images, and forms pass.

    Stop when: Content still depends on Framer hosts.

  4. Days 20–25 · cutover

    Switch DNS

    4–10 hours active2–4 days elapsedDNS and SSL waiting
    • Freeze Framer edits.
    • Import the last delta.
    • Point the domain at WordPress.

    Depends on: pilot

    Stop / go checkpoint

    WordPress is public?

    Go when: URLs, SSL, and forms pass.

    Stop when: A keep URL 404s.

  5. Days 25–28 · observe

    Observe and close

    4–8 hours active4–7 days elapsedSearch and form traffic waiting
    • Watch 404s.
    • Keep Framer readable.

    Depends on: cutover

    Stop / go checkpoint

    Close rollback?

    Go when: No trigger fires.

    Stop when: Images or redirects regress.

07The point of change

Cut over with a way back.

Go live

Cutover

Make WordPress the public site without losing the last Framer edits.

Recommended window: A weekday with DNS and WordPress owners available.

  1. Freeze Framer publishing.
  2. Re-export changed collections.
  3. Install redirects.
  4. Switch DNS.
  5. Send a production form test.

Proof to capture: WordPress serves the domain. Keep URLs resolve. Images do not use Framer hosts.

Return to safety

Rollback

Return the domain to Framer without losing WordPress-era posts you still want.

Deadline: Before you cancel Framer or delete the project.

  1. Restore Framer DNS.
  2. Export WordPress posts written after cutover.
  3. Apply only reviewed posts back to Framer if needed.
  4. Keep the CMS exports.

Proof to capture: Framer serves the domain again.

Rollback immediately when
  • Images still on Framer
  • Drafts published
  • A keep URL 404s
  • A production form fails
  • Redirect loop
08Verification report

Prove the migration worked.

Every blocking check must pass. Capture the evidence before cleanup begins.

0%
Interactive report preview0 / 8 checks passed
PassIDCheckMethodExpected resultEvidence
V-01BlockingCounts and statusCompare export rows to WordPress posts, including drafts.Counts match. Drafts stay draft.Count sheet.
V-02BlockingImage hostsSearch content for Framer hosts.No required image uses Framer.Search report.
V-03BlockingKeep URLsRequest every URL marked keep.200 on WordPress.Crawl.
V-04BlockingRedirectsRequest changed Framer paths.One 301.Redirect results.
V-05BlockingProduction submissionSubmit each public form.The destination receives the test.Form receipt.
V-06BlockingTitles and canonicalsCrawl key posts.Approved metadata. No accidental noindex.SEO sample.
V-07Theme templatesCompare home, post, and page at two breakpoints.Accepted layout.Screenshots.
V-08BlockingSingle siteInspect Framer and WordPress publishing.WordPress alone is public.DNS screenshot.
09Post-migration cleanup

Remove the scaffolding safely.

Safe after: Seven stable public days, no required Framer image hosts, and a signed report.

  1. Archive CMS exports and crawls.
  2. Re-host leftover Framer images.
  3. Keep Framer readable through the retention window.
  4. Cancel Framer only after media is independent.
  5. Revoke migration users.
  6. Schedule the next WordPress backup and redirect review.
Sources and evidence

Verify against the primary material.

Platform behavior changes. Check these sources and the review dates above before executing a production migration.

  1. Framer: porting your data from FramerAccessed 2026-10-31
  2. WordPress: importing contentAccessed 2026-10-31
  3. WordPress: Tools export screenAccessed 2026-10-31
  4. Framer: CSV import (collection field types)Accessed 2026-10-31