Lovable SEO
Your Lovable App Is Invisible to Google
Your Lovable app looks great to humans. Problem is, Google is not human. When Googlebot visits your site, it sees a bare HTML shell -- a nearly empty page with a <div id="root"></div> and a pile of JavaScript. All that beautiful content you built with Lovable's AI? Invisible to search engines.
Lovable builds React SPAs that render entirely in the browser. That is fantastic for user experience but terrible for SEO.
What RndrKit Does
RndrKit sits in front of your Lovable app and detects when a search engine bot visits. When Googlebot, Bingbot, or any other crawler shows up, RndrKit renders the page in a headless browser and serves the fully rendered HTML -- complete with text, images, meta tags, and structured data. Human visitors skip RndrKit entirely and go straight to your Lovable app with zero changes to their experience.
The result: search engines see exactly what your users see, and your pages actually get indexed.
Setup
Step 1: Find Your Lovable App URL
Every Lovable app has a default URL that looks like:
your-project.lovable.app
You can find this in the Lovable editor under your project settings. This is your origin URL -- the address RndrKit will fetch content from.
Step 2: Sign Up for RndrKit
Create your account at rndrkit.io. Once logged in, you will be taken to the dashboard.
Step 3: Add Your Domain
Click Add Domain in the dashboard and enter:
| Field | Example | Description |
|---|---|---|
| Custom Domain | www.example.com | The domain your visitors will use |
| Origin URL | your-project.lovable.app | Your Lovable app's default URL |
Step 4: Configure DNS
Go to your DNS provider (we recommend Cloudflare) and create a CNAME record:
| Type | Name | Value | TTL |
|---|---|---|---|
| CNAME | www | cname.rndrkit.io | Auto |
If you are using Cloudflare, set the proxy status to DNS only (gray cloud) during initial setup. You can enable the orange cloud later once everything is working.
For detailed instructions, see DNS Configuration.
Step 5: Verify
Back in the RndrKit dashboard, click Verify on your domain. RndrKit will check that DNS is pointing correctly and provision an SSL certificate for your custom domain automatically.
Then test with curl:
# Bot request -- should return fully rendered HTML
curl -s -A "Googlebot/2.1" "https://www.example.com/" | head -50
# Human request -- should proxy to your Lovable app
curl -s "https://www.example.com/" | head -50
Platform-Specific Notes
Lovable robots.txt
Lovable apps come with a built-in robots.txt that allows all major crawlers:
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Allow: /
User-agent: *
Allow: /
When you connect your domain through RndrKit, RndrKit serves its own robots.txt and sitemap.xml for your custom domain. The origin's robots.txt is not exposed to crawlers visiting your custom domain.
Lovable Does Not Generate Sitemaps
Lovable apps do not include a sitemap.xml by default (the origin returns a 404). RndrKit generates a sitemap for your custom domain automatically based on the pages it has rendered.
React Helmet for Meta Tags
Lovable apps use React, so you can use react-helmet-async to set page-specific meta tags:
import { Helmet } from 'react-helmet-async';
function AboutPage() {
return (
<>
<Helmet>
<title>About Us | Your Company</title>
<meta name="description" content="Learn about our team and mission." />
<meta property="og:title" content="About Us" />
<meta property="og:description" content="Learn about our team and mission." />
</Helmet>
{/* page content */}
</>
);
}
RndrKit renders the page after React Helmet has injected the tags, so search engines will see all your meta tags.
Custom Domain vs. Lovable Subdomain
Keep your *.lovable.app URL as a development/staging address. Your custom domain through RndrKit is what you should submit to Google Search Console and use in all your marketing.
SEO Quick Wins
Once RndrKit is rendering your Lovable app for bots, make sure you have:
- Unique title tags on every page -- descriptive and under 60 characters
- Meta descriptions -- compelling summaries under 160 characters
- Open Graph tags -- so links look good when shared on social media
- Canonical URLs -- pointing to your custom domain, not
lovable.app - Structured data (JSON-LD) -- helps Google understand your business, products, or services
- Alt text on images -- Lovable makes it easy to add alt attributes
Verify It Works
curl -s -A "Googlebot/2.1" "https://www.example.com/" | head -100
You should see fully rendered HTML with your page content, <title> tag, and meta tags. If you see an empty shell or errors, check the troubleshooting guide.
Next Steps
- Analytics -- See which bots are crawling your site
- Cache Warming -- Pre-render important pages for fast bot responses
- SEO Audit -- Check your pages for common SEO issues
- Sitemaps -- Help search engines discover all your pages