From bef9ccbd0c0310b19a695c1097730128f3dc2a22 Mon Sep 17 00:00:00 2001 From: Flotapponnier Date: Mon, 21 Sep 2026 15:19:36 +0200 Subject: [PATCH] rpc audit: product pages link only same-cohort compare pairs (alchemy-vs-drpc and friends 404ed on staging, 15 links); /rpc title 64 chars, description 154, Methodology as H2, no em dash Claude-Session: https://claude.ai/code/session_01HJgbZCqjR4nvCfcJSzofbw Co-authored-by: Flotapponnier Co-Authored-By: Claude Opus 5 (1M context) --- src/app/rpc/page.tsx | 8 +++--- src/components/rpc-chains-leaderboard.tsx | 2 +- src/lib/related-providers.ts | 35 +++++++++++++++++------ 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/app/rpc/page.tsx b/src/app/rpc/page.tsx index e4f7c64f3..e07af4def 100644 --- a/src/app/rpc/page.tsx +++ b/src/app/rpc/page.tsx @@ -22,11 +22,11 @@ import { SITE } from "@/data/site"; */ const DESCRIPTION = - "RPC providers ranked per chain from 3 regions: free public endpoints with their URLs, and Alchemy, Chainstack, QuickNode on API-key endpoints, ranked separately. Live 24h p50 latency."; + "RPC providers ranked per chain from 3 regions: free public endpoints with URLs, plus Alchemy, Chainstack and QuickNode on API-key endpoints, ranked apart."; export const metadata: import("next").Metadata = pageMetadata({ path: "/rpc", - title: "RPC providers by chain: public endpoints and API-key providers ranked by latency", + title: "RPC providers by chain: public and API-key endpoints, by latency", description: DESCRIPTION, }); @@ -117,7 +117,7 @@ export default async function RpcHubPage() {

RPC nodes

- RPC providers by chain: public endpoints and API-key providers, ranked by latency + RPC providers by chain: public and API-key endpoints, ranked by latency

Every free, no-key public RPC endpoint, measured per chain with @@ -249,7 +249,7 @@ export default async function RpcHubPage() { )}