The honest read on migration anxiety is that it's earned. Most agency-led replatforms in the AV market are run as design-first projects and the SEO discipline arrives at the end as a redirect spreadsheet that nobody opens. The result is the studio loses traffic for six months and the founder swears off replatforming for the rest of their career. The playbook below is the opposite: SEO and schema discipline come first, the design and copy ship on top, and the cutover is the smallest step in the project rather than the largest.
Week 0: the audit
Before we quote, the free audit ships a 12-page report on the existing site. URL inventory, schema coverage, internal link map, top-performing pages by traffic, project portfolio inventory, brand-mention map. The audit becomes the migration spec, which is the document we run against for the next 6 weeks.
Weeks 1 to 2: content and schema architecture
We map every existing URL to a new URL. Every. One. The 6 pages on the legacy WordPress install are not 6 pages in the new build, they're typically 26 to 40, and the per-room, per-brand, and per-city pages get drafted from the existing copy plus the project notes from the studio. Schema gets designed at this stage too: Organization, LocalBusiness, FAQPage, VideoObject, Person, and (for Zebra) Article and NewsArticle on the blog and press archive. The point of doing schema in week 2 is so that the writing in weeks 3 and 4 is written to fit the schema, rather than schema being retrofitted to writing that wasn't built for it.
Weeks 3 to 4: build and content
The build runs on React 18, TypeScript, Vite, Tailwind, shadcn/ui, GSAP for animation, Sharp for build-time image optimization, and Satori for the Open Graph generation across the 190-plus URLs. The portfolio gets ported with proper image alt text, room dimensions folded into schema, and a five-photo gallery on every project page. Blog content gets ported with original publish dates preserved, redirects from the old slugs in place, and Article schema applied. Press and Spotlight content gets ported with NewsArticle and VideoObject. The per-city programmatic pages get generated from a single TypeScript data file, one entry per service area, with each city getting its own hero, FAQ, and schema.
Week 5: redirect map and pre-launch checklist
The 301 redirect map is the part that does the heavy lifting on rankings preservation. Every legacy URL maps to a target URL, the redirects ship at the DNS or hosting layer (not via a plugin), and the pre-launch checklist runs through: sitemap submission, robots.txt validation, AI-bot allowlist verification, llms.txt presence, Cite-met baseline measurement, Lighthouse mobile score audit (target 95-plus), schema validation through Google's Rich Results Test and Schema.org's validator. Most agency migrations skip half this list. We don't.
Week 6: cutover and monitoring
Cutover is typically a Tuesday morning, when traffic is lowest and we can babysit the DNS propagation in real time. The legacy site stays up for 24 hours as a fallback, the new site goes live behind the redirect layer, and the first 14 days post-launch we monitor: redirect health (every legacy URL hitting a 200 on the new site), traffic patterns (Google Search Console for the SEO side, Cite-met for the AEO side), and Lighthouse scores. Rankings typically dip 5 to 15 percent in the first 14 to 21 days and recover (often above the pre-migration baseline) by week 8 to 10.
What about the project portfolio specifically?
The portfolio is the part most installers worry about most, which is correct. Each project gets ported with its photos (recompressed through Sharp for mobile speed, alt text added or rewritten where missing), room dimensions and brand-partner notes folded into schema, a five-photo gallery, a calibration philosophy paragraph if the original notes support it, and a video walkthrough with VideoObject schema if any footage exists. The legacy URLs 301 to the new project URLs, the photos retain their visual fidelity, and the project becomes more findable in AI search rather than less. Our broader read on the migration discipline lives at this musing, and the WordPress-bloat piece is at /musings/wordpress-bloat-vs-ai-native-architecture.
The rankings question, answered honestly
Yes, you might lose 5 to 15 percent of rankings for 2 to 3 weeks after cutover. That's normal for any replatform, and the playbook above is designed to minimize it. The rankings recovery by week 8 to 10 typically exceeds the pre-migration baseline because the schema and the surface-area lift compound. Zebra's traffic curve after the rebuild crossed the pre-migration baseline at week 6 and was up roughly 4x by week 16. The Zebra case walks through the numbers in detail.
The migration audit
If you're migrating from WordPress, Squarespace, or a Wix-class platform, the audit will tell you what the redirect map should look like and what the rankings risk actually is on your specific site. The conversation is more useful when it's grounded in your current URLs rather than in the general theory.