chore: cherry-pick SEO fixes (drop solana-tx-landing-latency + slim /benchmarks payload) - #706
Merged
Merged
Conversation
Cherry-pick fallout: #704 introduced BenchmarkCardData (slim projection for the hub) but main's isInsufficient still required full Benchmark. The hub card calls isInsufficient(b) where b is the slim type, which typecheck rejected. Widening the predicate input to a structural subset lets both Benchmark and BenchmarkCardData pass without losing the runtime behavior.
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
Cherry-pick of #701 and #704 from dev to main, plus a tiny type-widening fix needed because main's
isInsufficientwas stricter than dev's.#701: drop solana-tx-landing-latency
The bench page was returning 404 + noindex on prod while still appearing in GSC top 3 by impressions, bleeding SEO. The Solana active probe is offline and not coming back in the short term, so we remove the spec, the alternatives + answer pages that reference it, and the orphaned compare pair. The observational
solana-tx-landingbench (different slug) and the harness Go code stay in tree for future re-enablement.#704: slim hub payload
/benchmarkswas shipping 3.2 MB of HTML (8s transfer) because the fullBenchmark[](37 entries with extras.series7d/30d, metricPanels, methodology, abstract, faq, findings, perChainExplainer, seoIntro, bestPerChain, worstPerChain, cellRanks, etc.) was serialized into the RSC payload for a client component that reads only ~12 fields per card. NewBenchmarkCardDataprojection +toBenchmarkCardDataat the page boundary cuts the payload to 283 KB.Type widening
isInsufficientaccepted the fullBenchmarktype only. The hub card passes the slim shape, so the predicate is now keyed on a structural subset (editorialStatus + status + results.ms.p50/availability). Runtime behavior unchanged.Diff stats
pnpm typecheck+pnpm lintclean (3 pre-existing warnings unchanged).Notes
src/app/benchmarks/category/[cat]/page.tsxbut I dropped that file from this cherry-pick since it does not exist on main.BenchmarkGridhere is the simpler main version (no Link, no lockedCategory, no allCategories prop). Only the prop type changed fromBenchmark[]toBenchmarkCardData[].