diff --git a/src/app/about/advertise/page.tsx b/src/app/about/advertise/page.tsx index fac1bf4..524d1ce 100644 --- a/src/app/about/advertise/page.tsx +++ b/src/app/about/advertise/page.tsx @@ -1,11 +1,11 @@ -export const metadata = { title: "Advertise — BroadcastBeat" }; +export const metadata = { title: "Advertise — Broadcast Beat" }; export default function AdvertisePage() { return (
-

Advertise on BroadcastBeat

+

Advertise on Broadcast Beat

- BroadcastBeat reaches broadcast engineers, post supervisors, streaming + Broadcast Beat reaches broadcast engineers, post supervisors, streaming architects, and live-event professionals across the industry.

diff --git a/src/app/about/contact/page.tsx b/src/app/about/contact/page.tsx index fb26ec1..f4a4544 100644 --- a/src/app/about/contact/page.tsx +++ b/src/app/about/contact/page.tsx @@ -1,4 +1,4 @@ -export const metadata = { title: "Contact — BroadcastBeat" }; +export const metadata = { title: "Contact — Broadcast Beat" }; export default function ContactPage() { return ( diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 988b1b8..7458221 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -2,8 +2,8 @@ import Header from "@/components/Header"; import Footer from "@/components/Footer"; export const metadata = { - title: "About BroadcastBeat", - description: "BroadcastBeat is an independent industry publication covering broadcast, production, and post-production technology.", + title: "About Broadcast Beat", + description: "Broadcast Beat is an independent industry publication covering broadcast, production, and post-production technology.", }; export default function AboutPage() { @@ -11,10 +11,10 @@ export default function AboutPage() {
-

About BroadcastBeat

+

About Broadcast Beat

- BroadcastBeat is an independent trade publication covering broadcast, + Broadcast Beat is an independent trade publication covering broadcast, live production, streaming, and post-production technology. We report on the equipment, services, and people that move the professional video industry forward. diff --git a/src/app/about/press-kit/page.tsx b/src/app/about/press-kit/page.tsx index 5d46504..23f93b1 100644 --- a/src/app/about/press-kit/page.tsx +++ b/src/app/about/press-kit/page.tsx @@ -1,7 +1,7 @@ import Header from "@/components/Header"; import Footer from "@/components/Footer"; -export const metadata = { title: "Press kit — BroadcastBeat" }; +export const metadata = { title: "Press kit — Broadcast Beat" }; export default function PressKitPage() { return ( @@ -13,15 +13,15 @@ export default function PressKitPage() {

Logos

Boilerplate

- BroadcastBeat is an independent trade publication covering broadcast, + Broadcast Beat is an independent trade publication covering broadcast, live production, streaming, and post-production technology. Founded - to bring engineering-rigor reporting to industry coverage, BroadcastBeat + to bring engineering-rigor reporting to industry coverage, Broadcast Beat publishes daily on the equipment, services, and people that move professional video forward.

diff --git a/src/app/about/team/page.tsx b/src/app/about/team/page.tsx index 05825e9..b99049a 100644 --- a/src/app/about/team/page.tsx +++ b/src/app/about/team/page.tsx @@ -6,8 +6,8 @@ export const dynamic = "force-dynamic"; export const revalidate = 600; export const metadata = { - title: "Editorial team — BroadcastBeat", - description: "Meet the BroadcastBeat editorial team — staff journalists covering broadcast, streaming, and post-production beats.", + title: "Editorial team — Broadcast Beat", + description: "Meet the Broadcast Beat editorial team — staff journalists covering broadcast, streaming, and post-production beats.", }; interface Persona { diff --git a/src/app/admin/newsletter/campaign-editor/page.tsx b/src/app/admin/newsletter/campaign-editor/page.tsx index c627379..f5a5e3e 100644 --- a/src/app/admin/newsletter/campaign-editor/page.tsx +++ b/src/app/admin/newsletter/campaign-editor/page.tsx @@ -632,7 +632,7 @@ export default function CampaignEditorPage() {
- BroadcastBeat + Broadcast Beat now

{campaign.subject || 'Your subject line…'}

@@ -645,7 +645,7 @@ export default function CampaignEditorPage() {
{/* Header */}
-

BroadcastBeat

+

Broadcast Beat

{campaign.previewText && (

{campaign.previewText}

)} @@ -680,7 +680,7 @@ export default function CampaignEditorPage() { {/* Footer */}
-

BroadcastBeat · Unsubscribe · View in browser

+

Broadcast Beat · Unsubscribe · View in browser

diff --git a/src/app/admin/newsletter/page.tsx b/src/app/admin/newsletter/page.tsx index d970403..f39454b 100644 --- a/src/app/admin/newsletter/page.tsx +++ b/src/app/admin/newsletter/page.tsx @@ -689,7 +689,7 @@ export default function AdminNewsletterPage() { type="text" value={digestSubject} onChange={(e) => setDigestSubject(e.target.value)} - placeholder="e.g. BroadcastBeat Weekly — NAB Show Highlights" + placeholder="e.g. Broadcast Beat Weekly — NAB Show Highlights" className="search-input w-full py-2.5 px-3 text-sm" />
diff --git a/src/app/admin/newsletter/templates/page.tsx b/src/app/admin/newsletter/templates/page.tsx index 9f97ef2..2679494 100644 --- a/src/app/admin/newsletter/templates/page.tsx +++ b/src/app/admin/newsletter/templates/page.tsx @@ -435,7 +435,7 @@ export default function NewsletterTemplatesPage() { type="text" value={form.subject_prefix} onChange={(e) => setForm((f) => ({ ...f, subject_prefix: e.target.value }))} - placeholder="e.g. BroadcastBeat Weekly —" + placeholder="e.g. Broadcast Beat Weekly —" className="search-input w-full py-2.5 px-3 text-sm" />

Prepended to the digest subject line when using this template

diff --git a/src/app/advertise/layout.tsx b/src/app/advertise/layout.tsx index 75626a4..1f80936 100644 --- a/src/app/advertise/layout.tsx +++ b/src/app/advertise/layout.tsx @@ -1,11 +1,11 @@ import type { Metadata } from 'next'; export const metadata: Metadata = { - title: 'Advertise With BroadcastBeat — Reach Broadcast Engineering Professionals', - description: 'Advertise with BroadcastBeat to reach broadcast engineers, production professionals, and media technology decision-makers. Display ads, sponsored content, and newsletter placements.', + title: 'Advertise With Broadcast Beat — Reach Broadcast Engineering Professionals', + description: 'Advertise with Broadcast Beat to reach broadcast engineers, production professionals, and media technology decision-makers. Display ads, sponsored content, and newsletter placements.', alternates: { canonical: '/advertise' }, openGraph: { - title: 'Advertise With BroadcastBeat', + title: 'Advertise With Broadcast Beat', description: 'Reach broadcast engineers, production professionals, and media technology decision-makers.', url: '/advertise', type: 'website', diff --git a/src/app/advertise/page.tsx b/src/app/advertise/page.tsx index c8018c6..21f46ba 100644 --- a/src/app/advertise/page.tsx +++ b/src/app/advertise/page.tsx @@ -49,7 +49,7 @@ export default function AdvertisePage() { Advertise

Reach Broadcast Engineering Professionals

- BroadcastBeat is the leading digital platform for broadcast engineering professionals. Connect your brand with decision-makers, engineers, and executives across the broadcast industry. + Broadcast Beat is the leading digital platform for broadcast engineering professionals. Connect your brand with decision-makers, engineers, and executives across the broadcast industry.

Publication

-

BroadcastBeat

+

Broadcast Beat

Relevant Media Properties

diff --git a/src/app/api/admin/banned-term-alert/route.ts b/src/app/api/admin/banned-term-alert/route.ts index 0db9c01..56d0f8c 100644 --- a/src/app/api/admin/banned-term-alert/route.ts +++ b/src/app/api/admin/banned-term-alert/route.ts @@ -13,9 +13,9 @@ export async function POST(request: NextRequest) { }); await transport.sendMail({ - from: `"${process.env.SMTP_FROM_NAME || 'BroadcastBeat'}" <${process.env.SMTP_FROM_EMAIL}>`, + from: `"${process.env.SMTP_FROM_NAME || 'Broadcast Beat'}" <${process.env.SMTP_FROM_EMAIL}>`, to: 'editor@broadcastbeat.com', - subject: `[BroadcastBeat] Blocked post attempt — banned term triggered`, + subject: `[Broadcast Beat] Blocked post attempt — banned term triggered`, html: `

Blocked Post Attempt

diff --git a/src/app/api/admin/company-coverage-reminder/route.ts b/src/app/api/admin/company-coverage-reminder/route.ts index 84fdd07..f6e042f 100644 --- a/src/app/api/admin/company-coverage-reminder/route.ts +++ b/src/app/api/admin/company-coverage-reminder/route.ts @@ -13,7 +13,7 @@ export async function POST(request: NextRequest) { const companyList = (companies || []).slice(0, 10).map((c: string) => `
  • ${c}
  • `).join(''); const moreText = companies?.length > 10 ? `

    ...and ${companies.length - 10} more

    ` : ''; await transport.sendMail({ - from: `"${process.env.SMTP_FROM_NAME || 'BroadcastBeat'}" <${process.env.SMTP_FROM_EMAIL}>`, + from: `"${process.env.SMTP_FROM_NAME || 'Broadcast Beat'}" <${process.env.SMTP_FROM_EMAIL}>`, to: email || 'ryan.salazar@relevantmediaproperties.com', subject: `[Relevant Media Properties] ${count} new company story suggestion${count !== 1 ? 's' : ''} queued`, html: ` diff --git a/src/app/api/admin/suspensions/route.ts b/src/app/api/admin/suspensions/route.ts index b46c838..e57c8f9 100644 --- a/src/app/api/admin/suspensions/route.ts +++ b/src/app/api/admin/suspensions/route.ts @@ -35,8 +35,8 @@ async function sendSuspensionEmail( : ''; const subject = isBanned - ? `Your BroadcastBeat account has been banned` - : `Your BroadcastBeat account has been suspended`; + ? `Your Broadcast Beat account has been banned` + : `Your Broadcast Beat account has been suspended`; const html = ` @@ -45,7 +45,7 @@ async function sendSuspensionEmail(
    - BroadcastBeat + Broadcast Beat

    @@ -54,7 +54,7 @@ async function sendSuspensionEmail(

    Hi ${fullName || 'there'},

    - Your BroadcastBeat account has been ${isBanned ? 'permanently banned' : `suspended ${durationText}`}. + Your Broadcast Beat account has been ${isBanned ? 'permanently banned' : `suspended ${durationText}`}.

    Reason

    @@ -65,7 +65,7 @@ async function sendSuspensionEmail( ${isBanned ? 'This decision is final. If you believe this is an error, please contact our support team.' : 'During this period, you will not be able to post threads or replies. If you believe this is an error, please contact our support team.'}

    -

    BroadcastBeat — ${siteUrl}

    +

    Broadcast Beat — ${siteUrl}

    @@ -73,7 +73,7 @@ async function sendSuspensionEmail( `; await transporter.sendMail({ - from: `"${process.env.SMTP_FROM_NAME || 'BroadcastBeat'}" <${process.env.SMTP_FROM_EMAIL}>`, + from: `"${process.env.SMTP_FROM_NAME || 'Broadcast Beat'}" <${process.env.SMTP_FROM_EMAIL}>`, to: email, subject, html, diff --git a/src/app/api/admin/users/route.ts b/src/app/api/admin/users/route.ts index 5defc12..693e63a 100644 --- a/src/app/api/admin/users/route.ts +++ b/src/app/api/admin/users/route.ts @@ -118,7 +118,7 @@ export async function POST(req: NextRequest) { }, body: JSON.stringify({ email, - inviterName: inviterProfile?.full_name || inviterProfile?.email || 'BroadcastBeat Admin', + inviterName: inviterProfile?.full_name || inviterProfile?.email || 'Broadcast Beat Admin', role: role || 'contributor', token, message, diff --git a/src/app/api/ai/article-suggestions/route.ts b/src/app/api/ai/article-suggestions/route.ts index c251933..5b8be53 100644 --- a/src/app/api/ai/article-suggestions/route.ts +++ b/src/app/api/ai/article-suggestions/route.ts @@ -22,7 +22,7 @@ export async function POST(request: NextRequest) { date: a.date, })); - const systemPrompt = `You are a personalized content recommendation engine for BroadcastBeat, a broadcast engineering news platform. + const systemPrompt = `You are a personalized content recommendation engine for Broadcast Beat, a broadcast engineering news platform. Given a reader's topic interests and reading history, select the 4 most relevant articles from the provided article list. Return ONLY a valid JSON array of slugs in order of relevance. Example: ["slug-1","slug-2","slug-3","slug-4"] Do not include any explanation or markdown — only the raw JSON array.`; diff --git a/src/app/api/ai/fetch-url/route.ts b/src/app/api/ai/fetch-url/route.ts index e227892..6a3ecc7 100644 --- a/src/app/api/ai/fetch-url/route.ts +++ b/src/app/api/ai/fetch-url/route.ts @@ -38,7 +38,7 @@ export async function POST(request: NextRequest) { try { response = await fetch(url, { headers: { - 'User-Agent': 'Mozilla/5.0 (compatible; BroadcastBeat/1.0; +https://broadcastbeat.com)', + 'User-Agent': 'Mozilla/5.0 (compatible; Broadcast Beat/1.0; +https://broadcastbeat.com)', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', }, signal: controller.signal, diff --git a/src/app/api/ask-bb-ai/route.ts b/src/app/api/ask-bb-ai/route.ts index 19c48bd..f77e0e4 100644 --- a/src/app/api/ask-bb-ai/route.ts +++ b/src/app/api/ask-bb-ai/route.ts @@ -23,11 +23,11 @@ function rateLimit(key: string): { ok: boolean; remaining: number } { return { ok: true, remaining: RATE_LIMIT_MAX - b.count }; } -const SYSTEM_PROMPT = `You are BB AI, BroadcastBeat's intelligent research assistant. +const SYSTEM_PROMPT = `You are BB AI, Broadcast Beat's intelligent research assistant. You help readers — broadcast engineers, post-production supervisors, streaming architects, and broadcast executives — find information from the -BroadcastBeat archive. +Broadcast Beat archive. Tone: trade-press, factual, lightly conversational. Plain English. diff --git a/src/app/api/forum/ai-assist/route.ts b/src/app/api/forum/ai-assist/route.ts index ab31232..a411e1e 100644 --- a/src/app/api/forum/ai-assist/route.ts +++ b/src/app/api/forum/ai-assist/route.ts @@ -19,7 +19,7 @@ export async function POST(req: NextRequest) { [ { role: 'system', - content: `You are the BroadcastBeat AI Assistant — a knowledgeable, helpful assistant for broadcast engineering professionals. You have deep expertise in broadcast technology including live production, IP workflows, SMPTE ST 2110, audio engineering, cameras, streaming, post-production, MAM systems, and broadcast industry trends. + content: `You are the Broadcast Beat AI Assistant — a knowledgeable, helpful assistant for broadcast engineering professionals. You have deep expertise in broadcast technology including live production, IP workflows, SMPTE ST 2110, audio engineering, cameras, streaming, post-production, MAM systems, and broadcast industry trends. You are responding in a community forum. Be helpful, technically accurate, and conversational. Acknowledge when a question is complex or when professional consultation is advisable. Keep responses focused and practical — broadcast engineers value concise, actionable information. @@ -51,7 +51,7 @@ Please provide a helpful, technically accurate response for this broadcast engin .insert({ thread_id, body: aiResponseText, - author_name: 'BroadcastBeat AI', + author_name: 'Broadcast Beat AI', is_ai_response: true, }) .select() diff --git a/src/app/api/marketplace/send-email/route.ts b/src/app/api/marketplace/send-email/route.ts index f704a4d..d5e2b22 100644 --- a/src/app/api/marketplace/send-email/route.ts +++ b/src/app/api/marketplace/send-email/route.ts @@ -20,7 +20,7 @@ export async function POST(req: NextRequest) { }); await transporter.sendMail({ - from: `"${process.env.SMTP_FROM_NAME || 'BroadcastBeat'}" <${process.env.SMTP_FROM_EMAIL}>`, + from: `"${process.env.SMTP_FROM_NAME || 'Broadcast Beat'}" <${process.env.SMTP_FROM_EMAIL}>`, to, subject, html, diff --git a/src/app/api/news/share-email/route.ts b/src/app/api/news/share-email/route.ts index f6f9978..987c7b3 100644 --- a/src/app/api/news/share-email/route.ts +++ b/src/app/api/news/share-email/route.ts @@ -35,7 +35,7 @@ export async function POST(req: NextRequest) { - Article shared with you — BroadcastBeat + Article shared with you — Broadcast Beat @@ -45,7 +45,7 @@ export async function POST(req: NextRequest) { @@ -62,8 +62,8 @@ export async function POST(req: NextRequest) {
    -

    BroadcastBeat

    +

    Broadcast Beat

    -

    You received this because someone shared a BroadcastBeat article with you.

    -

    © ${new Date().getFullYear()} BroadcastBeat. All rights reserved.

    +

    You received this because someone shared a Broadcast Beat article with you.

    +

    © ${new Date().getFullYear()} Broadcast Beat. All rights reserved.

    @@ -74,7 +74,7 @@ export async function POST(req: NextRequest) { `; await transporter.sendMail({ - from: `"${process.env.SMTP_FROM_NAME || "BroadcastBeat"}" <${process.env.SMTP_FROM_EMAIL}>`, + from: `"${process.env.SMTP_FROM_NAME || "Broadcast Beat"}" <${process.env.SMTP_FROM_EMAIL}>`, to, subject: `Shared article: ${articleTitle}`, html, diff --git a/src/app/api/newsletter/subscribe/route.ts b/src/app/api/newsletter/subscribe/route.ts index 9cb6c7c..9dd4c6a 100644 --- a/src/app/api/newsletter/subscribe/route.ts +++ b/src/app/api/newsletter/subscribe/route.ts @@ -37,7 +37,7 @@ export async function POST(req: NextRequest) { const smtpUser = process.env.SMTP_USER; const smtpPass = process.env.SMTP_PASS; const fromEmail = process.env.SMTP_FROM_EMAIL || smtpUser; - const fromName = process.env.SMTP_FROM_NAME || 'BroadcastBeat'; + const fromName = process.env.SMTP_FROM_NAME || 'Broadcast Beat'; if (smtpHost && smtpUser && smtpPass) { const transporter = nodemailer.createTransport({ @@ -54,11 +54,11 @@ export async function POST(req: NextRequest) { await transporter.sendMail({ from: `"${fromName}" <${fromEmail}>`, to: email, - subject: `Welcome to BroadcastBeat — You're subscribed!`, + subject: `Welcome to Broadcast Beat — You're subscribed!`, html: `

    You're in!

    -

    Thanks for subscribing to BroadcastBeat — the digital platform for broadcast engineering.

    +

    Thanks for subscribing to Broadcast Beat — the digital platform for broadcast engineering.

    ${topicsList}

    You'll be the first to know about the latest news, product launches, and industry insights.


    diff --git a/src/app/api/newsletter/subscribers/route.ts b/src/app/api/newsletter/subscribers/route.ts index 82ac219..7804707 100644 --- a/src/app/api/newsletter/subscribers/route.ts +++ b/src/app/api/newsletter/subscribers/route.ts @@ -95,7 +95,7 @@ export async function POST(req: NextRequest) { const smtpUser = process.env.SMTP_USER; const smtpPass = process.env.SMTP_PASS; const fromEmail = process.env.SMTP_FROM_EMAIL || smtpUser; - const fromName = process.env.SMTP_FROM_NAME || 'BroadcastBeat'; + const fromName = process.env.SMTP_FROM_NAME || 'Broadcast Beat'; const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://broadcastbeat.com'; if (!smtpHost || !smtpUser || !smtpPass) { @@ -140,7 +140,7 @@ export async function POST(req: NextRequest) {
    -

    BroadcastBeat

    +

    Broadcast Beat

    News & Intelligence for Broadcast, Post-Production & Streaming Technology

    @@ -153,7 +153,7 @@ export async function POST(req: NextRequest) {
    diff --git a/src/app/api/wp-import/route.ts b/src/app/api/wp-import/route.ts index fc715fc..a824279 100644 --- a/src/app/api/wp-import/route.ts +++ b/src/app/api/wp-import/route.ts @@ -29,7 +29,7 @@ function stripHtml(html: string): string { async function fetchWPPosts(page: number): Promise<{ posts: WPPost[]; totalPages: number }> { const url = `${WP_BASE_URL}/posts?page=${page}&per_page=${PER_PAGE}&_embed=1&status=publish`; const res = await fetch(url, { - headers: { 'User-Agent': 'BroadcastBeat-Importer/1.0' }, + headers: { 'User-Agent': 'Broadcast Beat-Importer/1.0' }, next: { revalidate: 0 }, }); @@ -54,7 +54,7 @@ async function downloadAndStoreImage( try { // Fetch the image const response = await fetch(imageUrl, { - headers: { 'User-Agent': 'BroadcastBeat-Importer/1.0' }, + headers: { 'User-Agent': 'Broadcast Beat-Importer/1.0' }, signal: AbortSignal.timeout(15000), }); diff --git a/src/app/articles/[slug]/page.tsx b/src/app/articles/[slug]/page.tsx index 8c3c589..63cbd81 100644 --- a/src/app/articles/[slug]/page.tsx +++ b/src/app/articles/[slug]/page.tsx @@ -65,7 +65,7 @@ export async function generateMetadata({ params }: PageProps): Promise title: article.title, description: article.excerpt, images: [article.image], - creator: "@BroadcastBeat", + creator: "@Broadcast Beat", }, }; } @@ -93,7 +93,7 @@ export default async function ArticlePage({ params }: PageProps) { author: { "@type": "Person", name: article.author }, publisher: { "@type": "Organization", - name: "BroadcastBeat", + name: "Broadcast Beat", logo: { "@type": "ImageObject", url: `${SITE_URL}/assets/images/logo.png` }, }, datePublished: toIso(article.date), diff --git a/src/app/authors/[slug]/page.tsx b/src/app/authors/[slug]/page.tsx index 5220924..fefab85 100644 --- a/src/app/authors/[slug]/page.tsx +++ b/src/app/authors/[slug]/page.tsx @@ -39,10 +39,10 @@ const authors: Record = { "staff-reporter": { slug: "staff-reporter", name: "Staff Reporter", - title: "BroadcastBeat Editorial Team", + title: "Broadcast Beat Editorial Team", avatar: "https://img.rocket.new/generatedImages/rocket_gen_img_1aa16f5c7-1766559876206.png", coverImage: "https://img.rocket.new/generatedImages/rocket_gen_img_1aa16f5c7-1766559876206.png", - bio: "The BroadcastBeat editorial team covers breaking news and product announcements from across the broadcast technology industry. Our team of experienced journalists and industry insiders brings you the latest developments from NAB, IBC, and beyond.", + bio: "The Broadcast Beat editorial team covers breaking news and product announcements from across the broadcast technology industry. Our team of experienced journalists and industry insiders brings you the latest developments from NAB, IBC, and beyond.", location: "Global", joinedDate: "January 2020", articleCount: 847, @@ -76,7 +76,7 @@ const authors: Record = { title: "Audio Technology Editor", avatar: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=200&h=200&fit=crop&crop=face", coverImage: "https://images.unsplash.com/photo-1598488035139-bdbb2231ce04?w=1200&h=400&fit=crop", - bio: "Sarah Chen is BroadcastBeat's audio technology editor, bringing deep expertise in professional audio systems, live sound, and broadcast audio workflows. With a background in audio engineering and a decade of industry journalism, Sarah provides authoritative coverage of the audio technology landscape.", + bio: "Sarah Chen is Broadcast Beat's audio technology editor, bringing deep expertise in professional audio systems, live sound, and broadcast audio workflows. With a background in audio engineering and a decade of industry journalism, Sarah provides authoritative coverage of the audio technology landscape.", location: "Los Angeles, CA", joinedDate: "June 2019", articleCount: 198, @@ -93,7 +93,7 @@ const authors: Record = { title: "Features Editor", avatar: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=200&h=200&fit=crop&crop=face", coverImage: "https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=1200&h=400&fit=crop", - bio: "Elena Vasquez is BroadcastBeat's features editor, specializing in long-form analysis of industry trends, emerging technologies, and the strategic challenges facing media organizations. Her work explores the intersection of technology, business, and creativity in the broadcast industry.", + bio: "Elena Vasquez is Broadcast Beat's features editor, specializing in long-form analysis of industry trends, emerging technologies, and the strategic challenges facing media organizations. Her work explores the intersection of technology, business, and creativity in the broadcast industry.", location: "London, UK", joinedDate: "September 2017", articleCount: 156, @@ -110,7 +110,7 @@ const authors: Record = { title: "Technology Analyst", avatar: "https://images.unsplash.com/photo-1487412720507-e7ab37603c6f?w=200&h=200&fit=crop&crop=face", coverImage: "https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200&h=400&fit=crop", - bio: "Rachel Kim is a technology analyst at BroadcastBeat, focusing on data-driven coverage of storage technologies, media asset management, and cloud infrastructure. Her analytical approach brings quantitative rigor to technology coverage, helping readers understand the business implications of technical decisions.", + bio: "Rachel Kim is a technology analyst at Broadcast Beat, focusing on data-driven coverage of storage technologies, media asset management, and cloud infrastructure. Her analytical approach brings quantitative rigor to technology coverage, helping readers understand the business implications of technical decisions.", location: "San Francisco, CA", joinedDate: "February 2021", articleCount: 89, @@ -127,7 +127,7 @@ const authors: Record = { title: "Sports Broadcasting Correspondent", avatar: "https://img.rocket.new/generatedImages/rocket_gen_img_14648a787-1772373242232.png", coverImage: "https://img.rocket.new/generatedImages/rocket_gen_img_14648a787-1772373242232.png", - bio: "Marcus Rivera covers sports broadcasting technology for BroadcastBeat, with a particular focus on live production, fan engagement, and the evolving landscape of sports media rights. He brings a unique perspective that combines technical knowledge with an understanding of the sports media business.", + bio: "Marcus Rivera covers sports broadcasting technology for Broadcast Beat, with a particular focus on live production, fan engagement, and the evolving landscape of sports media rights. He brings a unique perspective that combines technical knowledge with an understanding of the sports media business.", location: "Miami, FL", joinedDate: "April 2020", articleCount: 134, diff --git a/src/app/forum/layout.tsx b/src/app/forum/layout.tsx index fcb73b1..0e7152e 100644 --- a/src/app/forum/layout.tsx +++ b/src/app/forum/layout.tsx @@ -1,19 +1,19 @@ import type { Metadata } from 'next'; export const metadata: Metadata = { - title: 'Community Forum — BroadcastBeat', + title: 'Community Forum — Broadcast Beat', description: 'Connect with broadcast engineering professionals. Discuss live production, IP workflows, streaming, audio, cameras, AI automation, and more.', alternates: { canonical: '/forum' }, openGraph: { - title: 'Community Forum — BroadcastBeat', + title: 'Community Forum — Broadcast Beat', description: 'Connect with broadcast engineering professionals. Ask questions, share expertise, and discuss broadcast technology.', url: '/forum', type: 'website', }, twitter: { card: 'summary', - title: 'Community Forum — BroadcastBeat', - description: 'Connect with broadcast engineering professionals on BroadcastBeat.', + title: 'Community Forum — Broadcast Beat', + description: 'Connect with broadcast engineering professionals on Broadcast Beat.', }, }; @@ -21,12 +21,12 @@ export default function ForumLayout({ children }: { children: React.ReactNode }) const schema = { '@context': 'https://schema.org', '@type': 'WebPage', - name: 'BroadcastBeat Community Forum', + name: 'Broadcast Beat Community Forum', description: 'Community forum for broadcast engineering professionals.', url: 'https://broadcastb5322.builtwithrocket.new/forum', isPartOf: { '@type': 'WebSite', - name: 'BroadcastBeat', + name: 'Broadcast Beat', url: 'https://broadcastb5322.builtwithrocket.new', }, breadcrumb: { diff --git a/src/app/forum/page.tsx b/src/app/forum/page.tsx index dd90f75..1f08c9e 100644 --- a/src/app/forum/page.tsx +++ b/src/app/forum/page.tsx @@ -563,7 +563,7 @@ export default function ForumIndexPage() {
    • • Be respectful and professional — this is a community of peers
    • • Share real-world experience and cite sources when possible
    • -
    • • The BroadcastBeat AI assistant is available in threads to help answer questions — it is clearly labeled
    • +
    • • The Broadcast Beat AI assistant is available in threads to help answer questions — it is clearly labeled
    • • No spam, self-promotion, or vendor pitches without disclosure
    diff --git a/src/app/forum/thread/[id]/page.tsx b/src/app/forum/thread/[id]/page.tsx index 987889e..5126f65 100644 --- a/src/app/forum/thread/[id]/page.tsx +++ b/src/app/forum/thread/[id]/page.tsx @@ -410,7 +410,7 @@ export default function ForumThreadPage() { AI
    - BroadcastBeat AI Assistant + Broadcast Beat AI Assistant AI — Not a human
    diff --git a/src/app/gear/page.tsx b/src/app/gear/page.tsx index b838dff..f515c5f 100644 --- a/src/app/gear/page.tsx +++ b/src/app/gear/page.tsx @@ -9,11 +9,11 @@ import { getLegacyArticlesBySection } from "@/lib/articles/legacy-source"; export const revalidate = 1800; export const metadata: Metadata = { - title: "Broadcast Gear & Reviews — BroadcastBeat", + title: "Broadcast Gear & Reviews — Broadcast Beat", description: "In-depth reviews and coverage of broadcast cameras, audio gear, production equipment, and professional media technology.", alternates: { canonical: "/gear" }, openGraph: { - title: "Broadcast Gear & Reviews — BroadcastBeat", + title: "Broadcast Gear & Reviews — Broadcast Beat", description: "In-depth reviews and coverage of broadcast cameras, audio gear, production equipment, and professional media technology.", url: "/gear", type: "website", diff --git a/src/app/global-error.tsx b/src/app/global-error.tsx index 92c5ab6..2e349ae 100644 --- a/src/app/global-error.tsx +++ b/src/app/global-error.tsx @@ -16,7 +16,7 @@ export default function GlobalError({

    Something went wrong

    -

    BroadcastBeat hit an unexpected error.

    +

    Broadcast Beat hit an unexpected error.

    {error?.digest && (

    ref: {error.digest}

    )} diff --git a/src/app/home-page/page.tsx b/src/app/home-page/page.tsx index 9d7e1d7..cf0d957 100644 --- a/src/app/home-page/page.tsx +++ b/src/app/home-page/page.tsx @@ -16,13 +16,13 @@ import NewsletterSignup from "./components/NewsletterSignup"; import AISuggestedArticles from "@/components/AISuggestedArticles"; export const metadata: Metadata = { - title: 'BroadcastBeat — Broadcast Engineering News & Insights', + title: 'Broadcast Beat — Broadcast Engineering News & Insights', description: 'The digital platform for broadcast engineering professionals. Breaking news, deep-dive features, and industry spotlights from NAB to IBC and beyond.', alternates: { canonical: '/home-page', }, openGraph: { - title: 'BroadcastBeat — Broadcast News', + title: 'Broadcast Beat — Broadcast News', description: 'Breaking news and insights for broadcast engineering professionals.', url: '/home-page', type: 'website', @@ -31,13 +31,13 @@ export const metadata: Metadata = { url: '/assets/images/og-image.png', width: 1200, height: 630, - alt: 'BroadcastBeat — Broadcast Engineering News & Insights', + alt: 'Broadcast Beat — Broadcast Engineering News & Insights', }, ], }, twitter: { card: 'summary_large_image', - title: 'BroadcastBeat — Broadcast News', + title: 'Broadcast Beat — Broadcast News', description: 'Breaking news and insights for broadcast engineering professionals.', images: ['/assets/images/og-image.png'], }, @@ -147,7 +147,7 @@ export default function HomePage() { {/* H1 Hero Heading */}
    -

    BroadcastBeat — Broadcast Engineering News & Insights

    +

    Broadcast Beat — Broadcast Engineering News & Insights

    {/* Scrolling news ticker */} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 8fb6984..e45827c 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -13,7 +13,7 @@ export const viewport: Viewport = { export const metadata: Metadata = { metadataBase: new URL(process.env.NEXT_PUBLIC_SITE_URL || 'http://localhost:3000'), - title: 'BroadcastBeat — Broadcast Engineering News & Insights', + title: 'Broadcast Beat — Broadcast Engineering News & Insights', description: 'The digital platform for broadcast engineering professionals. Breaking news, deep-dive features, and industry spotlights from NAB to IBC and beyond.', icons: { icon: [ @@ -30,24 +30,24 @@ export const metadata: Metadata = { type: 'website', locale: 'en_US', url: '/', - siteName: 'BroadcastBeat', - title: 'BroadcastBeat — Broadcast News', + siteName: 'Broadcast Beat', + title: 'Broadcast Beat — Broadcast News', description: 'Breaking news and insights for broadcast engineering professionals.', images: [ { url: '/assets/images/og-image.png', width: 1200, height: 630, - alt: 'BroadcastBeat — Broadcast Engineering News & Insights', + alt: 'Broadcast Beat — Broadcast Engineering News & Insights', type: 'image/png' }] }, twitter: { card: 'summary_large_image', - site: '@BroadcastBeat', - creator: '@BroadcastBeat', - title: 'BroadcastBeat — Broadcast News', + site: '@Broadcast Beat', + creator: '@Broadcast Beat', + title: 'Broadcast Beat — Broadcast News', description: 'Breaking news and insights for broadcast engineering professionals.', images: ['/assets/images/og-image.png'] }, @@ -82,7 +82,7 @@ export default function RootLayout({ __html: JSON.stringify({ '@context': 'https://schema.org', '@type': 'Organization', - name: 'BroadcastBeat', + name: 'Broadcast Beat', url: 'https://broadcastbeat.com', logo: "https://img.rocket.new/generatedImages/rocket_gen_img_1ab0c6b82-1768715893826.png", description: 'The digital platform for broadcast engineering professionals. Breaking news, deep-dive features, and industry spotlights from NAB to IBC and beyond.', diff --git a/src/app/news/NewsPageClient.tsx b/src/app/news/NewsPageClient.tsx index 1cd31e3..da4252f 100644 --- a/src/app/news/NewsPageClient.tsx +++ b/src/app/news/NewsPageClient.tsx @@ -260,7 +260,7 @@ export default function NewsPage({ articles }: { articles: Article[] }) {
    return { title: "Article Not Found", description: "The article you are looking for does not exist." }; } return { - title: `${article.title} — BroadcastBeat`, + title: `${article.title} — Broadcast Beat`, description: article.excerpt, alternates: { canonical: `/news/${article.slug}` }, openGraph: { @@ -69,7 +69,7 @@ export async function generateMetadata({ params }: PageProps): Promise title: article.title, description: article.excerpt, images: [article.image], - creator: "@BroadcastBeat", + creator: "@Broadcast Beat", }, }; } @@ -98,7 +98,7 @@ export default async function NewsArticlePage({ params }: PageProps) { author: { "@type": "Person", name: article.author }, publisher: { "@type": "Organization", - name: "BroadcastBeat", + name: "Broadcast Beat", logo: { "@type": "ImageObject", url: `${SITE_URL}/assets/images/logo.png` }, }, datePublished: toIso(article.date), diff --git a/src/app/news/page.tsx b/src/app/news/page.tsx index 2247791..079af02 100644 --- a/src/app/news/page.tsx +++ b/src/app/news/page.tsx @@ -6,7 +6,7 @@ import { getLegacyArticlesBySection } from "@/lib/articles/legacy-source"; export const revalidate = 1800; export const metadata: Metadata = { - title: "Latest Broadcast News — BroadcastBeat", + title: "Latest Broadcast News — Broadcast Beat", description: "Breaking news and industry updates from the world of broadcast engineering, IP/cloud workflows, streaming, AI, and live production.", alternates: { canonical: "/news" }, diff --git a/src/app/newsletter/archive/page.tsx b/src/app/newsletter/archive/page.tsx index 88eaa77..8ea4320 100644 --- a/src/app/newsletter/archive/page.tsx +++ b/src/app/newsletter/archive/page.tsx @@ -378,7 +378,7 @@ export default function NewsletterArchivePage() {

    Newsletter Archive

    - Browse past issues of the BroadcastBeat newsletter — searchable by date and topic. + Browse past issues of the Broadcast Beat newsletter — searchable by date and topic.

    diff --git a/src/app/newsletter/page.tsx b/src/app/newsletter/page.tsx index 3cf7e0b..848fa52 100644 --- a/src/app/newsletter/page.tsx +++ b/src/app/newsletter/page.tsx @@ -1,8 +1,8 @@ import { redirect } from "next/navigation"; export const metadata = { - title: "Newsletter — BroadcastBeat", - description: "BroadcastBeat newsletter archive.", + title: "Newsletter — Broadcast Beat", + description: "Broadcast Beat newsletter archive.", alternates: { canonical: "/newsletter/archive" }, }; diff --git a/src/app/privacy/page.tsx b/src/app/privacy/page.tsx index df4a160..ebda4a1 100644 --- a/src/app/privacy/page.tsx +++ b/src/app/privacy/page.tsx @@ -4,8 +4,8 @@ import Header from "@/components/Header"; import Footer from "@/components/Footer"; export const metadata: Metadata = { - title: "Privacy Policy — BroadcastBeat", - description: "BroadcastBeat Privacy Policy — how we collect, use, and protect your personal information. GDPR and CCPA compliant.", + title: "Privacy Policy — Broadcast Beat", + description: "Broadcast Beat Privacy Policy — how we collect, use, and protect your personal information. GDPR and CCPA compliant.", alternates: { canonical: "/privacy", }, @@ -26,7 +26,7 @@ export default function PrivacyPage() {

    - This Privacy Policy describes how Relevant Media Properties, LLC ("we," "us," or "our"), publisher of BroadcastBeat, AV Beat, Backlot Beat, and BroadcastEngineering.com, collects, uses, and shares information about you when you use our websites and services. We are committed to protecting your privacy and complying with applicable data protection laws including GDPR and CCPA. + This Privacy Policy describes how Relevant Media Properties, LLC ("we," "us," or "our"), publisher of Broadcast Beat, AV Beat, Backlot Beat, and BroadcastEngineering.com, collects, uses, and shares information about you when you use our websites and services. We are committed to protecting your privacy and complying with applicable data protection laws including GDPR and CCPA.

    diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx index a6f1bc5..f78e559 100644 --- a/src/app/register/page.tsx +++ b/src/app/register/page.tsx @@ -112,7 +112,7 @@ export default function RegisterPage() { Create Account

    - Join BroadcastBeat to save articles, track your reading history, and get personalized content. + Join Broadcast Beat to save articles, track your reading history, and get personalized content.

    diff --git a/src/app/rss/route.ts b/src/app/rss/route.ts index 3c5f41b..911327a 100644 --- a/src/app/rss/route.ts +++ b/src/app/rss/route.ts @@ -41,7 +41,7 @@ export async function GET() { const body = ` - BroadcastBeat + Broadcast Beat ${SITE_URL} News & Intelligence for Broadcast, Post-Production & Streaming Technology diff --git a/src/app/search/page.tsx b/src/app/search/page.tsx index 66cd496..8c76e15 100644 --- a/src/app/search/page.tsx +++ b/src/app/search/page.tsx @@ -8,9 +8,9 @@ import { searchLegacyArticles } from "@/lib/articles/legacy-source"; export const revalidate = 60; export const metadata: Metadata = { - title: "Search — BroadcastBeat", + title: "Search — Broadcast Beat", description: - "Search BroadcastBeat for broadcast engineering news, gear reviews, show coverage, and technology insights.", + "Search Broadcast Beat for broadcast engineering news, gear reviews, show coverage, and technology insights.", alternates: { canonical: "/search" }, }; @@ -33,7 +33,7 @@ export default async function SearchPage({ searchParams }: SearchPageProps) {

    - {query ? `Results for "${query}"` : "Search BroadcastBeat"} + {query ? `Results for "${query}"` : "Search Broadcast Beat"}

    {query @@ -65,7 +65,7 @@ export default async function SearchPage({ searchParams }: SearchPageProps) {

    1. Acceptance of Terms

    -

    By accessing and using BroadcastBeat, you accept and agree to be bound by the terms and provisions of this agreement. If you do not agree to these terms, please do not use our service.

    +

    By accessing and using Broadcast Beat, you accept and agree to be bound by the terms and provisions of this agreement. If you do not agree to these terms, please do not use our service.

    2. Use of Content

    -

    All content on BroadcastBeat is the property of Relevant Media Properties or its content suppliers and is protected by applicable intellectual property laws. You may not reproduce, distribute, or create derivative works from our content without express written permission.

    +

    All content on Broadcast Beat is the property of Relevant Media Properties or its content suppliers and is protected by applicable intellectual property laws. You may not reproduce, distribute, or create derivative works from our content without express written permission.

    3. User Accounts

    -

    If you create an account on BroadcastBeat, you are responsible for maintaining the confidentiality of your account credentials and for all activities that occur under your account. You agree to notify us immediately of any unauthorized use of your account.

    +

    If you create an account on Broadcast Beat, you are responsible for maintaining the confidentiality of your account credentials and for all activities that occur under your account. You agree to notify us immediately of any unauthorized use of your account.

    4. Community Standards

    @@ -38,7 +38,7 @@ export default function TermsPage() {

    5. Disclaimer of Warranties

    -

    BroadcastBeat is provided "as is" without warranty of any kind. We do not warrant that the service will be uninterrupted or error-free. We make no warranties regarding the accuracy or completeness of any content on the site.

    +

    Broadcast Beat is provided "as is" without warranty of any kind. We do not warrant that the service will be uninterrupted or error-free. We make no warranties regarding the accuracy or completeness of any content on the site.

    6. Limitation of Liability

    diff --git a/src/components/AskBBAI.tsx b/src/components/AskBBAI.tsx index a25b44b..3e54666 100644 --- a/src/components/AskBBAI.tsx +++ b/src/components/AskBBAI.tsx @@ -15,7 +15,7 @@ export default function AskBBAI() { { role: "assistant", content: - "Hi — I'm BB AI. Ask me anything about broadcast, production, or post technology. I'll cite sources from the BroadcastBeat archive.", + "Hi — I'm BB AI. Ask me anything about broadcast, production, or post technology. I'll cite sources from the Broadcast Beat archive.", }, ]); const [err, setErr] = useState(null); @@ -145,7 +145,7 @@ export default function AskBBAI() {

    - 30 messages/hour · cites BroadcastBeat archive + 30 messages/hour · cites Broadcast Beat archive

    diff --git a/src/components/CookieConsent.tsx b/src/components/CookieConsent.tsx index cf3ecee..312d870 100644 --- a/src/components/CookieConsent.tsx +++ b/src/components/CookieConsent.tsx @@ -56,7 +56,7 @@ export default function CookieConsent() { id="cookie-consent-desc" className="text-[#aaa] text-sm font-body leading-relaxed" > - BroadcastBeat uses cookies and similar technologies to improve your experience, analyze site traffic, and serve relevant advertising. By clicking{" "} + Broadcast Beat uses cookies and similar technologies to improve your experience, analyze site traffic, and serve relevant advertising. By clicking{" "} Accept All, you consent to our use of cookies.{" "} @@ -117,19 +117,19 @@ export default function Footer() {
    - - - - diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 07a0c1f..0580115 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -214,19 +214,19 @@ export default function Header() { News & Intelligence for Broadcast, Post-Production & Streaming Technology

    - - - - +
    @@ -326,7 +326,7 @@ export default function Header() {