How it works

How RenderlySEO works.

The invisible infrastructure behind better rankings.

Your site looks perfect to humans — but crawlers often see a blank page. RenderlySEO makes sure Google, Bing and every AI assistant can actually read your app. No code changes. Just one DNS record.

Works withLovable· Bolt · Replit · Base44 · React
Request routingedge.renderlyseo.com
Incoming request
GET yourdomain.com
Human
Live SPA
Nothing changes
Crawler
Rendered HTML
Served in ~200ms
01The problem you don't see

Same page. Two completely different views.

When you build with a modern framework, everything renders in the browser. That's great for users — but bots don't wait around for JavaScript.

What Googlebot sees
view-source · before render
<!doctype html>
<html>
  <head><title></title></head>
  <body>
    <div id="root">
      <!-- nothing here yet -->
    </div>
    <script src="/app.js"></script>
  </body>
</html>

No title. No content. No meta tags. The crawler indexes an empty shell — so you never rank.

What humans see
yourdomain.com

A beautiful, fully-rendered app — the version your visitors love but crawlers never reach.

02How RenderlySEO fixes it

One quiet layer in front of your site.

RenderlySEO sits at the edge, in front of your app. When a person visits, nothing changes — they get your live SPA. When a bot visits, it gets a clean, fully-rendered version of the page. No code edits. No new framework. Just visibility that works.

Visitor→ your live app

Humans pass straight through to the real, interactive SPA. Zero latency added, nothing to maintain.

Crawler→ RenderlySEO edge

Search, social and AI bots are detected by signature and routed to the render layer instead.

Result→ rendered HTML

The bot receives a complete document — title, meta, headings, content and structured data.

03Behind the scenes

What happens the moment a bot knocks.

Step 1

Detects that it's a crawler

Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot and 40+ others — identified by signature, not spoofable strings.

GPTBot/1.0 → prerender
1
Step 2

Loads your page in a headless browser

We render your JavaScript app exactly as a real visitor would see it — components, data fetching and all.

headless · render(page)
2
Step 3

Captures the complete HTML

The fully rendered DOM is serialised with its title, meta tags, headings, links and structured data intact.

serialize → <html> 24kb
3
Step 4

Sends it back instantly

The crawler receives clean, ready-to-index HTML in milliseconds — no JavaScript execution required on its end.

200 OK · text/html
4
Step 5

Caches it for next time

Smart edge caching across 300+ locations keeps every subsequent crawl under 200ms, re-validated on each deploy.

cache · 300+ PoPs · 187ms
5
04See it in action

What Google receives — with and without.

Without RenderlySEOBlank
<title></title>
<meta name="description" content="">
<h1></h1>
<div id="root"><!-- empty --></div>
Empty shell · not indexable
With RenderlySEOIndexable
<title>RenderlySEO — rank on Google & get cited by AI</title>
<meta name="description" content="SEO & prerendering for JS apps…">
<h1>Make your website rank on Google</h1>
<main>…fully rendered content…</main>
Complete document · indexed in 24–72h
05Built for non-developers

You don't touch code. It just works.

<200ms

Cached results load instantly

Rendered HTML is cached across 300+ edge locations and re-validated on every deploy.

1 record

Just point your domain once

A single CNAME at the edge. SSL, routing and caching auto-provisioned — no SDK, no rebuild.

40+ bots

Detects every crawler automatically

Google, Bing, Meta, ChatGPT, Claude and Perplexity recognised the moment they arrive.

Live in under 5 minutes

Ready to get visible?

Point one DNS record and let search engines, social platforms and AI assistants finally read your app.