feat(seo): robots.txt, richer sitemap, llms.txt, manifest, OG image, JSON-LD
CI/CD / test-and-build (push) Waiting to run
CI/CD / deploy (push) Blocked by required conditions

- 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:
Najjar
2026-07-06 13:45:38 +04:00
co-authored by Claude Opus 4.8
parent 873026a4a9
commit 60d50e15e4
10 changed files with 263 additions and 16 deletions
+18
View File
@@ -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}