Hiro development journal

Moving the Hiro journal to a dedicated subdomain

Published and production-validated Machine-readable JSON

Executive summary

The Hiro development journal has been reworked to use https://hiro.bballstatistics.com as its canonical public origin, with the journal index at the subdomain root.

All generated journal pages, JSON indexes, aliases, feed entries, discovery files, sitemap URLs, validation checks, and IndexNow submission settings now target the dedicated subdomain.

The NBA statistics homepage no longer links to the Hiro journal, and its own sitemap and robots metadata no longer advertise journal content.

The new hostname is active through a DNS-only Cloudflare CNAME and Vercel TLS; production validation exposed two physical-file routing collisions, and targeted precedence rules were added for the journal root and sitemap.

Work completed

Journal URL migration

Deployed and production-validated
  • Changed canonical HTML metadata and all current internal journal links from the NBA site's /hiro path to root-relative paths on the Hiro subdomain.
  • Changed machine-readable index URLs, Atom identifiers and links, sitemap URLs, llms.txt endpoints, retrieval diagnostics, and IndexNow host settings to hiro.bballstatistics.com.
  • Kept historical journal source statements intact because they document facts and URLs that were true when those entries were published.

Host routing and legacy redirects

Completed in source
  • Added a host-conditioned Vercel rewrite that serves the existing generated journal directory at the root of hiro.bballstatistics.com.
  • Added permanent redirects from the old apex and www /hiro paths to equivalent paths on the new subdomain.
  • Added cleanup redirects so an accidental /hiro path on the new subdomain resolves to the canonical root-relative URL.
  • After production showed that Vercel's physical NBA index and sitemap files took precedence over the catch-all rewrite, added two narrowly scoped host routes that override those exact collisions without changing NBA-host behavior.

NBA site separation

Completed in source
  • Removed the Hiro development updates link from the NBA site's opening page.
  • Removed the old root-level Hiro HTML and llms.txt aliases from the NBA deployment surface.
  • Replaced the NBA site's journal-only sitemap with a homepage sitemap and moved journal-specific robots, sitemap, llms.txt, and IndexNow verification files under the journal output used by the subdomain rewrite.

Live domain and retrieval diagnosis

Activated and tested
  • Confirmed that bballstatistics.com and www.bballstatistics.com are still proxied through Cloudflare and currently serve the Vercel deployment successfully to ordinary HTTP clients.
  • Confirmed that the AI web retrieval layer still rejects the Cloudflare-proxied bballstatistics.com URLs before returning page content, reproducing the unresolved retrieval problem.
  • Confirmed that hiro.bballstatistics.com resolves through the project-specific Vercel CNAME with Cloudflare proxying disabled, has a working TLS certificate, and serves the generated journal endpoints.
  • The first production retrieval workflow made 66 requests successfully except for the journal sitemap content checks; it proved that user-agent and query-string retrieval works on the DNS-only subdomain.

Decisions and reasoning

Validation and evidence

CheckStatusResult
Hiro timestamped-entry tests passed The journal source identity and same-day preservation tests passed with this entry included.
Generated journal validation passed The generator produced 56 journal pages and passed timestamp schema, unique identity, subdomain routing, filesystem-override, legacy redirect, homepage separation, aliases, sitemap, Atom, noindex, and IndexNow checks.
Frontend production build passed TypeScript compilation and the Vite production build completed successfully with this entry and all migration changes included.
Live hiro.bballstatistics.com retrieval passed DNS and TLS are active. After correcting the root and sitemap routing collisions, the production validator completed 67 requests with zero failures across browser, command-line, generic-bot, and ChatGPT-style user agents. It verified the journal homepage identity, content types, sitemap dates, discovery files, feed, dated entries, latest aliases, JSON schemas, and query-string retrieval.

Current state

Next steps