Tevpro insights

How We Migrated Our Website From WordPress to Sanity With an AI-First Workflow

How Tevpro migrated its website from WordPress to Sanity and Next.js with an AI-assisted workflow built around Hermes, Codex, Slack, Plane, reusable React components, and iterative content migration.

SanityNext.jsHermes
Website redesign computer lap top screen word press logo

We didn’t move Tevpro.com off WordPress just to modernize our tech stack. We wanted a website built for the way we work now—with marketing, developers, and AI agents working together to continuously improve it.

We rebuilt the site using Sanity and Next.js, with roughly 95% of the migration execution assisted by AI through Hermes, Codex, and Slack. AI helped plan the migration, analyze the existing site, transform content, build components, troubleshoot issues, and validate the work.

People still made the important decisions. We defined the architecture, set the standards, reviewed the output, and determined what shipped.

The result is more than a new website. It is a structured system that lets us make changes faster, reuse what works, and give AI clear guardrails for helping us build what comes next.

Why we moved on from WordPress

WordPress served us well, but as the Tevpro site grew, so did the inconsistencies. Similar layouts were built differently, styling drifted, and content, presentation, plugins, and theme code became increasingly intertwined.

That made sitewide improvements harder than they needed to be.

It also limited how effectively we could use AI. AI can draft content in almost any CMS. We wanted it to do more: help build, migrate, test, and improve pages within a structured system without creating new one-off solutions every time.

Sanity gave us structured content. Next.js gave us a modern application layer. Reusable React components gave us consistent building blocks.

Together, they created clearer boundaries for marketing, engineering, and AI.

We planned the migration before rebuilding pages

We started by using Hermes and Codex to turn a broad goal, move the site off WordPress, into a migration plan with phases, dependencies, priorities, and validation steps. We used Plane to scope and track the work, so the project had a visible source of truth instead of a heroic homepage followed by a long trail of unfinished pages.

  • Inventory existing pages, URLs, and metadata
  • Identify page types and reusable templates
  • Define Sanity schemas and React page-builder components
  • Migrate content and media while preserving SEO requirements
  • Test imports, rendered pages, releases, and launch readiness

AI accelerated the breakdown. Plane kept the work sequenced and accountable.

Screenshots exposed the real design system

Before rebuilding, we captured screenshots of every existing WordPress page. The screenshots were more than visual reference. They showed which patterns were truly repeated across the site and which were exceptions.

Once we compared the pages together, the common pieces were clear: hero sections, split text-and-image layouts, service cards, CTA bands, testimonials, case study modules, blog and resource layouts, footers, and recurring typography and spacing patterns.

Those patterns became reusable React components. Instead of recreating dozens of WordPress pages one by one, we built a page-builder system that could assemble most of them from shared blocks. We preserved most of the visual language people already recognized, then used the migration to tighten the parts that had drifted. We also used v0.dev selectively to explore a few design improvements before adapting them to our component system.

We wrote the rules down, then taught the agent the rules

A component library helps with consistency. A design guide keeps it from drifting again. As we built, we documented typography, color, spacing, buttons, card patterns, section layouts, responsive behavior, accessibility expectations, and content conventions.

We turned repeatable standards and hard-won lessons into AI skills and workflows. That mattered. An agent becomes much more useful when it has specific guidance for naming fields, selecting components, validating a change, and preserving the brand. Without that context, AI can produce a lot of output. With it, the output is more likely to belong in the product.

The content migration worked because we did not try to do it all at once

We exported WordPress content and used AI to transform it into Sanity NDJSON import files for pages, posts, case studies, and related content. The process was iterative by design.

  1. Transform a small batch, usually five pages.
  2. Import the batch into Sanity.
  3. Review the structured data and the rendered pages.
  4. Find mapping issues in fields, images, references, rich text, or component composition.
  5. Fix the migration logic and run the next batch.

Small batches exposed the problems that do not appear in a schema diagram: inconsistent legacy formatting, missing metadata, image and alt-text issues, broken rich text, and pages that needed a different component composition than expected. Repeating that loop gave us confidence in the import process before we migrated the full set.

The new operating model

The finished stack separates the jobs cleanly. Sanity manages structured content. Next.js renders the frontend. Reusable React components provide the building blocks. GitHub Actions automates releases, and Cloudflare runs the deployed site and edge infrastructure.

The migration improved how we test the site

Sanity and Next.js did not make testing automatic. They gave us clearer boundaries for it. In WordPress, behavior often lived across theme code, plugins, and page-builder configuration. In the new stack, reusable React components, route logic, and Sanity document transformations can be tested as distinct units.

That also gives us better end-to-end coverage. We can exercise the path from structured Sanity content to a rendered Next.js route, then verify navigation, metadata, redirects, forms, responsive behavior, and the page-builder components people actually use. For a migration, a content import is not done until it renders correctly.

Two related parts of the platform make that separation concrete. Our work on on-demand revalidation with Sanity webhooks, Cloudflare D1, and R2 keeps published content fresh without requiring a full deployment. Our CMS-managed redirects architecture keeps URL changes controlled and testable at the edge. Both are extensions of the same operating model: structured content, explicit application behavior, and checks that cover the route a visitor actually receives.

That changes what AI can responsibly do for marketing. It can help draft and improve content, plan migration work, analyze page structures, transform legacy content into structured documents, build and refine components, check work against standards, review pull requests, and communicate progress in Slack. The team is still accountable for direction, brand, tradeoffs, and approval.

What we learned

Plan before you build. Dependencies are much cheaper to solve before development begins.

Build reusable patterns, not replacement pages. A migration is an opportunity to eliminate years of one-off decisions instead of carrying them into a new platform.

Migrate in small batches. Finding a problem after five pages is much better than finding it after 100.

Turn standards into AI skills. The more context agents have about how your organization works, the more useful their output becomes.

Keep people responsible for judgment. AI can dramatically accelerate execution, but architecture, priorities, taste, and approval still require human ownership.

Modernization should make the next change easier

Moving from WordPress to Sanity and Next.js gave us more than a modern website. It gave us a better way to operate it.

Marketing can move faster. Developers can improve reusable components instead of fixing pages one at a time. AI agents can work within defined architecture, standards, and guardrails to accelerate the work without sacrificing control.

That is how we think about modernization at Tevpro. The goal is not simply to replace old technology. It is to remove the constraints that make systems difficult to change, integrate, and improve.

If your legacy application, website, or internal platform is slowing down the business, Tevpro can help you determine what should be modernized, what should stay, and where AI can accelerate the work.

Modernize without starting over. Talk to Tevpro about your legacy system.

Sources

Why work with us

Why Tevpro?

Whether you’re a startup with a bold product idea or an established company seeking a stronger delivery partner, Tevpro delivers results. Our expert consultants specialize in building secure, scalable applications that simplify operations and drive real ROI.

FAQ

WordPress to Sanity migration FAQs

A few questions we expect from teams planning a similar move.

We needed structured content, reusable page components, and a clearer separation between content and presentation. That makes site-wide improvements easier and gives AI agents safer, more consistent ways to help marketing and engineering.