Dyad SEO

Your Dyad App Is Invisible to Google

Dyad is a local-first, open-source AI app builder. You get a beautiful app running on your machine, and then you deploy it to the web. But once it is live, search engines hit it and see... nothing. Just an empty HTML shell. All that content only shows up after JavaScript runs in the browser, and Google does not always wait for that.

What RndrKit Does

RndrKit intercepts search engine traffic and renders your Dyad app in a headless browser before serving the result. Googlebot gets fully rendered HTML. Human visitors go straight to your app. Simple as that.

Status: Should Work

Dyad is a local builder that deploys to platforms like Vercel and GitHub Pages. Since we have fully tested RndrKit with Vercel CSR apps, Dyad apps deployed to Vercel should work without issues. We have not tested every possible Dyad deployment target, but the principle is the same for any client-side rendered output.

Setup

Step 1: Deploy Your Dyad App

Dyad builds apps locally and supports deployment to:

  • Vercel -- most common, produces a *.vercel.app URL
  • GitHub Pages -- produces a *.github.io URL
  • Other hosting -- wherever you push the build output

Deploy your app first and note the URL. For example:

your-project.vercel.app

This is your origin URL.

Step 2: Remove Your Custom Domain from the Host (If Set)

If you configured a custom domain on Vercel (or wherever you deployed), remove it. RndrKit needs to control DNS for your custom domain.

See the Vercel CSR guide for specific instructions on removing a domain from Vercel.

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 will use
Origin URLyour-project.vercel.appYour deployed app's URL

Step 5: Configure DNS

Create a CNAME record at your DNS provider:

TypeNameValueTTL
CNAMEwwwcname.rndrkit.ioAuto

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

For detailed instructions, see DNS Configuration.

Step 6: Verify

Click Verify in the RndrKit dashboard, then test:

# 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

Dyad Is a Builder, Not a Host

Dyad runs locally on your machine and generates code. It does not host your app. The hosting platform you deploy to (Vercel, GitHub Pages, etc.) is what matters for RndrKit setup.

If you deploy to Vercel, follow the same guidelines as the Vercel CSR guide. If you deploy elsewhere, the setup is the same -- just use the deployed URL as your origin.

Open Source and Self-Hosted

Since Dyad is open source, you might be running a customized version. As long as the output is a client-side rendered app that produces an HTML shell, RndrKit will pre-render it correctly.

SEO Quick Wins

Once RndrKit is active:

  • Title tags on every page -- unique and descriptive
  • Meta descriptions -- summarize each page for search results
  • Open Graph tags -- make shared links look good on social media
  • Canonical URLs -- point to your custom domain
  • Structured data (JSON-LD) -- help Google understand your content

If Dyad generated a React app, use react-helmet-async for per-page meta tags.

Verify It Works

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

You should see fully rendered HTML with your content. If you see an empty shell, check the troubleshooting guide.

Next Steps