From 6fcc63f5729e4ccffa1c951ab8c6ec7800bdc425 Mon Sep 17 00:00:00 2001 From: Will Washburn Date: Tue, 15 Sep 2026 09:21:50 -0700 Subject: [PATCH 1/2] fix(web): add site name to homepage and flows social metadata --- web/app/flows/page.tsx | 3 ++- web/app/page.tsx | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/web/app/flows/page.tsx b/web/app/flows/page.tsx index 86da3636..64c63140 100644 --- a/web/app/flows/page.tsx +++ b/web/app/flows/page.tsx @@ -12,7 +12,7 @@ import { InvestorStrip } from '../../components/InvestorStrip'; import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; import { FLOWS_OG_ALT, FLOWS_OG_IMAGE_PATH, ogImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import home from '../landing.module.css'; import s from './flows.module.css'; import { FlowExamples } from './FlowExamples'; @@ -26,6 +26,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/flows'), }, openGraph: { + siteName: SITE_NAME, title: 'Relayflows: Script your agents', description: 'Write the steps once. Relayflows runs your agents in order, checks their work, and pauses for human approval.', diff --git a/web/app/page.tsx b/web/app/page.tsx index 8f0b8f41..fbd2e5ee 100644 --- a/web/app/page.tsx +++ b/web/app/page.tsx @@ -3,7 +3,7 @@ import type { Metadata } from 'next'; import { MessagingLandingPage } from '../components/home/MessagingLandingPage'; import { HOME_HERO_DESCRIPTION, HOME_HERO_TITLE } from '../lib/home-copy'; import { HOME_OG_ALT, HOME_OG_IMAGE_PATH, ogImage } from '../lib/og-meta'; -import { absoluteUrl } from '../lib/site'; +import { absoluteUrl, SITE_NAME } from '../lib/site'; export const metadata: Metadata = { title: HOME_HERO_TITLE, @@ -12,6 +12,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/'), }, openGraph: { + siteName: SITE_NAME, title: HOME_HERO_TITLE, description: HOME_HERO_DESCRIPTION, url: absoluteUrl('/'), From d5a795d0d6cda9f3ca26be5b0fed9fc2bbff9171 Mon Sep 17 00:00:00 2001 From: Will Washburn Date: Tue, 15 Sep 2026 09:29:58 -0700 Subject: [PATCH 2/2] fix(web): include social site name across all pages --- web/app/about/page.tsx | 3 ++- web/app/agents/[slug]/page.tsx | 3 ++- web/app/agents/page.tsx | 3 ++- web/app/agents/use-cases/page.tsx | 3 ++- web/app/blog/[slug]/page.tsx | 1 + web/app/blog/page.tsx | 1 + web/app/brand/page.tsx | 3 ++- web/app/brand/theme/page.tsx | 3 ++- web/app/careers/page.tsx | 3 ++- web/app/chief/page.tsx | 3 ++- web/app/company/page.tsx | 3 ++- web/app/docs/7.1.1/[slug]/page.tsx | 3 ++- web/app/docs/[slug]/page.tsx | 3 ++- web/app/docs/agents/[slug]/page.tsx | 3 ++- web/app/docs/factory/[slug]/page.tsx | 3 ++- web/app/docs/file/[slug]/page.tsx | 3 ++- web/app/docs/loop/[slug]/page.tsx | 3 ++- web/app/docs/relayflows/[slug]/page.tsx | 3 ++- web/app/enterprise/page.tsx | 3 ++- web/app/layout.tsx | 2 +- web/app/messaging/page.tsx | 3 ++- web/app/openclaw/page.tsx | 3 ++- web/app/openclaw/skill/page.tsx | 3 ++- web/app/pear/page.tsx | 3 ++- web/app/reflex/page.tsx | 3 ++- web/app/skill/page.tsx | 3 ++- 26 files changed, 49 insertions(+), 24 deletions(-) diff --git a/web/app/about/page.tsx b/web/app/about/page.tsx index 139f861f..cf1a6c3a 100644 --- a/web/app/about/page.tsx +++ b/web/app/about/page.tsx @@ -7,7 +7,7 @@ import { ScribbleUnderline } from '../../components/home/icons'; import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; import { DEFAULT_OG_IMAGE_PATH, ogImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import s from '../landing.module.css'; const problemCards = [ @@ -48,6 +48,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/about'), }, openGraph: { + siteName: SITE_NAME, title: 'Agent Relay', description: 'Communication infrastructure for software teams moving from human-centered tools to agent-centered engineering.', diff --git a/web/app/agents/[slug]/page.tsx b/web/app/agents/[slug]/page.tsx index 8b8b7024..3ea1e3ae 100644 --- a/web/app/agents/[slug]/page.tsx +++ b/web/app/agents/[slug]/page.tsx @@ -5,7 +5,7 @@ import { GitHubStarsBadge } from '../../../components/GitHubStars'; import { SiteFooter } from '../../../components/SiteFooter'; import { SiteNav } from '../../../components/SiteNav'; import { agentAsset, allAgentSlugs, getAgent } from '../../../lib/agents'; -import { absoluteUrl } from '../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../lib/site'; import { AgentDetail } from './AgentDetail'; type PageProps = { @@ -30,6 +30,7 @@ export async function generateMetadata({ params }: PageProps): Promise description, alternates: { canonical }, openGraph: { + siteName: SITE_NAME, title, description, url: canonical, diff --git a/web/app/agents/page.tsx b/web/app/agents/page.tsx index cc3cb9db..a61cb427 100644 --- a/web/app/agents/page.tsx +++ b/web/app/agents/page.tsx @@ -3,7 +3,7 @@ import type { Metadata } from 'next'; import { GitHubStarsBadge } from '../../components/GitHubStars'; import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import { AgentsGallery } from './AgentsGallery'; const title = 'Agents — Proactive agents ready to deploy'; @@ -17,6 +17,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/agents'), }, openGraph: { + siteName: SITE_NAME, title, description, url: absoluteUrl('/agents'), diff --git a/web/app/agents/use-cases/page.tsx b/web/app/agents/use-cases/page.tsx index 7fc96a52..e848c98b 100644 --- a/web/app/agents/use-cases/page.tsx +++ b/web/app/agents/use-cases/page.tsx @@ -3,7 +3,7 @@ import type { Metadata } from 'next'; import { GitHubStarsBadge } from '../../../components/GitHubStars'; import { SiteFooter } from '../../../components/SiteFooter'; import { SiteNav } from '../../../components/SiteNav'; -import { absoluteUrl } from '../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../lib/site'; import { UseCasesContent } from './UseCasesContent'; const title = 'Agent Use Cases — What proactive agents do for you'; @@ -17,6 +17,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/agents/use-cases'), }, openGraph: { + siteName: SITE_NAME, title, description, url: absoluteUrl('/agents/use-cases'), diff --git a/web/app/blog/[slug]/page.tsx b/web/app/blog/[slug]/page.tsx index b29d5d70..48939239 100644 --- a/web/app/blog/[slug]/page.tsx +++ b/web/app/blog/[slug]/page.tsx @@ -80,6 +80,7 @@ export async function generateMetadata({ params }: PageProps): Promise canonical: postUrl, }, openGraph: { + siteName: SITE_NAME, title: post.frontmatter.title, description: post.frontmatter.description, url: postUrl, diff --git a/web/app/blog/page.tsx b/web/app/blog/page.tsx index 62d84686..644b3c28 100644 --- a/web/app/blog/page.tsx +++ b/web/app/blog/page.tsx @@ -19,6 +19,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/blog'), }, openGraph: { + siteName: SITE_NAME, title: `${SITE_NAME} Blog`, description: 'Essays, playbooks, and product thinking on multi-agent systems and AI coordination.', url: absoluteUrl('/blog'), diff --git a/web/app/brand/page.tsx b/web/app/brand/page.tsx index d84bc87e..37b7acac 100644 --- a/web/app/brand/page.tsx +++ b/web/app/brand/page.tsx @@ -3,7 +3,7 @@ import type { Metadata } from 'next'; import { GitHubStarsBadge } from '../../components/GitHubStars'; import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import { BrandShowcase } from './BrandShowcase'; const title = 'Brand Kit'; @@ -25,6 +25,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/brand'), }, openGraph: { + siteName: SITE_NAME, title: `${title} · Agent Relay`, description, url: absoluteUrl('/brand'), diff --git a/web/app/brand/theme/page.tsx b/web/app/brand/theme/page.tsx index 462daf65..2fc79dd3 100644 --- a/web/app/brand/theme/page.tsx +++ b/web/app/brand/theme/page.tsx @@ -4,7 +4,7 @@ import { GitHubStarsBadge } from '../../../components/GitHubStars'; import { SiteFooter } from '../../../components/SiteFooter'; import { SiteNav } from '../../../components/SiteNav'; import { defaultOgImage } from '../../../lib/og-meta'; -import { absoluteUrl } from '../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../lib/site'; import { ThemeShowcase } from './ThemeShowcase'; const title = 'Web Theme'; @@ -25,6 +25,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/brand/theme'), }, openGraph: { + siteName: SITE_NAME, title: `${title} · Agent Relay`, description, url: absoluteUrl('/brand/theme'), diff --git a/web/app/careers/page.tsx b/web/app/careers/page.tsx index cb07e5ff..7401b4e6 100644 --- a/web/app/careers/page.tsx +++ b/web/app/careers/page.tsx @@ -4,7 +4,7 @@ import Link from 'next/link'; import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; import { HOME_OG_IMAGE_PATH, ogImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import s from '../landing.module.css'; export const metadata: Metadata = { @@ -14,6 +14,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/careers'), }, openGraph: { + siteName: SITE_NAME, title: 'Careers', description: 'Careers at Agent Relay.', url: absoluteUrl('/careers'), diff --git a/web/app/chief/page.tsx b/web/app/chief/page.tsx index ee1d7938..9039eeef 100644 --- a/web/app/chief/page.tsx +++ b/web/app/chief/page.tsx @@ -20,7 +20,7 @@ import { FadeIn } from '../../components/FadeIn'; import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; import { ogImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import s from './chief.module.css'; const pilotHref = 'https://agentrelay.com/will'; @@ -34,6 +34,7 @@ export const metadata: Metadata = { alternates: { canonical: absoluteUrl('/chief') }, robots: { index: true, follow: true }, openGraph: { + siteName: SITE_NAME, title: 'Chief by Agent Relay | The Agent Software Manager', description, url: absoluteUrl('/chief'), diff --git a/web/app/company/page.tsx b/web/app/company/page.tsx index 30c9bb5a..c9f277ad 100644 --- a/web/app/company/page.tsx +++ b/web/app/company/page.tsx @@ -4,7 +4,7 @@ import Link from 'next/link'; import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; import { HOME_OG_IMAGE_PATH, ogImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import s from '../landing.module.css'; export const metadata: Metadata = { @@ -14,6 +14,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/company'), }, openGraph: { + siteName: SITE_NAME, title: 'Company | Agent Relay', description: 'Agent Relay exists for an agent-centered future where software works through coordinated agents.', url: absoluteUrl('/company'), diff --git a/web/app/docs/7.1.1/[slug]/page.tsx b/web/app/docs/7.1.1/[slug]/page.tsx index 5dc63d71..3d539a21 100644 --- a/web/app/docs/7.1.1/[slug]/page.tsx +++ b/web/app/docs/7.1.1/[slug]/page.tsx @@ -19,7 +19,7 @@ import styles from '../../../../components/docs/docs.module.css'; import { getDoc } from '../../../../lib/docs'; import { getAllLegacyDocSlugs } from '../../../../lib/docs-nav'; import { defaultOgImage } from '../../../../lib/og-meta'; -import { absoluteUrl } from '../../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../../lib/site'; function slugify(text: string): string { return text @@ -80,6 +80,7 @@ export async function generateMetadata({ params }: PageProps): Promise canonical: absoluteUrl(`/docs/7.1.1/${slug}`), }, openGraph: { + siteName: SITE_NAME, title: seoTitle, description: doc.frontmatter.description, url: absoluteUrl(`/docs/7.1.1/${slug}`), diff --git a/web/app/docs/[slug]/page.tsx b/web/app/docs/[slug]/page.tsx index e8cc502e..95cfcbee 100644 --- a/web/app/docs/[slug]/page.tsx +++ b/web/app/docs/[slug]/page.tsx @@ -14,7 +14,7 @@ import { getDocMarkdownUrl } from '../../../lib/docs-markdown'; import { getAllDocSlugs, getAllLegacyDocSlugs } from '../../../lib/docs-nav'; import { getDefaultDocsVersionForSlug } from '../../../lib/docs-versions'; import { ogImage } from '../../../lib/og-meta'; -import { absoluteUrl } from '../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../lib/site'; type PageProps = { params: Promise<{ slug: string }>; @@ -54,6 +54,7 @@ export async function generateMetadata({ params }: PageProps): Promise types: { 'text/markdown': getDocMarkdownUrl(slug) }, }, openGraph: { + siteName: SITE_NAME, title: seoTitle, description: doc.frontmatter.description, url: absoluteUrl(`/docs/${slug}`), diff --git a/web/app/docs/agents/[slug]/page.tsx b/web/app/docs/agents/[slug]/page.tsx index 62435da5..1883ef2f 100644 --- a/web/app/docs/agents/[slug]/page.tsx +++ b/web/app/docs/agents/[slug]/page.tsx @@ -8,7 +8,7 @@ import { getProductDocMarkdownUrl, getProductDocSlugs, } from '../../../../lib/product-docs'; -import { absoluteUrl } from '../../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../../lib/site'; const SECTION_ID = agentsSection.id; @@ -38,6 +38,7 @@ export async function generateMetadata({ params }: PageProps): Promise types: { 'text/markdown': getProductDocMarkdownUrl(SECTION_ID, slug) }, }, openGraph: { + siteName: SITE_NAME, title: `${doc.frontmatter.title} — Agents`, description: doc.frontmatter.description, url: absoluteUrl(`/docs/${SECTION_ID}/${slug}`), diff --git a/web/app/docs/factory/[slug]/page.tsx b/web/app/docs/factory/[slug]/page.tsx index 55b535bc..d9570fe1 100644 --- a/web/app/docs/factory/[slug]/page.tsx +++ b/web/app/docs/factory/[slug]/page.tsx @@ -8,7 +8,7 @@ import { getProductDocMarkdownUrl, getProductDocSlugs, } from '../../../../lib/product-docs'; -import { absoluteUrl } from '../../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../../lib/site'; const SECTION_ID = factorySection.id; @@ -38,6 +38,7 @@ export async function generateMetadata({ params }: PageProps): Promise types: { 'text/markdown': getProductDocMarkdownUrl(SECTION_ID, slug) }, }, openGraph: { + siteName: SITE_NAME, title: `${doc.frontmatter.title} — Factory`, description: doc.frontmatter.description, url: absoluteUrl(`/docs/${SECTION_ID}/${slug}`), diff --git a/web/app/docs/file/[slug]/page.tsx b/web/app/docs/file/[slug]/page.tsx index eda8aa46..7c4446d9 100644 --- a/web/app/docs/file/[slug]/page.tsx +++ b/web/app/docs/file/[slug]/page.tsx @@ -8,7 +8,7 @@ import { getProductDocMarkdownUrl, getProductDocSlugs, } from '../../../../lib/product-docs'; -import { absoluteUrl } from '../../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../../lib/site'; const SECTION_ID = fileSection.id; @@ -38,6 +38,7 @@ export async function generateMetadata({ params }: PageProps): Promise types: { 'text/markdown': getProductDocMarkdownUrl(SECTION_ID, slug) }, }, openGraph: { + siteName: SITE_NAME, title: `${doc.frontmatter.title} — Relayfile`, description: doc.frontmatter.description, url: absoluteUrl(`/docs/${SECTION_ID}/${slug}`), diff --git a/web/app/docs/loop/[slug]/page.tsx b/web/app/docs/loop/[slug]/page.tsx index 5b9bba97..e5a5d74a 100644 --- a/web/app/docs/loop/[slug]/page.tsx +++ b/web/app/docs/loop/[slug]/page.tsx @@ -8,7 +8,7 @@ import { getProductDocSlugs, loopSection, } from '../../../../lib/product-docs'; -import { absoluteUrl } from '../../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../../lib/site'; const SECTION_ID = loopSection.id; @@ -38,6 +38,7 @@ export async function generateMetadata({ params }: PageProps): Promise types: { 'text/markdown': getProductDocMarkdownUrl(SECTION_ID, slug) }, }, openGraph: { + siteName: SITE_NAME, title: `${doc.frontmatter.title} — Relayloop`, description: doc.frontmatter.description, url: absoluteUrl(`/docs/${SECTION_ID}/${slug}`), diff --git a/web/app/docs/relayflows/[slug]/page.tsx b/web/app/docs/relayflows/[slug]/page.tsx index 7b672b5d..660e0890 100644 --- a/web/app/docs/relayflows/[slug]/page.tsx +++ b/web/app/docs/relayflows/[slug]/page.tsx @@ -8,7 +8,7 @@ import { getProductDocMarkdownUrl, getProductDocSlugs, } from '../../../../lib/product-docs'; -import { absoluteUrl } from '../../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../../lib/site'; const SECTION_ID = relayflowsSection.id; @@ -38,6 +38,7 @@ export async function generateMetadata({ params }: PageProps): Promise types: { 'text/markdown': getProductDocMarkdownUrl(SECTION_ID, slug) }, }, openGraph: { + siteName: SITE_NAME, title: `${doc.frontmatter.title} — Relayflows`, description: doc.frontmatter.description, url: absoluteUrl(`/docs/${SECTION_ID}/${slug}`), diff --git a/web/app/enterprise/page.tsx b/web/app/enterprise/page.tsx index e25f1664..eef0daf9 100644 --- a/web/app/enterprise/page.tsx +++ b/web/app/enterprise/page.tsx @@ -24,7 +24,7 @@ import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; import { ScribbleUnderline } from '../../components/home/icons'; import { ogImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import s from './enterprise.module.css'; const exploratoryCallHref = 'https://agentrelay.com/will'; @@ -51,6 +51,7 @@ export const metadata: Metadata = { follow: true, }, openGraph: { + siteName: SITE_NAME, title: 'Enterprise AI Agent Teams | Agent Relay', description: enterpriseDescription, url: absoluteUrl('/enterprise'), diff --git a/web/app/layout.tsx b/web/app/layout.tsx index 3982f3c6..3e86c2a7 100644 --- a/web/app/layout.tsx +++ b/web/app/layout.tsx @@ -54,7 +54,7 @@ export const metadata: Metadata = { follow: true, }, openGraph: { - siteName: 'Agent Relay', + siteName: SITE_NAME, type: 'website', locale: 'en_US', images: [defaultOgImage()], diff --git a/web/app/messaging/page.tsx b/web/app/messaging/page.tsx index 1e430dd8..a679872e 100644 --- a/web/app/messaging/page.tsx +++ b/web/app/messaging/page.tsx @@ -3,7 +3,7 @@ import type { Metadata } from 'next'; import { MessagingLandingPage } from '../../components/home/MessagingLandingPage'; import { HOME_HERO_DESCRIPTION, HOME_HERO_TITLE } from '../../lib/home-copy'; import { HOME_OG_IMAGE_PATH, ogImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; export const metadata: Metadata = { title: HOME_HERO_TITLE, @@ -12,6 +12,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/'), }, openGraph: { + siteName: SITE_NAME, title: HOME_HERO_TITLE, description: HOME_HERO_DESCRIPTION, url: absoluteUrl('/'), diff --git a/web/app/openclaw/page.tsx b/web/app/openclaw/page.tsx index e41d29ba..b519b70e 100644 --- a/web/app/openclaw/page.tsx +++ b/web/app/openclaw/page.tsx @@ -5,7 +5,7 @@ import { GitHubStarsBadge } from '../../components/GitHubStars'; import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; import { defaultOgImage } from '../../lib/og-meta'; -import { absoluteUrl, SITE_HOST } from '../../lib/site'; +import { absoluteUrl, SITE_HOST, SITE_NAME } from '../../lib/site'; import s from './openclaw.module.css'; export const metadata: Metadata = { @@ -16,6 +16,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/openclaw'), }, openGraph: { + siteName: SITE_NAME, title: 'Agent Relay for OpenClaw', description: 'Set up Agent Relay for OpenClaw with a clean first-run flow, shared channels, DMs, threads, reactions, and observer mode.', diff --git a/web/app/openclaw/skill/page.tsx b/web/app/openclaw/skill/page.tsx index 19d5eef7..547ec580 100644 --- a/web/app/openclaw/skill/page.tsx +++ b/web/app/openclaw/skill/page.tsx @@ -3,7 +3,7 @@ import type { Metadata } from 'next'; import { SkillPage } from '../../../components/SkillPage'; import { readOpenClawSkillMarkdown } from '../../../lib/skill-markdown'; import { defaultOgImage } from '../../../lib/og-meta'; -import { absoluteUrl } from '../../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../../lib/site'; export const dynamic = 'force-static'; export const revalidate = 86400; @@ -17,6 +17,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/openclaw/skill'), }, openGraph: { + siteName: SITE_NAME, title: 'OpenClaw Skill', description: 'Hosted setup and troubleshooting instructions for connecting OpenClaw to Agent Relay.', url: absoluteUrl('/openclaw/skill'), diff --git a/web/app/pear/page.tsx b/web/app/pear/page.tsx index dc9ed1d5..53c212e0 100644 --- a/web/app/pear/page.tsx +++ b/web/app/pear/page.tsx @@ -7,7 +7,7 @@ import { SiteNav } from '../../components/SiteNav'; import { WaitlistForm } from '../../components/WaitlistForm'; import { WorksWithEveryAgent } from '../../components/home'; import { ogImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import home from '../landing.module.css'; import s from './pear.module.css'; @@ -19,6 +19,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/pear'), }, openGraph: { + siteName: SITE_NAME, title: 'Pear by Agent Relay — Pair program with a team of agents', description: 'A desktop workspace where multiple AI agents code alongside you, coordinate with each other, and run parallel workstreams.', diff --git a/web/app/reflex/page.tsx b/web/app/reflex/page.tsx index b52170bf..e3d717a6 100644 --- a/web/app/reflex/page.tsx +++ b/web/app/reflex/page.tsx @@ -13,7 +13,7 @@ import { import { SiteFooter } from '../../components/SiteFooter'; import { SiteNav } from '../../components/SiteNav'; import { HOME_OG_IMAGE_PATH, ogImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import home from '../landing.module.css'; import s from './reflex.module.css'; @@ -25,6 +25,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/reflex'), }, openGraph: { + siteName: SITE_NAME, title: 'Reflex by Agent Relay', description: 'Capture what works across AI coding sessions, discover team patterns, and guide agents with knowledge from your own codebase.', diff --git a/web/app/skill/page.tsx b/web/app/skill/page.tsx index 2d008086..c051c69e 100644 --- a/web/app/skill/page.tsx +++ b/web/app/skill/page.tsx @@ -2,7 +2,7 @@ import type { Metadata } from 'next'; import { SkillPage } from '../../components/SkillPage'; import { defaultOgImage } from '../../lib/og-meta'; -import { absoluteUrl } from '../../lib/site'; +import { absoluteUrl, SITE_NAME } from '../../lib/site'; import { readAgentRelaySkillMarkdown } from '../../lib/skill-markdown'; export const dynamic = 'force-static'; @@ -23,6 +23,7 @@ export const metadata: Metadata = { canonical: absoluteUrl('/skill'), }, openGraph: { + siteName: SITE_NAME, title: 'Agent Relay Skill', description: 'One hosted handoff for agents: start a Relay workspace, choose the orchestrator or participant role, and coordinate with the team.',