AI Search migration: switch without downtime
An executable path for moving an existing project to AI Search, with a rollback plan.
Quick answer
What are the hard requirements for FAQPage structured data?
Every Question needs an acceptedAnswer, and the Q&A must be truthful and verifiable. Fabricated answers get downranked by ChatGPT Search and Perplexity.
Machine-readable page data: /data/ai-search-migration.json
In-depth analysis
AI search engines prefer structured Q&A (FAQPage) and a clear content hierarchy; plain prose rarely gets cited as the answer. Migration runs in parallel with validation and gradual cutover — keep a switch that rolls back in seconds so business never breaks.
// FAQPage node: feeds Perplexity / ChatGPT Search with answer pairs
{ "@type":"FAQPage", "mainEntity": [
{ "@type":"Question", "name":"...",
"acceptedAnswer": { "@type":"Answer", "text":"..." } }
] }AI Search Migration · Key takeaways
- Full branch build passes
- All 8 Preview drills green
- Production and Preview KV isolated
- Rollback switch ready
FAQ & pitfalls
How does AI search result cache update?
Update FAQPage and ItemList and rebuild static pages — engines pick up the new answers on their next crawl. No manual refresh needed.
Explore the hub
See all 5 guides in Edge ArchitectureSame category as this article, sorted across the codebase.
Astro migration: switch without downtime
An executable path for moving an existing project to Astro, with a rollback plan.
Cloudflare Pages migration: switch without downtime
An executable path for moving an existing project to Cloudflare Pages, with a rollback plan.
Cloudflare Pages deployment guide
A hands-on, zero-ops edge deployment using Git-driven Cloudflare Pages.
GEO migration: switch without downtime
An executable path for moving an existing project to GEO, with a rollback plan.
Share & save
What readers are asking
Questions that keep coming back in reader feedback, already answered.
- 01
What are the hard requirements for FAQPage structured data?
Every Question needs an acceptedAnswer, and the Q&A must be real and verifiable — fabricated answers get downweighted by ChatGPT Search / Perplexity.
See the full guide → - 02
Why is my Astro component's interactivity not working?
Components ship as zero-JS HTML by default, so an interactive one needs a client:* directive (client:load, client:visible, …). Without it the script is never bundled into the page.
See the full guide → - 03
Why is my custom Tailwind v4 brand colour not applied?
Colours must be declared in @theme (for example --color-brand). A missing @tailwindcss/vite plugin, or a leftover v3 config, makes bg-brand silently render nothing.
See the full guide →