manufacturers + NAB Show naming sweep

- Standardize "NAB Show" / "2026 NAB Show" across badges, filter chips,
  and headings; never bare "NAB" in user-facing copy.
- /manufacturers/[slug]: normalize show name at render, strip
  randomstring suffix on booth, hide booth unless the show is within 90
  days, filter single-letter junk out of category display.
- News filter "NAB Show" chip loose-matches any nab-tagged article so
  legacy "NAB 2026" tags still surface.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ryan Salazar
2026-05-27 22:07:29 +00:00
parent ec3118e7bc
commit 95eba5794b
9 changed files with 101 additions and 50 deletions

View File

@@ -9,14 +9,14 @@ import CompanyMentionsHover from "@/components/CompanyMentionsHover";
export const revalidate = 600;
export const metadata: Metadata = {
title: "NAB Show 2026 — Live Coverage Hub | Broadcast Beat",
title: "2026 NAB Show — Live Coverage Hub | Broadcast Beat",
description:
"Broadcast Beat's live coverage of NAB Show 2026: 1,100+ exhibitors, the latest product launches, booth-by-booth news, and editorial pick stories from the show floor.",
"Broadcast Beat's live coverage of 2026 NAB Show: 1,100+ exhibitors, the latest product launches, booth-by-booth news, and editorial pick stories from the show floor.",
alternates: { canonical: "/nab-2026" },
openGraph: {
title: "NAB Show 2026 — Live Coverage Hub",
title: "2026 NAB Show — Live Coverage Hub",
description:
"Live coverage, exhibitor list, and breaking product news from NAB Show 2026.",
"Live coverage, exhibitor list, and breaking product news from 2026 NAB Show.",
type: "website",
url: "https://broadcastbeat.com/nab-2026",
},
@@ -101,7 +101,7 @@ export default async function NabHub() {
<span className="text-xs text-[#888]">April 1116, 2026 · Las Vegas</span>
</div>
<h1 className="text-3xl md:text-5xl font-display font-bold text-[#e0e0e0] mb-3">
NAB Show 2026
2026 NAB Show
</h1>
<p className="text-[#aaa] text-base max-w-3xl">
{exhibitors.length.toLocaleString()} exhibitors confirmed.
@@ -118,7 +118,7 @@ export default async function NabHub() {
<section>
<header className="flex items-baseline justify-between mb-4">
<h2 className="text-xl font-display font-bold text-[#e0e0e0]">
Coverage Partners at NAB
Coverage Partners at the 2026 NAB Show
</h2>
<span className="text-xs text-[#888]">{sponsorRows.length} exhibiting partner{sponsorRows.length === 1 ? "" : "s"}</span>
</header>
@@ -193,7 +193,7 @@ export default async function NabHub() {
<section>
<header className="flex items-baseline justify-between mb-4">
<h2 className="text-xl font-display font-bold text-[#e0e0e0]">
All NAB 2026 exhibitors
All 2026 NAB Show exhibitors
</h2>
<Link href="/manufacturers" className="text-xs text-[#3b82f6] hover:underline">
Full directory