Context
Follow-up to #1354 and the homepage performance stack ending in #1369. Track the remaining Lighthouse accessibility and SEO findings separately from performance and the deferred font-rendering investigation.
Baseline
Lighthouse 12.6.1, mobile, September 19, 2026: Accessibility 80 / SEO 58. These scores are the median of three runs; all three runs reported the same failed accessibility and SEO audits.
The findings below are captured here because CI report artifacts have limited retention. The preview SEO score is not a production SEO score.
Accessibility
SEO
Verification
No Lighthouse score thresholds should be introduced as part of this follow-up. Font flashing and JavaScript-based font-loading changes are outside this issue's scope.
Context
Follow-up to #1354 and the homepage performance stack ending in #1369. Track the remaining Lighthouse accessibility and SEO findings separately from performance and the deferred font-rendering investigation.
Baseline
Lighthouse 12.6.1, mobile, September 19, 2026: Accessibility 80 / SEO 58. These scores are the median of three runs; all three runs reported the same failed accessibility and SEO audits.
8562055b8609f0ea61777a41a3d172328d632f93The findings below are captured here because CI report artifacts have limited retention. The preview SEO score is not a production SEO score.
Accessibility
color-contrast: improve the eight flagged elements. "Get started" and "Add Your Logo" use white on#e6484f(3.88:1); syntax tokens use#637cc1on#14162c(4.38:1) and#954121on#14162c(2.58:1); two installation captions use#979aadon white (2.78:1). The reported text sizes require 4.5:1. Check relevant interaction states as well.heading-order: restore a logical heading hierarchy. "Language Manual" is rendered as anh5that skips heading levels. Inspect sibling resource headings too; preserve visual styling independently of heading semantics.link-name: name the four footer icon links. GitHub, X, Bluesky, and the forum links currently have no accessible name. Verify meaningful names and keyboard access.meta-viewport: allow zoom and remove duplicate viewport declarations. Lighthouse reports two matching tags containingmaximum-scale=1. Remove the zoom restriction and check mobile zoom/reflow.target-size: fix the mobile template-card overlap. The ReScript & NextJS and ReScript & ViteJS links are reported as partially obscured, with only 8px of safe width and inadequate separation. Investigate responsive grid sizing and overlap, not just padding; verify usable targets across mobile widths and zoom levels.SEO
robots-txt: investigate the HTML response for robots.txt. The preview report records 75 parsing errors because the response contains homepage HTML beginning with<!DOCTYPE html>, not robots directives. Check static-asset handling and route fallbacks. Serve a valid plain-text robots response with the intended status, content type, rules, and sitemap location; verify preview and production separately.is-crawlable: verify production indexability while preserving preview protection. The failed preview audit identifiesx-robots-tag: noindex. This is Cloudflare Pages' default behavior for preview deployments and should remain in place. Confirm that the production homepage is not unintentionally blocked by headers, metadata, or robots rules. Document the preview-only exception when interpreting scores; do not enable indexing of previews to improve Lighthouse.Verification
noindex.No Lighthouse score thresholds should be introduced as part of this follow-up. Font flashing and JavaScript-based font-loading changes are outside this issue's scope.