Netlify SEO

Your Netlify App Is Invisible to Google

Netlify is a popular home for SPAs built with React, Vue, Svelte, and other client-side frameworks. The problem? When Googlebot visits your site, it gets a bare HTML shell with no content. Your beautiful app only comes to life after JavaScript runs in the browser -- and search engines do not always wait around for that.

The result is that your pages either get indexed with no content or do not get indexed at all. Not great for SEO.

What RndrKit Does

RndrKit intercepts bot traffic before it reaches your Netlify app. When a crawler like Googlebot visits, RndrKit renders the page in a headless browser and serves back the fully rendered HTML -- complete with text, meta tags, images, and structured data. Human visitors bypass RndrKit entirely and go straight to your Netlify app.

Setup

Step 1: Find Your Netlify App URL

Every Netlify site has a default URL:

your-site.netlify.app

Find this in your Netlify dashboard under Site settings > Domain management. This is your origin URL.

Step 2: Remove Your Custom Domain from Netlify

Do this before changing DNS. If your custom domain is still configured in Netlify, it will intercept traffic and RndrKit will not work.

  1. Go to your Netlify site dashboard.
  2. Navigate to Domain management (or Settings > Domain management).
  3. Remove your custom domain (e.g., www.example.com).
  4. If you set up Netlify DNS, remove those DNS records too.
  5. Keep the default *.netlify.app URL as your origin.

Step 3: Sign Up for RndrKit

Create your account at rndrkit.io.

Step 4: Add Your Domain

Click Add Domain in the dashboard:

FieldExampleDescription
Custom Domainwww.example.comThe domain your visitors use
Origin URLyour-site.netlify.appYour Netlify site's default URL

Step 5: Configure DNS

Create a CNAME record at your DNS provider:

TypeNameValueTTL
CNAMEwwwcname.rndrkit.ioAuto

If you previously used Netlify DNS, make sure to remove any old A or CNAME records pointing to Netlify before adding the RndrKit CNAME.

If you are using Cloudflare, set the proxy status to DNS only (gray cloud).

See DNS Configuration for provider-specific instructions.

Step 6: Verify

# Bot request -- should return fully rendered HTML
curl -s -A "Googlebot/2.1" "https://www.example.com/" | head -50

# Human request -- should return your SPA shell
curl -s "https://www.example.com/" | head -50

Platform-Specific Notes

Remove Your Domain from Netlify First

This is the most common mistake. Netlify's CDN will claim ownership of any custom domain configured in its dashboard. If you update DNS to point to RndrKit but leave the domain in Netlify, things will break.

The order matters:

  1. Remove custom domain from Netlify
  2. Remove any Netlify DNS records
  3. Add domain to RndrKit
  4. Update DNS to point to cname.rndrkit.io

Netlify Redirects and Headers

If you use a _redirects file or netlify.toml for redirects and custom headers, those will continue to work on your *.netlify.app origin. RndrKit proxies human traffic to your origin unchanged.

Netlify Forms and Functions

Netlify Forms and Netlify Functions will still work since they run on your origin. RndrKit only intercepts the initial page request for bots.

SEO Quick Wins

With RndrKit active, take advantage of the rendered HTML by adding:

  • Unique title tags for every page
  • Meta descriptions that summarize each page's content
  • Open Graph and Twitter Card tags for social sharing
  • Canonical URLs pointing to your custom domain, not netlify.app
  • JSON-LD structured data for rich search results

Verify It Works

curl -s -A "Googlebot/2.1" "https://www.example.com/" | head -100

Look for your page content, <title> tag, and meta tags in the response. If you see an empty shell, check troubleshooting.

Next Steps

  • Analytics -- Monitor bot traffic to your site
  • Cache Warming -- Pre-render key pages for instant bot responses
  • SEO Audit -- Find and fix SEO issues
  • Sitemaps -- Help search engines find all your pages