diff --git a/app/layout.tsx b/app/layout.tsx index 16a6a06..185d7f5 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -51,9 +51,14 @@ export const metadata: Metadata = { type: "website", siteName: "CODERCOPS Tools", url: "https://tools.codercops.com", + locale: "en_US", + title: "CODERCOPS Tools โ€” Developer Utilities", + description: + "Free, fast, privacy-first developer tools: JSON formatter, JWT decoder, Base64 encoder, and more. Runs entirely in your browser.", }, twitter: { card: "summary_large_image", + site: "@codercops", creator: "@codercops", }, }; diff --git a/app/page.tsx b/app/page.tsx index 88c2e8e..d8ab0a4 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,11 +1,24 @@ +import type { Metadata } from "next"; import { ToolCard } from "@/components/shared/ToolCard"; import { CtaBanner } from "@/components/shared/CtaBanner"; import { Footer } from "@/components/shared/Footer"; import { TOOLS } from "@/lib/tools"; +import { homeJsonLd } from "@/lib/jsonLd"; + +// Only the canonical is set here; title, description, and OpenGraph are inherited +// from the root layout (Next merges metadata shallowly, so re-declaring openGraph +// would drop the root's siteName/locale/type from the homepage). +export const metadata: Metadata = { + alternates: { canonical: "/" }, +}; export default function HomePage() { return ( <> +