Skip to content

SEO: pre-render the homepage — content is invisible to crawlers and social scrapers #478

Description

@hexsecs

Problem

src/homepage/index.html ships an empty <div id="root"> that is filled in by site-brutalist.jsx, compiled in the browser by Babel standalone, using React development builds.

Consequences:

  • Crawlers that don't execute JavaScript — and every social scraper (Slack, Discord, X, LinkedIn) — see zero body content: just the <title> and meta description.
  • Google does execute JS, but Babel-in-browser + unminified react.development.js makes load time very poor, which hurts Core Web Vitals and therefore ranking.

This is the single highest-impact SEO fix for the project.

Suggested fix

Preferred: pre-render the homepage to static HTML at build time (a one-time "render and serialize the DOM" pass in scripts/build_pages_site.sh, or rewrite the page as static HTML/CSS since the content is static anyway).

At minimum:

  • Precompile the JSX instead of shipping Babel standalone to the browser
  • Switch to react.production.min.js / react-dom.production.min.js
  • Ensure meaningful headings, copy, and links exist in the initial HTML payload

Acceptance criteria

curl https://hexsecs.github.io/canarchy/ | grep -i j1939 (or similar) finds real page content without executing JavaScript.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions