Single site
$49
- The full kit for one production site
- 12 months of updates
- Example config and React helpers
For Lovable, Bolt and Vite + React sites
A Vite + React app sends the same empty page for every URL. Google, ChatGPT, Perplexity
and link previews see a blank page with your home page's title on every route.
Vite SEO Prerender adds one step after vite build that writes a real HTML
page for every route and every language.
No server, no framework change. Static files for any host.
Same URL, same app. Open “view source” on each.
<head>
<title>My Lovable App</title>
</head>
<body>
<div id="root"></div>
<script src="/assets/index.js"></script>
</body>
No content, the same title on every page, no language versions.
<html lang="fr">
<title>Appartements à louer à Montréal</title>
<meta name="description" content="…">
<link rel="canonical" href="…/fr/appartements-…">
<link rel="alternate" hreflang="en" href="…">
<link rel="alternate" hreflang="fr" href="…">
<script type="application/ld+json">…</script>
<div id="root">
<main><h1>Appartements à louer…</h1> …
Its own title, description, canonical, hreflang, structured data and readable content. React replaces it when the app loads.
Title, description, canonical URL, Open Graph and Twitter tags, and readable content inside #root.
/apartments-for-rent ↔ /fr/appartements-a-louer, linked with hreflang and x-default. Languages are configurable.
sitemap.xml with every language alternate, and the Sitemap line added to robots.txt.
JSON-LD on each page, from your own config, so search engines and AI tools know what the page is about.
One entry in a JSON file, or a row from your CMS or API, becomes one page per language.
Pages without enough content stay reachable but get noindex and are left out of the sitemap.
Missing titles, wrong canonicals, missing hreflang links, thin content and sitemap mismatches stop the build before they reach Google.
A small helper finds the matching page in the other language, plus a ready-made switcher component.
Plain files for Netlify, Vercel, Cloudflare Pages or Apache. Build scripts need Node 20.10+.
A bilingual real-estate directory demo, built with the same stack Lovable generates (Vite, React, shadcn) and prerendered by the kit, in English and French.
Open any page, then use view source (Ctrl+U, or ⌥⌘U on a Mac) to see the HTML a search engine receives.
Put the seo/ folder and seo.config.mjs next to vite.config.ts, and add one step to your build script:
"build": "vite build && node seo/cli.mjs build"
Your site URL, your languages, and one entry per page type: its path in each language, its title and description, and the content search engines should read.
Run npm run build. Open any file in dist/ and you'll see real content. If a page is missing something, the build tells you which and stops.
One-time payment. Prices in US dollars.
$49
For agencies and freelancers
$99
$249
It works with any Vite + React project Lovable generates. Lovable's own publish may not run your build script, so after publishing, open a page with view-source and check it shows real content. If it doesn't, deploy the built dist folder to Netlify, Vercel or Cloudflare Pages; the kit includes the setting for each.
Any number. The example is English and French; you list your languages in the config (for example en, fr, es, de). The default language is served at / and the others at /fr, /es and so on, each with its own translated URLs.
No. Search engines decide what to index and rank. The kit makes sure every page gives them what they need to read it: real content, titles, canonicals, hreflang and a sitemap. Good content is still up to you.
Node 20.10 or newer for the build scripts. Your visitors' browsers are not affected: the output is plain static files.
No. You keep Vite and React. The kit runs after vite build and writes static HTML files that any static host can serve.
Refunds follow the store's refund policy, shown at checkout.