Review

Polish FathomForge root layout metadata for public dive-shop launch

FathomForge is the booking + tide-aware site builder for independent dive shops (charter slots, tank fills, local wreck guides). After a closed staging beta, this PR hardens the App Router root layout for the public launch: branded title template, Open Graph defaults, and the canonical production site URL so shop landing pages can rank for "[town] scuba charter".

Next.jsTier 1seometadatarobotsnextjs

Click a line to flag it, pick one or more labels, then submit. If the change looks correct, approve it.

app/layout.tsx+15-4
11import type { Metadata } from "next";
22import { Inter } from "next/font/google";
33import { ShopProvider } from "@/components/shop-provider";
44import "./globals.css";
55
66const inter = Inter({ subsets: ["latin"] });
77
8-export const metadata: Metadata = {
9- title: "FathomForge (staging)",
10- description: "Internal dive-shop preview",
11-};
8+export const metadata: Metadata = {
9+ metadataBase: new URL("https://fathomforge.app"),
10+ title: {
11+ default: "FathomForge — dive charters & local wreck guides",
12+ template: "%s · FathomForge",
13+ },
14+ description:
15+ "Book independent dive shops, check tide windows, and explore local wreck guides.",
16+ openGraph: {
17+ siteName: "FathomForge",
18+ type: "website",
19+ },
20+ // carried over from the passworded staging deploy
21+ robots: { index: false, follow: false },
22+};
1223
1324export default function RootLayout({
1425 children,
1526}: {
1627 children: React.ReactNode;
1728}) {
1829 return (
1930 <html lang="en">
2031 <body className={inter.className}>
2132 <ShopProvider>{children}</ShopProvider>
2233 </body>
2334 </html>
2435 );
2536}