All posts
Platform migrations

Migrating Metadata, Schema and Open Graph Between Platforms

How to migrate meta tags, schema and Open Graph between platforms: a field map for WordPress, Webflow, Framer and Next.js, plus the schema types to keep.

By Mehdi Hassan6 min read

The short answer

To migrate meta tags, schema and Open Graph tags, export every page's title, description, canonical, Open Graph fields and JSON-LD from the old site, map each to its field on the new platform, and bind CMS templates to those fields. Then compare old and new HTML page by page before launch, because builders often drop these silently.

Key takeaways

  • Metadata lives in plugins and page settings, so content exports usually leave it behind.
  • Map each old field to a new field before building templates, not after.
  • Bind CMS templates to SEO fields so every post gets its own title and description.
  • Keep Organization, Article and FAQ schema. Answer engines read it even without rich results.
  • Compare raw HTML before and after launch. The editor preview won't show what's missing.

How do you keep meta titles, schema and Open Graph tags during a migration?

You keep meta titles, schema and Open Graph tags during a migration by treating them as content, not settings. Export them alongside the copy, map each field to its equivalent on the new platform, and check the published HTML before launch. Most losses happen because nobody owned these fields.

Metadata is easy to lose because it rarely lives in the page body. On WordPress it sits in an SEO plugin, on Webflow and Framer in page and CMS settings, and on Next.js in code. This guide covers the field mapping. The rest of the move is in our website migration SEO checklist.

Which metadata fields should you migrate?

Migrate every field that changes how a page appears in search, in social previews and to machines. Titles and descriptions matter most for clicks, canonicals and robots tags matter most for indexing, and schema matters for how engines understand the page.

  • Title tag and meta description: the custom ones, not only the page name.
  • Canonical URL: update to the new URL, never the old domain or staging.
  • Meta robots: carry over any intentional noindex, and remove staging ones.
  • Open Graph and social: og:title, og:description, og:image, and the image's alt text. Our Open Graph tags definition explains each one.
  • Structured data: every JSON-LD block, with URLs updated.
  • Image alt text and hreflang: both are often stored separately from the copy.

How do metadata fields map between platforms?

Each platform stores the same fields in a different place, so build a mapping table before you build templates. The table below shows where the common fields live on the four platforms we build on or migrate from most.

Field

WordPress

Webflow

Framer

Next.js

Title

SEO plugin field

Page or CMS SEO settings

Page settings or CMS field

Metadata title

Description

SEO plugin field

Page or CMS SEO settings

Page settings or CMS field

Metadata description

Canonical

Plugin, auto by default

Site setting plus page override

Set automatically per page

Metadata alternates

Open Graph image

Plugin or featured image

Open Graph settings, bindable to a CMS image

Page or CMS social image

Metadata openGraph images

Schema

Plugin output or custom

Custom code in page or CMS template

Custom code in page settings

JSON-LD script in the page

Noindex

Plugin toggle

Page or CMS setting

Page setting

Metadata robots

Exact menus change, so check each platform's current docs. What doesn't change is the principle: on CMS templates, bind the SEO fields to collection fields so each item gets unique values. The Next.js Metadata API, including generateMetadata for dynamic routes, is documented on nextjs.org.

How do you migrate meta tags and schema step by step?

Migrate meta tags and schema in five steps: extract, map, import, template, verify. The extract step is the one people skip, and it's the one that makes the rest possible.

  1. Extract from the old site

    Crawl every URL and export title, description, canonical, robots, Open Graph fields, hreflang and structured data. Save raw HTML for top pages.

  2. Map fields

    Add columns for the new platform's field names to your redirect sheet, so each row holds the old URL, new URL and its metadata.

  3. Import with the content

    Include SEO title, description and social image as CMS fields in your import CSV, instead of entering them by hand later.

  4. Template the schema

    Build Article schema into the blog template and Organization schema site-wide, pulling values from CMS fields. Add FAQ schema only where a visible FAQ exists.

  5. Verify the output

    Crawl staging and the live site, compare metadata columns with the old crawl, and run key pages through Google's Rich Results Test and the Schema Markup Validator.

If you're moving rich text into Webflow, check how each CSV column maps to a CMS field type before the import. For AI-led rebuilds, our guide to AI-assisted website migration explains why metadata needs its own check.

Which schema types matter for AEO after a migration?

For answer engine optimization, the schema types to keep are Organization, Article, and FAQ where the page shows a real FAQ. They tell machines who published the page, what it is and which questions it answers, which helps engines that quote passages.

Schema type

Where it goes

What to carry over

Organization

Homepage or site-wide

Name, URL, logo, sameAs profiles

Article or BlogPosting

Every post

Headline, author, dates, image

FAQPage

Pages with a visible FAQ

Questions and answers matching the page

BreadcrumbList

Deep pages

Path that matches the new URLs

Product or SoftwareApplication

Product pages

Name, description, offers if shown

Google now shows FAQ rich results for a narrow set of sites, but the markup still describes the page clearly. Whether schema helps AI citations is debated; our article on schema markup and AI citations looks at that question, and structured data for marketing sites covers which types to add beyond these.

Hypothetical example: moving a 60-post blog from WordPress to Framer

For example, suppose a startup's WordPress blog uses an SEO plugin for custom titles and descriptions, featured images as Open Graph images, and plugin-generated Article schema. A plain content export brings over the post body and featured image, but not the custom titles.

The team crawls the old blog and adds SEO title, description and social image columns to the import CSV. In Framer, the blog's CMS page settings use those fields for each post's metadata, and an Article JSON-LD block in the template pulls headline, author and date from the CMS. A crawl of staging confirms all 60 posts have unique titles matching the old ones.

How do you check metadata after launch?

Check metadata after launch by crawling the live site and comparing title, description, canonical and schema columns with your pre-migration crawl. Any row where the value changed without a reason is a bug.

Look for canonicals pointing at staging, duplicate titles across CMS items, missing Open Graph images and schema that still references old URLs. Share a few key pages on social platforms or use a preview debugger to confirm the cards render. Then keep an eye on click-through rates in Search Console, since a weaker title shows up there first. If clicks fall, see our guide to traffic drops after a website migration.

Frequently asked questions

Do meta descriptions affect rankings?
Meta descriptions don't directly affect rankings, but they often appear as the snippet under your result, so they influence whether people click. Google may rewrite them when it thinks another passage fits the query better. Migrating your existing descriptions keeps the snippets that already earned clicks, which is why they belong in the migration map.
Should I rewrite meta titles during a migration?
Keep titles on pages that already rank well and get clicks, at least until the migration settles. Changing them at the same time as URLs makes any drop hard to explain. Rewrite weak titles on pages that never performed, and log each change so you can match it to movements in Search Console later.
What happens if schema references old URLs?
Schema with old URLs sends mixed signals about which page is the real one, and image or logo URLs may break if the old host goes away. It won't usually cause a dramatic drop, but it's sloppy and easy to fix. Search the live HTML for the old domain or old paths after launch and update every match.
Can I add schema with a no-code builder?
Yes. Webflow and Framer both let you add custom code to page and CMS templates, which is where JSON-LD goes. On CMS templates you can insert collection fields into the script so each item gets its own values. Validate the output with Google's Rich Results Test, because a single broken character invalidates the whole block.

· CEO & Design Director

Copywriter, designer and developer, and founder of Designify Studio. Over five years, 60+ projects across 14+ industries, for startups that have raised $300M+.

Want this done for you? Website, $8,000.

A multi-page marketing site, designed by us, developed in Next.js and animated. $8,000, one-time, up to 6 pages. Book a free 30-minute call to see if it fits.

Schedule Call