How Raze migrates WordPress content to Sanity.
The Sanity schema is validated with real WordPress content before bulk import. Assets, references, portable text, SEO fields, previews, and frontend queries are designed as one system.
01Inventory WordPress and sample the difficult records
Inspect APIs and exports, classify content types and fields, identify shortcodes and block formats, count assets and relationships, and select representative records that expose the hardest migration cases.
02Design Sanity around the future workflow
Model documents and reusable objects, define references and validation, prototype the Studio experience, specify SEO and localization fields, and confirm how the frontend will query and preview content.
03Build a repeatable migration pipeline
Extract WordPress data, transform it into schema-valid documents, upload assets, preserve identifiers, create references, generate NDJSON or client mutations, and log every skipped or manually reviewed value.
04Test imports with editors and the frontend
Import representative content into a non-production dataset, run GROQ queries, render real pages, validate Studio workflows, inspect images and references, and revise the schema before the full migration.
05Run, reconcile, and cut over
Freeze or synchronize source changes, execute the final import, compare counts and relationships, resolve exceptions, switch the frontend, verify production URLs and metadata, and retain the source as a rollback reference.
The strongest Sanity migration leaves editors with fewer ambiguous choices and developers with a clearer content contract than either group had in WordPress.