geo-tracking
Measure AI visibility without paid tools or API keys. Input: your site (GA4 and server logs) and a buyer prompt panel. Output: GA4 AI-traffic reporting (custom…
Turn a JavaScript-only site built by an AI website generator into indexable HTML. Input: a site made with Lovable, Base44, Bolt, v0, Replit, Firebase Studio, Framer, Wix, Durable, Softr, Bubble, Glide or any similar tool. Output: proof of what crawlers actually receive (bundled
$ npx -y skills add Thibaultbm/claude-seo-geo --skill seo-ai-site-builders --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/seo-ai-site-buildersContext preview
The summary Claude sees to decide when to auto-load this skill.
Turn a JavaScript-only site built by an AI website generator into indexable HTML. Input: a site made with Lovable, Base44, Bolt, v0, Replit, Firebase Studio, Framer, Wix, Durable, Softr, Bubble, Glide or any similar tool. Output: proof of what crawlers actually receive (bundled
name: seo-ai-site-builders description: "Turn a JavaScript-only site built by an AI website generator into indexable HTML. Input: a site made with Lovable, Base44, Bolt, v0, Replit, Firebase Studio, Framer, Wix, Durable, Softr, Bubble, Glide or any similar tool. Output: proof of what crawlers actually receive (bundled zero-dependency script), the right conversion route (native SSR, build-time prerendering or SSG, framework migration, or crawler-only prerendering as a last resort), the HTML each page must serve, and the routing, status code and hosting config that goes with it. Use when a vibe-coded or AI-generated site is not indexed, shows an empty page in view-source, has meta tags that only appear after JavaScript runs, is invisible to ChatGPT and Perplexity, or when picking a builder before starting." license: MIT metadata: author: "Sorank (https://sorank.com)" version: "1.0.0"
AI website generators produce a working site in minutes and, by default, most of them produce a client-rendered single page app: the server returns an almost empty HTML document plus a JavaScript bundle, and the browser builds the page afterwards. That is fine for a logged-in app and disqualifying for anything meant to be found.
The fix is never an SEO plugin or a meta tag component. It is changing what the server returns. This skill establishes what crawlers currently receive, picks the cheapest route to real HTML, and specifies the HTML those pages must serve.
One warning that shapes the whole workflow: the platforms move fast and their status changes. Lovable shipped server-side rendering for new apps in May 2026, Base44 started serving prerendered snapshots to crawlers in mid-2026. Never answer from a platform's reputation or from a blog post; fetch the URL and read the response. Step 1 exists for that reason.
If the working environment contains an Obsidian vault or any local knowledge base (a folder of .md notes, often with a .obsidian directory), read the relevant notes before acting: brand and product facts, the stack already in use, past migration decisions, and the SEO action log of what was already tried. Ground every recommendation in that context instead of asking the user for facts the vault already holds. At the end of the session, append the actions taken to the vault's SEO action log so the next session starts informed. Vault structure, read-first and write-back protocols: the obsidian-brain skill.
Use it for:
Hand off neighboring problems:
Googlebot renders JavaScript, on a deferred second pass. No AI crawler does. The Vercel and MERJ analysis of 500M+ crawler fetches found GPTBot, ClaudeBot and PerplexityBot download JavaScript files and execute none of them (https://vercel.com/blog/the-rise-of-the-ai-crawler).
So a client-rendered page is not "slightly weaker in search". It is:
| Surface | What it sees | |---|---| | Googlebot, AI Overviews, AI Mode, Gemini grounding | The rendered page, after a render queue delay | | ChatGPT (search and training) | The empty shell, permanently | | Claude, Perplexity | The empty shell, permanently | | Bing and Copilot | Deferred and inconsistent rendering, treat as the empty shell | | Social and chat link previews | The shell, so previews break |
A site can therefore rank acceptably on Google and be structurally absent from every AI answer. That gap is the reason this work is worth doing in 2026 and was not in 2019.
Three questions, in this order. The second one matters more than users expect.
1. Which generator produced the site. Fingerprints are in the bundled script and in references/builder-matrix.md. 2. Where it is served from: the platform subdomain (project.lovable.app, project.base44.app), the platform with a custom domain attached, or an exported repository hosted elsewhere (Vercel, Netlify, Cloudflare Pages, a VPS, a bucket). 3. Whether the code is exportable and exported (GitHub connection, ZIP download), and who can deploy it.
Why question 2 decides the plan: platform-side rendering is a property of the host, not of the code. A Lovable or Base44 project that gets server-rendered HTML while hosted on the platform becomes a bare client-side app again the moment the same repository is exported and dropped on a static host. Teams that "took control of their stack" by moving to a static bucket routinely lose indexing this way and blame the migration for something the hosting change caused.
Never trust a dashboard, an SEO tab, or a "we support SEO" claim. Fetch the URL.
python3 scripts/render_check.py https://example.com/ https://example.com/pricing --soft404
The script fetches raw HTML with no JavaS
SEO & GEO skills for Claude Code, built with Claude Mythos 5. Rank in Google AND in LLMs like ChatGPT, Perplexity, and Gemini.
Repo: Thibaultbm/claude-seo-geo
Measure AI visibility without paid tools or API keys. Input: your site (GA4 and server logs) and a buyer prompt panel. Output: GA4 AI-traffic reporting (custom…
Get cited and recommended by AI engines (ChatGPT, AI Overviews and AI Mode, Perplexity, Claude, Gemini). Input: a page or piece of content. Output:…
Build a local Obsidian vault that acts as the company and founder second brain, the knowledge layer every other skill reads before acting and writes back to.…
Plan and run off-page SEO to earn links and brand mentions, including for AI visibility. Input: a site, niche, and competitors. Output: a link strategy and…
Write blog articles that rank on Google and get cited by AI engines (ChatGPT, Perplexity, AI Overviews). Input: a keyword, topic, or existing draft. Output: a…
Optimize e-commerce collection, category, and product listing pages (PLPs) for Google and AI assistants. Input: a collection or category page (Shopify,…