CoursesMigrating from Webflow to SanityAudit your Webflow content
Migrating from Webflow to Sanity

Audit your Webflow content

Answer the scope and integration questions that require human judgment before the API fetch gives you the rest of your content inventory automatically.
Log in to mark your progress for each Lesson and Task

The API fetch in Chapter 2 will hand you most of your content inventory automatically: collections, field types, reference relationships, static pages, and component usage, all as structured JSON files you can inspect and share. What you need to decide now, before any of that runs, are the scope and integration questions that require human judgment.

Answer these before writing any code:

  • Is Webflow Localization in use? The API returns locale variants per item, so plan for this in your schema before extraction begins.
  • Is there e-commerce content? Plan that as a separate workstream.
  • Are there multiple Webflow projects to consolidate into one Sanity project?
  • Which CMS items are you migrating: published only, or drafts too? The Webflow API exposes isDraft and isArchived booleans on every item, so you can filter precisely during extraction.

The API fetch in Chapter 2 saves custom-code-site.json and custom-code-pages.json, covering anything added manually via Site Settings > Custom Code and per-page custom code fields. Review those once they exist.

Do a manual pass through two places the API doesn't reach:

  • Site Settings > Integrations: native Webflow connections (Google Analytics, Meta Pixel, and similar) are managed outside the custom code system and won't appear in the API response
  • Apps panel: marketplace apps may inject scripts through their own mechanisms, not through custom code fields

For each script you find across all three sources, note what it does and where it moves. Analytics, consent, chat, and A/B testing scripts go into your Next.js layout, not into Sanity.

For forms, webflow/api/forms.json gives you the field schema for each form. What you need to record manually is where submissions currently go: notification email addresses, connected CRMs, or webhook destinations. The API doesn't expose that configuration.

You don't need to export the sitemap XML. The Pages API (/v2/sites/{siteId}/pages) returns every page with its slug and SEO metadata. When you run the initial API fetch in the next chapter, save this to disk and use it as your URL inventory. For each page, note whether the slug stays the same or changes in the new site. The ones that change need 301 redirects.

The audit document doesn't need to be complex. A spreadsheet with one row per collection and a separate tab for integrations is enough. What matters is finishing it before you open a code editor.

Next, you’ll design your Sanity content model based on what the audit reveals.

Mark lesson as complete
You have 1 uncompleted task in this lesson
0 of 1