React notes. Checked October 7, 2026 with react-router 8.4.0 (framework mode, ssr:false plus prerender). Replace every placeholder.
- A client-only React app sends an empty root div. Crawlers that do not run JavaScript see no text. Prerender every content URL.
- After the build, open build/client/blog/<slug>/index.html and confirm the title, canonical, JSON-LD and body text are in it.
- Rewrite only non-prerendered paths to __spa-fallback.html. Never rewrite everything to it, or prerendered pages are bypassed.
- Check it worked: scripts/check-ai-crawl.sh https://example.com/blog/post "a sentence from the post"
