Fix markdown 500s and make valuation headlines crawlable - #18
Merged
Conversation
The Vercel proxy cannot read the YAML corpus, so markdown negotiation now rewrites to a Node handler. Home and category HTML no longer start with a loading shell, and every sourced event gets a durable path. Co-authored-by: ben <0thernet@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Keep the markdown Accept rewrite so `/` returns 200 text/markdown. Drop invented `/history/<category>/<event-id>` pages. Make /history/valuation the crawlable artifact: visible H1, derived lead, yearly headline table with basis/status/sources, and ItemList JSON-LD that matches those rows. Co-authored-by: ben <0thernet@users.noreply.github.com>
Keep the independence sentence in the derived answer lead without using a matcher that rejected the Unicode apostrophe. Co-authored-by: ben <0thernet@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The live site still has a P0 markdown failure:
Accept: text/markdownon/returns HTTP 500. The prerendered HTML for/and/history/*also started with a Suspense loading shell (Loading Stripe company history…).This revision keeps that markdown fix and the SSR lists. It does not invent per-event routes. The primary organic artifact is
/history/valuation: a visible H1, a 2–4 sentence answer lead, and an HTML<table>of yearly valuation headlines with basis, status, and YAML source links. CollectionPage/ItemList JSON-LD matches those visible rows.The sourced corpus is unchanged. The site stays independent of Stripe, Inc.
Markdown 500 (P0)
The proxy was calling
markdownForPath()→loadHistory()→node:fs. On Vercel that function has no YAML corpus, so every markdown Accept request failed.The proxy now only negotiates
Acceptand rewrites to a Node route handler at/x-markdown/**. That path is noindexed, disallowed in robots, and omitted from the sitemap. The public URL stays/,/about,/history/valuation, etc.Before (production)
After (
bun run build && bun run start, localhost)Valuation headlines (preferred organic artifact)
No-JS Googlebot HTML for
/history/valuation:JSON-LD
ItemListhasnumberOfItems: 14and the same fragment URLs as the table rows (/history/valuation#valuation-2011-03-seed, …#valuation-2026-02-employee-tender).Per-event
/history/<category>/<event-id>pages from the previous revision are removed. Home and category lists stay on#fragments.sitemap.xmllists only the durable document routes.SSR home and category lists
Removed
app/loading.tsx. Googlebot on local/and/history/acquisitions:First
<main>is the real timeline, not “Loading Stripe company history…”.Verification
bun run check(typecheck, lint, 155 tests)bun run buildprerenders category, volume, valuation, and markdown handler routes (no per-event pages)/and the valuation<table>in no-JS HTML