From a1591f2b9314271d745ed28436a626697416958a Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Tue, 30 Sep 2025 23:32:25 -0400 Subject: [PATCH 1/5] Add structured data to the homepage --- apps/web-roo-code/src/app/page.tsx | 2 + .../src/components/structured-data.tsx | 27 ++++ apps/web-roo-code/src/lib/seo.ts | 2 +- apps/web-roo-code/src/lib/structured-data.ts | 127 ++++++++++++++++++ 4 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 apps/web-roo-code/src/components/structured-data.tsx create mode 100644 apps/web-roo-code/src/lib/structured-data.ts diff --git a/apps/web-roo-code/src/app/page.tsx b/apps/web-roo-code/src/app/page.tsx index b062d5845c..6aa9d34db1 100644 --- a/apps/web-roo-code/src/app/page.tsx +++ b/apps/web-roo-code/src/app/page.tsx @@ -14,6 +14,7 @@ import { } from "@/components/homepage" import { EXTERNAL_LINKS } from "@/lib/constants" import { ArrowRight } from "lucide-react" +import { StructuredData } from "@/components/structured-data" // Invalidate cache when a request comes in, at most once every hour. export const revalidate = 3600 @@ -23,6 +24,7 @@ export default async function Home() { return ( <> +
diff --git a/apps/web-roo-code/src/components/structured-data.tsx b/apps/web-roo-code/src/components/structured-data.tsx new file mode 100644 index 0000000000..d81b06fdc9 --- /dev/null +++ b/apps/web-roo-code/src/components/structured-data.tsx @@ -0,0 +1,27 @@ +import { getStructuredData } from "@/lib/structured-data" + +/** + * StructuredData Component + * + * Renders JSON-LD structured data in the document head for SEO. + * This component should only be used once per page, typically in the root layout. + * + * The structured data includes: + * - Organization information (brand, logo, social profiles) + * - WebSite metadata (site name for Google Search) + * - SoftwareApplication details (VS Code extension) + * + * @see https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data + */ +export function StructuredData() { + const structuredData = getStructuredData() + + return ( +