From 737a378ff5860387092e0c53bb2f45b23d25fbbf Mon Sep 17 00:00:00 2001 From: Florent Tapponnier Date: Fri, 26 Jun 2026 15:23:01 +0200 Subject: [PATCH] =?UTF-8?q?fix(seo):=20scope=20ton=E2=86=92gram=20redirect?= =?UTF-8?q?=20to=20benches=20with=20gram=20explainer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The catch-all /benchmarks/:slug/ton redirect fired on every bench, including aggregator-head-lag/gas-estimation/rpc-capabilities/etc that have no per_chain_explainer for gram. Result: 308 chain into 404, which Ahrefs + Google flag as a soft-404 anti-pattern. Now explicit per-bench: l1-finality, network-fees, wallet-labels-coverage. --- next.config.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/next.config.ts b/next.config.ts index 5fec030c..25e4f89a 100644 --- a/next.config.ts +++ b/next.config.ts @@ -178,9 +178,24 @@ const nextConfig: NextConfig = { destination: "/chains/gram", permanent: true, }, + // Scoped to the 3 benches that ship a gram (formerly ton) + // per_chain_explainer. The previous catch-all `/benchmarks/:slug/ton` + // fired for every bench, redirecting non-gram benches to a /gram + // path that 404s (e.g. aggregator-head-lag/ton → aggregator-head-lag/gram → 404), + // which Ahrefs and Google flag as a soft-404 redirect chain. { - source: "/benchmarks/:slug/ton", - destination: "/benchmarks/:slug/gram", + source: "/benchmarks/l1-finality/ton", + destination: "/benchmarks/l1-finality/gram", + permanent: true, + }, + { + source: "/benchmarks/network-fees/ton", + destination: "/benchmarks/network-fees/gram", + permanent: true, + }, + { + source: "/benchmarks/wallet-labels-coverage/ton", + destination: "/benchmarks/wallet-labels-coverage/gram", permanent: true, }, ...chainRedirects,