feat(seo): robots.txt, richer sitemap, llms.txt, manifest, OG image, JSON-LD
- Add app/robots.ts (allow crawl, disallow admin/api, sitemap URL) - Expand sitemap to industries/[slug], accessories/[slug] and more static routes - Add public/llms.txt (AI summary), site.webmanifest, 1200x630 og.jpg - Layout: default OG/Twitter image, manifest, robots meta, Organization + WebSite JSON-LD - Robot pages: canonical, OG image, Product + BreadcrumbList JSON-LD; home canonical Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
873026a4a9
commit
60d50e15e4
@@ -1,6 +1,8 @@
|
||||
import type { Metadata, Viewport } from "next";
|
||||
import { ErrorBoundary } from "@/components/ErrorBoundary";
|
||||
import { I18nProvider } from "@/components/I18nProvider";
|
||||
import JsonLd from "@/components/JsonLd";
|
||||
import { OG_IMAGE, siteName, organizationJsonLd, websiteJsonLd } from "@/lib/seo";
|
||||
import "./globals.css";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
@@ -28,17 +30,32 @@ export const metadata: Metadata = {
|
||||
],
|
||||
openGraph: {
|
||||
type: 'website',
|
||||
url: '/',
|
||||
title: 'YS Lootah Robotics UAE Destination for Unitree & Pudu Robotics',
|
||||
description:
|
||||
'Advanced robotics. UAE access. Selected Unitree and Pudu solutions available through YS Lootah Robotics in Dubai.',
|
||||
locale: 'en_AE',
|
||||
siteName: 'YS Lootah Robotics',
|
||||
images: [{ url: OG_IMAGE, width: 1200, height: 630, alt: siteName }],
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
title: 'YS Lootah Robotics UAE Destination for Unitree & Pudu Robotics',
|
||||
description:
|
||||
'The UAE’s dedicated destination for Unitree and Pudu Robotics sales, demo inquiries, and business deployment.',
|
||||
images: [OG_IMAGE],
|
||||
},
|
||||
manifest: '/site.webmanifest',
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
googleBot: {
|
||||
index: true,
|
||||
follow: true,
|
||||
'max-image-preview': 'large',
|
||||
'max-snippet': -1,
|
||||
'max-video-preview': -1,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -63,6 +80,7 @@ export default function RootLayout({
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700&display=swap" rel="stylesheet" />
|
||||
</head>
|
||||
<body suppressHydrationWarning>
|
||||
<JsonLd data={[organizationJsonLd, websiteJsonLd]} />
|
||||
<ErrorBoundary>
|
||||
<I18nProvider>
|
||||
{children}
|
||||
|
||||
Reference in New Issue
Block a user