Find the JavaScript SEO problems your normal crawler misses.
Crawlfix compares your raw HTML against the fully rendered DOM to find the JavaScript SEO problems your normal crawler misses, then gives your developer or AI coding agent exact repair instructions.
Scan any web app
We'll fetch your raw HTML, render it in real Chromium, and diff the two.
Your site looks perfect in a browser. The first HTML response tells a different story.
Many JavaScript-heavy sites send weak, empty, delayed, or unstable HTML to crawlers. Generic SEO tools rarely inspect the difference. Crawlfix focuses on what the server sends first vs. what the browser shows after JavaScript runs.
A rendering diagnostic, not a rank tracker.
Crawlfix isn't keyword research, backlink tracking, or rank tracking. It's a JavaScript rendering diagnostic with an AI-agent repair-instruction layer for teams that ship SPA-style sites.
A scanner that ends in a fix, not a PDF.
Five steps. The scanner finds the problem. The report explains it. The MCP hands evidence to your AI. Your AI ships the change. Crawlfix verifies the result.
- 01.
Crawl raw HTML
Fetch the initial HTML before JavaScript runs. Capture status, headers, title, meta, robots, canonical, links, and visible text, exactly what a basic crawler would see.
$ GET / HTTP/1.1 → status 200 · 421 words · 11 internal links - 02.
Render with Chromium
Load the page in a real headless browser, wait for hydration to settle, then capture the final DOM, metadata, links, schema, console events, and a screenshot.
$ chromium · waitFor: networkidle + 800ms post-hydrate · 2.41 s - 03.
Compare & detect
Diff raw against rendered. Detect unstable or client-only SEO signals: title swaps, schema drift, indexability flips, missing links, late content.
$ diff: title=changed · canonical=changed · links +47 · schema +CSR - 04.
Generate fix instructions
Produce prioritized issues with evidence, framework-specific fix recipes, AI-agent prompts, and explicit acceptance criteria. Your dev or your AI does the edits.
$ issues=12 · recipe: app-router/title · accept: rawTitle === rendered - 05.
Verify on preview
After your team or your AI agent ships a preview, Crawlfix rescans and reports whether each issue is fixed, partially fixed, or still failing.
$ verify://acme-saas-pr-184.vercel.app · 9/12 fixed · 2 partial · 1 failing
Every signal a crawler reads, then again after JavaScript settles.
Crawlfix runs the same page twice, once as raw HTML, once after Chromium hydrates it, and surfaces every place those two views disagree.
Raw vs rendered
- ✓Raw HTML content
- ✓Rendered DOM content
- ✓H1 / heading hierarchy in raw vs rendered
- ✓Internal link visibility, raw vs rendered count
- ✓JSON-LD / schema in raw vs rendered
- ✓Visible text length and reading order
Hydration stability
- ✓Title changes after hydration
- ✓Meta description drift
- ✓Canonical drift
- ✓Robots / noindex flips
- ✓Indexability change after render
- ✓Client-only navigation patterns
Render & performance
- ✓Empty app shell detection
- ✓Delayed main content
- ✓JavaScript bundle pressure
- ✓LCP candidate estimate (lab)
- ✓Console / render errors
- ✓Failed network requests
AI / LLM hygiene
- ✓AI / LLM visibility hygiene
- ✓llms.txt visibility check (rolling out)
- ✓Framework detection (Next.js, Nuxt, …)
- ✓Routing pattern detection (App / Pages / SPA)
- ✓Server-render coverage estimate
- ✓Stable metadata fingerprint
Surface security
- ✓Security header audit (CSP, HSTS, X-Frame-Options)
- ✓Secret / API key pattern scan in HTML & JS
- ✓Sensitive file exposure probing (.env, .git, backups)
- ✓Mixed content detection on HTTPS pages
- ✓Source map public exposure check
- ✓Server version & X-Powered-By fingerprint leak
Frameworks supported
- ✓Next.js
- ✓React SPA
- ✓Vue
- ✓Nuxt
- ✓SvelteKit
- ✓Angular
- ✓Remix
- ✓Astro Islands
- ✓Custom JS apps
A diagnosis preview, then a full technical report and fix plan.
The free scan tells you whether you have a rendering SEO problem. The full scan gives your developer or your AI coding agent everything they need to fix it.
For a quick read on whether your site has a JavaScript rendering SEO problem. No card required.
- ✓Overall SPA SEO risk score
- ✓Rendered screenshot
- ✓Raw vs rendered summary
- ✓Top 3 detected issues
- ✓Basic metadata check
- ✓Basic indexability check
- ✓Basic heading check
- ✓Internal link count comparison
- ✓Short verdict
Everything your developer or AI coding agent needs to fix the rendering SEO problem and verify the result on a preview deploy.
- ✓All detected issues
- ✓Exact raw / rendered evidence per issue
- ✓Complete metadata diff
- ✓Full internal link visibility report
- ✓Full schema visibility report
- ✓JavaScript rendering risk analysis
- ✓Developer-ready fix instructions
- ✓Framework-specific repair recipes
- ✓Acceptance criteria per issue
- ✓AI-agent repair prompt
- ✓Report history & JSON export
- ✓API access (eligible plans)
- ✓MCP access (eligible plans)
- ✓Verification scans
What a real Crawlfix report looks like.
Pulled from a public scan of a Next.js pricing page. Names anonymized.
High JavaScript SEO risk
72/100- 01Main content appears mostly after JavaScript rendering
- 02The page title changes after hydration
- 03Several internal links are missing from the raw HTML
- 04JSON-LD schema appears only after client rendering
- 05Canonical tag changed after hydration
Title changes after hydration
SEO-critical metadata should be stable in the initial server-rendered HTML. Crawlers, link parsers, social previews, and many AI agents process the first HTML response before JavaScript finishes. They will record "Loading…" instead of your title.
// app/pricing/page.tsx export const metadata = { title: "Pricing, Acme SaaS", description: "Simple, predictable pricing.", }; // Avoid setting document.title from a "use client" component. // Move route metadata to the server-rendered page or layout file.
- ✓Raw HTML contains the final title
- ✓Rendered title matches raw title
- ✓No client-side title mutation occurs after hydration
Let your AI coding agent read the audit.
Crawlfix MCP connects your account to Claude Code, Cursor, ChatGPT, Windsurf, and custom agents. Your AI edits the code. Crawlfix provides the truth.
- crawlfix.get_latest_scanPull the most recent scan for the active site.
- crawlfix.list_scansEnumerate scans with filters and pagination.
- crawlfix.get_scan_summaryRisk score, framework, top categories.
- crawlfix.get_issuesAll issues for a scan, sorted by priority.
- crawlfix.get_issue_evidenceRaw vs rendered evidence for one issue.
- crawlfix.get_fix_recipeFramework-specific repair instructions.
- crawlfix.get_agent_promptA ready-to-paste prompt for the AI agent.
- crawlfix.verify_fix_against_previewRescan a preview URL and report status.
- 01User scans their site in Crawlfix.
- 02Crawlfix finds rendering SEO issues.
- 03User opens Cursor, Claude Code, ChatGPT, Windsurf, or another agent.
- 04User asks their AI to use Crawlfix MCP.
- 05AI reads scan evidence and fix recipe.
- 06AI edits the code locally.
- 07User deploys a preview.
- 08AI asks Crawlfix to verify the preview.
- 09Crawlfix rescans and confirms the fix.
Same scan engine. Programmatic access.
Run scans from CI, schedule them on a cron, or wire them into your own AI agent. The API surface is intentionally small.
A scanner that closes the loop.
Crawlfix doesn't just report problems. After your developer or AI coding agent ships a preview, Crawlfix rescans and reports exactly what's fixed.
Title changed after hydration
Passed
FIXED- ✓Raw HTML now contains the final title
- ✓Rendered title matches raw title
- ✓No client-side title mutation after hydration
Free for diagnosis. Paid for the fix plan.
The free preview is enough to know whether your site has a JavaScript rendering problem. Paid plans unlock evidence, fix recipes, MCP, and verification.
1 free scan to see whether you have a problem.
- ✓1 free scan preview
- ✓Top 3 issues
- ✓Rendered screenshot
- ✓Raw vs rendered summary
- ✓Risk score + verdict
Full reports for one site you actively work on.
- ✓10 full scans / month
- ✓1 domain
- ✓Full reports & evidence
- ✓Scan history
- ✓JSON export
Verification, MCP, and scheduled scans across a small fleet.
- ✓50 full scans / month
- ✓5 domains
- ✓Read-only API
- ✓MCP access
- ✓Weekly scheduled scans
- ✓Verification scans
- ✓Priority queue
Multi-domain reporting, monitoring, and team access.
- ✓250 scans / month
- ✓50 domains
- ✓Team access
- ✓Client reports
- ✓API + MCP
- ✓Scheduled monitoring
- ✓Priority queue
What Crawlfix is not.
A short list, on purpose. We'd rather you trust the things we do say.
Direct answers, no marketing detours.
See what crawlers may be missing.
Run a free scan and find out whether your JavaScript app is hiding SEO-critical content from crawlers and AI agents.