From a19df57bd66244478f1829ff598bc266b3f4c836 Mon Sep 17 00:00:00 2001 From: Florent Tapponnier Date: Fri, 17 Jul 2026 14:51:34 +0200 Subject: [PATCH] jsonld: add 'name' to TechArticle nodes for Google Rich Results validation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GSC flagged 'Missing field name' on aggregator-head-lag JSON-LD (and by extension every bench slug page + every per-chain page + the methodology hub — all TechArticle nodes shipped only 'headline'). Schema.org Article inherits 'name' from CreativeWork; Google's Rich Results validator treats it as required even when 'headline' is present. Add 'name' alongside 'headline' with the same value on all three affected builders. --- src/app/benchmarks/[slug]/[chain]/page.tsx | 1 + src/app/benchmarks/[slug]/page.tsx | 1 + src/lib/hub-jsonld.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/src/app/benchmarks/[slug]/[chain]/page.tsx b/src/app/benchmarks/[slug]/[chain]/page.tsx index cdde26df..61b993c5 100644 --- a/src/app/benchmarks/[slug]/[chain]/page.tsx +++ b/src/app/benchmarks/[slug]/[chain]/page.tsx @@ -358,6 +358,7 @@ export default async function BenchmarkChainPage({ { "@type": "TechArticle", "@id": `${pageUrl}#article`, + name: explainer.h2, headline: explainer.h2, description: capDescription(stripInlineMarkdown(explainer.body), 158), url: pageUrl, diff --git a/src/app/benchmarks/[slug]/page.tsx b/src/app/benchmarks/[slug]/page.tsx index d0196e3d..dbf715b6 100644 --- a/src/app/benchmarks/[slug]/page.tsx +++ b/src/app/benchmarks/[slug]/page.tsx @@ -387,6 +387,7 @@ export default async function BenchmarkPage({ { "@type": "TechArticle", "@id": `${benchmarkUrl}#article`, + name: benchmark.title, headline: benchmark.title, description: benchmark.subtitle, url: benchmarkUrl, diff --git a/src/lib/hub-jsonld.ts b/src/lib/hub-jsonld.ts index 235dd026..30fc2fac 100644 --- a/src/lib/hub-jsonld.ts +++ b/src/lib/hub-jsonld.ts @@ -75,6 +75,7 @@ export function methodologyPageLd() { "@type": "TechArticle", "@id": `${url}#article`, url, + name: "OpenChainBench methodology", headline: "OpenChainBench methodology", description: "How OpenChainBench measures: design principles, statistical conventions, and reproduction guidelines.",