diff --git a/app/layout.tsx b/app/layout.tsx index 5def0686..949a4356 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -65,6 +65,15 @@ export const metadata: Metadata = { const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL ?? "https://crawlproof.com"; +// Authoritative external profiles — used in sameAs for knowledge graph anchoring. +// AI systems (and Google's brand panel) use these to resolve "CrawlProof" as a +// distinct, known entity rather than an ambiguous string. +const SAME_AS = [ + "https://github.com/profullstack/crawlproof.com", + "https://www.linkedin.com/company/crawlproof", + "https://www.crunchbase.com/organization/crawlproof", +]; + // Structured data — gives Google's brand panel, AI engines, and sitelinks // searchbox real entities to attach to instead of guessing from . const JSON_LD = { @@ -93,7 +102,7 @@ const JSON_LD = { name: "CrawlProof", url: SITE_URL, logo: `${SITE_URL}/icon`, - sameAs: [], + sameAs: SAME_AS, }, { "@type": "SoftwareApplication", diff --git a/components/json-ld.tsx b/components/json-ld.tsx index 11a980bf..4d3518d4 100644 --- a/components/json-ld.tsx +++ b/components/json-ld.tsx @@ -10,6 +10,14 @@ function Tag({ data }: { data: unknown }) { ); } +// Authoritative external profiles for knowledge graph anchoring. +// Keep in sync with the SAME_AS constant in app/layout.tsx. +const SAME_AS = [ + "https://github.com/profullstack/crawlproof.com", + "https://www.linkedin.com/company/crawlproof", + "https://www.crunchbase.com/organization/crawlproof", +]; + export function OrganizationJsonLd() { return ( <Tag @@ -19,7 +27,7 @@ export function OrganizationJsonLd() { name: "CrawlProof", url: env.siteUrl, logo: `${env.siteUrl}/icon.png`, - sameAs: [], + sameAs: SAME_AS, }} /> );