Crawler-ready HTML for SPAs.
PageFlash gives Googlebot, AI crawlers, and social preview bots complete HTML while real users stay on your React, Vue, or Svelte app.
Before PageFlash
<div id='root'>
After PageFlash
<title>Pricing</title>
Without PageFlash
SPA shellBot gets the empty app root
<div id="root"></div>
metadata waits for hydration
With PageFlash
200 HITBot gets crawler-ready HTML
<title>Pricing</title>
<meta property="og:image">
Live proof
Run a crawler check against this site.
This page is wired through PageFlash. Switch crawler user-agents, inspect the response, then copy the request when you are ready.
# Request this site as Googlebot
curl -A "Googlebot/2.1 (+http://www.google.com/bot.html)" "https://pageflash.io"Expected evidence
- Rendered title
- One H1
- Canonical URL
- Cache header
Crawler jobs
Fix the routes that already cost visibility.
PageFlash is strongest when the page already exists, crawlers matter, and a full SSR rewrite would delay the practical fix.
Search visibility
SPA risk
Googlebot can hit an app shell before route content, canonical tags, or headings are ready.
PageFlash action
Route crawler user-agents through PageFlash.
Crawler result
Bots receive rendered HTML with title, H1, body text, and canonical URL.
AI-readable docs
SPA risk
LLM crawlers and internal RAG jobs miss useful content when pages depend on scripts.
PageFlash action
Render once, then request HTML or Markdown from the same output.
Crawler result
Docs and product pages become readable without a second extraction stack.
Social previews
SPA risk
Slack, LinkedIn, Facebook, and X need OG tags before they build a card.
PageFlash action
Serve share bots the rendered page metadata.
Crawler result
Links expand with title, description, image, and canonical tags.
SEO operations
SPA risk
A render path becomes hard to trust if freshness, cache state, and failures are invisible.
PageFlash action
Warm sitemap URLs, inspect activity, audit SEO fields, and push refreshes.
Crawler result
Crawler visibility becomes an observable workflow, not a mystery cache layer.
How it fits
Add rendering at the crawler boundary, not inside your app.
PageFlash sits between bots and your SPA. It renders, caches, audits, and observes the output crawlers depend on without changing the user app.
01
Register the host
Add the SPA hostname bots should see. Domain scoping rejects arbitrary third-party renders before a browser starts.
02
Keep the key server-side
Create a scoped key for edge, server, proxy, or job code. Do not ship PageFlash credentials in browser bundles.
03
Route only crawler traffic
Middleware detects Googlebot, AI bots, and social bots. Real users keep the normal SPA route and performance profile.
04
Serve cache, then refresh
Sitemap warming creates cache HITs before visits. Push refresh updates important pages after publishes or deploys.
if (isCrawler(req.headers['user-agent'])) {
return fetch('https://pageflash.io/render?url=' + encodeURIComponent(url), {
headers: { Authorization: 'Bearer PAGEFLASH_KEY' }
})
}
return serveYourSpa(req)Proof + pricing
Trust the path you can inspect, then scale only when the workload grows.
PageFlash is a technical product, so the proof stays technical: rendered HTML, cache headers, scoped keys, and visible render activity.
Runs on pageflash.io
This marketing site uses the same crawler path you can inspect before routing your own bots.
Domain-scoped keys
Registered domains reject arbitrary third-party renders before a browser starts.
Render activity
Status, cache state, latency, and history make crawler rendering observable after launch.
Plan ladder
Match capacity to crawler work.
Start with proof, then upgrade when freshness, volume, or SEO operations become production work.
Free
Prove one crawler path
500 fresh renders/month. Crawler-ready HTML for 1 registered domain.
Starter
Launch the first site
15,000 fresh renders/month. 3 registered domains and 3 sitemaps/domain, 5,000 sitemap URLs.
Growth
Operate freshness
150,000 fresh renders/month. 10 registered domains and 10 sitemaps/domain, 50,000 sitemap URLs.
Pro
Own SEO operations
600,000 fresh renders/month. Unlimited registered domains and Unlimited sitemaps/domain, unlimited sitemap URLs.
FAQ
Questions teams ask before switching
Next step
Run your first crawler check today.
Create a free account, add your domain, and inspect rendered HTML before routing production bots.