Skip to content

All projects

Making a React site readable to search engines and AI

Built and working Real system, private code

Build-time prerendering, one connected structured-data graph, English and Spanish page pairs, and image and bundle work for jungmarker.com, with before and after measurements.

Status
Live at jungmarker.com
Relevant to
Full-stack and product
Live
jungmarker.com

Results · Real system, private code

  • pages prerendered with full content in the HTMLBuilt and working
  • entry JavaScript, raw (312 to 156 KB gzipped)Built and working
  • for 30 images moved to WebPBuilt and working
  • JSON-LD blocks with 0 syntax errorsBuilt and working

The problem

jungmarker.com is a React app. Crawlers and AI assistants that don’t run JavaScript saw almost nothing, and some content was hidden in the HTML until animations ran. Heavy images and a large bundle slowed it down.

My role

I planned and built the SEO work and measured each change before and after.

How it works

  1. 1.Render

    A server build renders each route’s full React content to static HTML at build time.

  2. 2.Describe

    Each page gets its own title, description, canonical URL, hreflang and JSON-LD in one connected graph.

  3. 3.Slim

    Images move to WebP with mobile sizes; the JavaScript is split so pages load less.

  4. 4.Check

    Scripts validate the structured data and canonicals, and a test guards the graph.

  5. 5.Notify

    A sitemap is regenerated on every build and IndexNow tells search engines about changes.

What I built

  • Prerendering of 240 HTML pages, with 118 URLs in the sitemap.
  • One JSON-LD graph linking the agent, the business, the website, articles, FAQs, listings and places.
  • hreflang for English and Spanish page pairs on 42 pages, and canonical tags on 235 of the 240 pages.
  • Image re-encoding to WebP with mobile variants and width and height on every image.
  • Bundle splitting with lazy-loaded chunks.
  • Fixes for content hidden until animation: hidden H1s from 31 to 0, and repeated FAQ answers from 77 to 0.

Decisions and tradeoffs

Prerender instead of rewriting in a server framework
Rendering the existing React pages at build time put the content in the HTML without rebuilding the site.
One connected graph instead of separate snippets
Linking every block by ID tells search engines that the agent, the business and the pages are one entity, instead of many unrelated claims.

Validation

  • Schema validation runs as a script and as a test, and the canonical audit checks every page.
  • Each change has a before and after number from the same measurement.

Limitations

  • These are technical measurements. They show crawlers can read the pages; they don’t prove rankings or AI citations.

Why it matters for the job

Front-end and web platform work with measurable results: rendering, structured data, performance and internationalization on a production site.

Stack

React, Vite, Server-side rendering, JSON-LD, WebP, IndexNow