Skip to content

prod release: batch 1 GEO (infobox, publisher.json, citation meta, immutable snapshots, 7 answers) - #1090

Merged
Flotapponnier merged 3 commits into
mainfrom
dev
Jul 10, 2026
Merged

prod release: batch 1 GEO (infobox, publisher.json, citation meta, immutable snapshots, 7 answers)#1090
Flotapponnier merged 3 commits into
mainfrom
dev

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Promotes batch 1 GEO work from dev to prod. All the batch has already lived on staging since PR #1088 merged to dev; this PR is the promotion to openchainbench.com.

What ships to prod

Visible

  • Wikipedia-style infobox on every /benchmarks/[slug] page (key/value table above the TL;DR)
  • <time datetime> wrapping the LiveIndicator age and TL;DR date so ISO instants are extractable by Perplexity + Bing freshness rankers
  • 7 new /answers/ pages: alchemy-vs-quicknode-vs-infura-latency, helius-vs-triton-vs-quicknode-solana, drpc-vs-publicnode-vs-1rpc, cheapest-bridge-usdc-to-base, best-rpc-for-indexer, polymarket-vs-kalshi-resolution-speed, who-is-winning-hyperliquid-ecosystem

Invisible plumbing

  • /.well-known/publisher.json prerequisite for Perplexity Publishers Program
  • /methodology#corrections anchor id
  • Highwire Press citation_* meta tags on every bench page (Google Scholar, Bing, Copilot)
  • /api/citable/{YYYY-MM-DD} immutable snapshot route so LLM citations can pin to a specific day
  • groundingTraceParts() helper in citation.ts

Staging pipeline preserved

The REMOVED_BENCH_SLUGS set in src/lib/removed-benches.ts is unchanged. The staging-only benches (indexing-freshness, monad-rpc, megaeth-rpc, rpc-keyed-latency, explorer-chain-coverage, portfolio-chain-coverage) continue to return 410 on prod after this merge and remain visible on staging as before. The 3 retired-for-good slugs (bridge-revenue, evm-quote-latency, solana-tx-landing-latency) also stay 410 on prod.

After merge

  • Vercel prod deploy is manual: vercel --prod from a checkout of main
  • Verify /.well-known/publisher.json returns 200 on openchainbench.com
  • Verify /methodology#corrections scrolls to the corrections section
  • Verify the infobox renders on openchainbench.com/benchmarks/aggregator-head-lag
  • Verify a staging-held-back slug still returns 410 on prod (e.g. openchainbench.com/benchmarks/rpc-keyed-latency)
  • Then apply to Perplexity Publishers Program at publishers@perplexity.ai

Verified on dev / staging

  • pnpm typecheck: clean
  • eslint modified files: 0 errors
  • bun test src/lib: 64 pass 0 fail
  • Infobox renders on 5/5 spot-checked staging bench pages
  • Sitemap contains 25 answer URLs including the 7 new ones
  • publisher.json returns 200 on staging

Flotapponnier and others added 3 commits July 10, 2026 18:07
…ots, 7 answers (#1088)

Ships the highest-impact items from the July 2026 GEO deep-audit:

* Bench Infobox (visible + LLM). New Wikipedia-style key/value table
  above the TL;DR on every /benchmarks/[slug] page. Floats right on
  desktop, stacks above on mobile. itemscope/itemtype microdata layers a
  Dataset graph over the DOM so crawlers extracting via microdata pick
  up the same facts the JSON-LD block ships.
* publisher.json at /.well-known/publisher.json declaring OpenChainBench
  as a data publisher with correction policy, methodology URL, license,
  DOI and Wikidata QID. Prerequisite for the Perplexity Publishers
  Program application. Points at /methodology#corrections which now has
  the corresponding id anchor.
* Highwire Press citation_* meta tags in generateMetadata for every bench
  page. citation_title, citation_author, citation_publisher, citation_doi,
  citation_pdf_url, citation_public_url, citation_language,
  citation_journal_title, citation_publication_date. Used by Google
  Scholar, Bing, Copilot and academic LLM tools as an authoritative
  citation record.
* Immutable snapshot route /api/citable/{YYYY-MM-DD}. Same shape as the
  live /api/citable so LLM citations can pin to a specific day and stay
  reproducible. Longer edge cache since past-date snapshots do not
  change. 400 on malformed dates so caching layers do not poison-cache.
* <time datetime> wrapping on LiveIndicator and TL;DR grounding trace so
  Perplexity and Bing freshness rankers see an ISO instant on every
  timestamp.
* groundingTraceParts() helper in citation.ts returning structured pieces
  (isoDate, claim, url) so the visible <p> can wrap the ISO date in <time>
  without recomputing the sentence. groundingTraceLine still returns the
  same flat string for JSON-LD description and llm-context.
* 7 new /answers/ YAML pages targeting long-tail LLM queries where
  competitors currently outrank OpenChainBench:
    - alchemy-vs-quicknode-vs-infura-latency
    - helius-vs-triton-vs-quicknode-solana
    - drpc-vs-publicnode-vs-1rpc
    - cheapest-bridge-usdc-to-base
    - best-rpc-for-indexer
    - polymarket-vs-kalshi-resolution-speed
    - who-is-winning-hyperliquid-ecosystem

Verified:
  pnpm typecheck: clean
  eslint modified files: 0 errors
  bun test src/lib: 64 pass 0 fail
  no changes to /api/citable, /api/llm-context or existing JSON-LD
  Infobox and TL;DR still absent when leader is null

Co-authored-by: Florent Tapponnier <contact@mobula.io>
…ink) with method coverage panel, 3 regions
@Flotapponnier
Flotapponnier merged commit ca3872c into main Jul 10, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant