Loading...
Loading...
Contentful → Sanity port
Keep the Next.js front end you already paid for. Replace the CMS before the next renewal only if the written comparison shows a real saving or workflow gain.
Three routes
The smallest change that fixes the bill and unblocks your team is the right one. I will tell you which one I think it is after I read your Contentful space.
The cost comes from unused seats, extra spaces or a content model that grew too far. Trim those, and stay where you are.
Inventory only. You act on it yourself.
Your front end works and the licence line is the problem. Move the content model, the entries, the assets and the locales. The site renders as it does today.
Scoped in writing after the inventory.
You need new page types, new fields, editor roles and a review process. That is a project, not a move.
Scoped as a project, in writing, after the inventory.
Who does the work
Scope
The process
The written estimate comes after the inventory. Your team joins for scoping, the critical-content review and the preview review. Editors stay in Contentful until the switch.
You and I agree the content types in scope, the work out of scope and who decides. We also agree what AI may do.
Output: A written scope and a set of control rules.
I list your content types, entries, references, locales, assets, webhooks and apps. You mark what the business cannot lose.
Output: A model map, an issue list and my route recommendation.
I build the Sanity schema, the editor views and the roles your plan supports. Then I run the first import into a test dataset.
Output: A Sanity Studio your editors can open, with real content in it.
I repeat the import until the numbers match. I convert the rich text, then point your front end at Sanity.
Output: A preview site that renders your content from Sanity.
I check page titles, metadata, redirects, images, links and forms against the old pages. You review the preview and send one list.
Output: An acceptance checklist and the fixes against the agreed model map.
I agree a content freeze with you, then run the final import and record a rollback point. I launch, then show your team how to edit and preview.
Output: A live site, an editor guide and a rollback point.
If you want AI in it
Nothing automatic touches your content unless you ask for it. If you include it, these rules become acceptance requirements in the written scope.
Safeguards
A content move puts your search results, your recent edits and your launch day at risk. Here is what holds each one down.
Questions
Sanity publishes a free plan for a small team. The paid plans charge per editor seat. The plan you need depends on private datasets, roles and workflow features. I put the expected plan, and what forces it, in the written estimate after the inventory.
Sanity is my default because I know it well and it separates content from design cleanly. Contentful and Storyblok do a similar job. I pick against your workflow, not against a vendor list.
Stay if reducing seats, spaces or model complexity fixes the cost. Move only when the renewal or workflow still blocks the team after that review. If your contract overlaps the switch, the written scope includes the overlap.
Your pages and your design stay as they are. What changes is where the pages get their content. I replace the code that reads Contentful with code that reads Sanity. You review the result on a preview site before anything goes live.
Contentful rich text becomes Portable Text in Sanity, as structured data and not as pasted HTML. Entry links become Sanity references. Images move to the Sanity asset CDN, so image URLs change. I check links, embeds and alt text on the rendered page.
Contentful sets languages per field. Sanity supports document-level and field-level localisation. We pick one before the import. I agree the fallback rules and the per-language workflow with your editors first. Language permissions and per-locale approval need their own design.
Yes, and you should know that before the move. Every entry arrives under the account that runs the import. Version history starts fresh in Sanity. Keep your Contentful export as the record of what came before.
It is the main risk, so it gets the most attention. I inventory the URLs, page titles, metadata and redirects before the move. I test them on the preview site, then monitor search performance after launch. I cannot guarantee rankings. The scope controls the migration risk. It does not promise a search result.
You own the Sanity project, the code and the accounts. The written scope states the defect warranty. After that, changes are hourly, or your team self-serves on the repo. There is no lock-in and no subscription to me.
Send the latest Contentful invoice, the renewal date and who edits the space. I will return a written stay-or-move view. Read access comes only if you approve a written inventory.
Send the bill and renewal date