Technical SEO Engineering
JavaScript SEO
Modern frameworks ship beautiful sites that are partially invisible to crawlers. Audit and implementation alongside your engineering team to make sure React, Next.js, Nuxt, and headless setups stay indexable by Google and citable by ChatGPT, Perplexity, and Claude.
Deliverables
JavaScript SEO audit
What crawlers actually see versus what users see. Per page type, per rendering mode. Documented with the source diff that proves the gap.
Render strategy recommendations
CSR, SSR, SSG, ISR, or hybrid - the right rendering mode per page type for your traffic profile and content velocity. Documented with reasoning.
Initial HTML content fixes
Schema markup, meta tags, canonicals, hreflang, and critical content moved into the initial HTML response. Validated in production.
Client-side routing fixes
Proper HTTP status codes for SPA routes. 404s actually returning 404. Redirects working through the router. No more soft 404 surprises.
AI crawler render testing
The layer most JavaScript SEO services skip. Verifying that GPTBot, ClaudeBot, and PerplexityBot can read your content - not just Googlebot.
Documented runbook
Written guide for your team to maintain JS SEO discipline going forward. The patterns that work, the patterns to avoid, and how to test before every deploy.
Process
Discovery call
Thirty minutes. We walk through your framework, your render strategy, your current state, and your engineering setup. By the end I know what scope fits and which crawlers we need to test against.
Render audit
One to two weeks. What Googlebot sees, what AI crawlers see, what users see - documented per page type. Source diff captured between initial HTML and rendered DOM. Soft 404 detection across client-side routes.
Strategy and architecture decisions
Render mode per page type: CSR for interactive features, SSR for content pages, SSG for stable content, ISR for dynamic-but-cacheable pages. Documented with reasoning and traffic-weighted impact estimates.
Implementation alongside engineering
Working code, not just architecture docs. I write the fixes I can write (schema in initial HTML, meta tags, canonical handling) and partner with your engineers on framework-level work (SSR config, hydration patterns, router fixes).
Validation and handover
Pre-deploy testing across Googlebot, GPTBot, ClaudeBot, and PerplexityBot user agents. Confirming initial HTML contains critical content. Documented runbook for your team to maintain JS SEO discipline.
Packages
JS SEO Audit & Strategy
From £2,200
Find the render gaps and plan the fix
2 to 3 weeks
- Full render audit across Googlebot and AI crawlers
- Source diff between initial HTML and rendered DOM, per page type
- Render strategy recommendations (CSR, SSR, SSG, ISR)
- Routing and status code audit
- Documented fix plan with engineering effort estimates
Audit & Implementation
From £6,000
End-to-end JS SEO work shipped alongside engineering
5 to 10 weeks
- Everything in the audit and strategy
- Initial HTML content fixes shipped
- Schema, meta, and canonical handling in framework
- Client-side routing fixes for proper status codes
- AI crawler render validation post-deploy
- Documented runbook for your team
Ongoing Monitoring
From £600/month
Render testing that catches regressions
Monthly cadence
- Continuous render testing across Googlebot and AI crawlers
- Regression alerts when deploys break crawlability
- Monthly source-diff reports per page type
- Quarterly render strategy reviews
- Direct email access for JS SEO questions
Case Studies
Halewood Editorial
SSG strategy for an editorial archive on Next.js
Editorial site moved from WordPress to Next.js with all pages set to client-side render. AI crawlers saw blank pages; Googlebot rendered slowly. Designed and shipped a static generation strategy for the archive, leaving CSR only where genuinely interactive.
Outcome:
Cendric
Hydration fix for AI crawler visibility
B2B SaaS had a React frontend with content loaded via API after initial render. Googlebot eventually got there; ChatGPT and Perplexity did not. Restructured the hydration pattern to ship critical content in the initial HTML response. AI citations followed within weeks.
Outcome:
Aldernode
SPA routing fixes for product pages
E-commerce site on a React stack had product URLs that returned 200 OK for everything, including pages that should have been 404. Crawlers were ingesting infinite variants. Built proper status code handling, fixed the canonical strategy, restored crawl efficiency.
Outcome:
FAQs
What is the difference between CSR, SSR, SSG, and ISR?
CSR (client-side rendering): the browser builds the page after JavaScript loads. SSR (server-side rendering): the server returns a complete HTML response on every request. SSG (static site generation): pages are pre-rendered at build time. ISR (incremental static regeneration): SSG that refreshes pages on demand. Each has SEO tradeoffs. The right choice depends on your traffic, content velocity, and crawler audience.
Do AI crawlers render JavaScript?
Mostly no, or poorly. GPTBot, ClaudeBot, and PerplexityBot generally fetch the initial HTML response without executing JavaScript. Even Googlebot, which does render, processes JS-heavy pages in a slower second wave. If your critical content depends on JavaScript to appear, AI engines often miss it entirely. This is the most-skipped layer of modern JavaScript SEO.
Will you write code in our framework?
Where it helps, yes. I work directly in Next.js, Nuxt, Astro, Remix, and most modern React or Vue setups for the fixes I can ship alone (schema in initial HTML, meta tag handling, hreflang, canonical logic). For framework-level work (SSR configuration, hydration patterns, custom Webpack), I partner with your engineers rather than touch the core architecture.
We use Next.js. Is that enough for SEO?
Next.js gives you the tools but does not guarantee good SEO. The default settings render most pages client-side until you configure otherwise. Many Next.js sites I audit are accidentally CSR for content that should be SSG or SSR. The framework is capable; the configuration usually needs work.
How do you measure success?
Three layers. First, initial HTML completeness: critical content present in the initial response, validated against the rendered DOM. Second, crawler coverage: Googlebot and AI crawlers can access and parse your pages, confirmed through user-agent testing. Third, organic recovery: ranking and citation improvements over 60 to 90 days.
Do you handle hydration issues?
Yes. Hydration mismatches (where SSR content differs from CSR-replaced content) are a common cause of SEO problems in React, Vue, and other component frameworks. The fixes are framework-specific and we work through them alongside your engineers.
What about Shopify Hydrogen, Hydrogen-style React, or other e-commerce frameworks?
Yes. Shopify Hydrogen, Vue Storefront, and similar e-commerce-flavoured frameworks have their own JS SEO patterns and pitfalls. The audit accounts for the framework specifics. Most e-commerce JS SEO issues are around router behaviour, product page rendering, and faceted navigation crawl efficiency.
Do I keep the documentation and runbook?
Yes. Everything I deliver is yours: the audit, the source diffs, the render strategy doc, the deployed code, the runbook. Your team can maintain JS SEO discipline going forward using the same patterns.