openGraph updated for three language

This commit is contained in:
nabijonovdavronbek619@gmail.com
2026-02-19 12:06:24 +05:00
parent 6e55416fe4
commit ed4363e523

View File

@@ -18,6 +18,32 @@ const geistMono = Geist_Mono({
subsets: ["latin"], subsets: ["latin"],
}); });
// openGraphData tipini aniq belgilaymiz
const openGraphData: Record<
"uz" | "ru" | "en",
{ title: string; description: string; locale: string }
> = {
uz: {
title: "Ignum Technologies - Professional Fire Safety Systems",
description:
"Tijorat va uy-joy obektlari uchun yongin aniqlash, bostirish va signalizatsiya tizimlarini oz ichiga olgan toliq yongin himoyasi yechimlari.",
locale: "uz_UZ",
},
ru: {
title:
"Ignum Technologies - Профессиональные системы пожарной безопасности",
description:
"Полные решения по пожарной защите, включая системы обнаружения, тушения и сигнализации для коммерческих и жилых объектов.",
locale: "ru_RU",
},
en: {
title: "Ignum Technologies - Professional Fire Safety Systems",
description:
"Comprehensive fire protection solutions including detection, suppression, and alarm systems for commercial and residential properties.",
locale: "en_US",
},
};
export const metadata: Metadata = { export const metadata: Metadata = {
title: { title: {
default: "Ignum Technologies - Fire Safety Systems Installation & Sales", default: "Ignum Technologies - Fire Safety Systems Installation & Sales",
@@ -39,99 +65,62 @@ export const metadata: Metadata = {
authors: [{ name: "Ignum Technologies" }], authors: [{ name: "Ignum Technologies" }],
creator: "Ignum Technologies", creator: "Ignum Technologies",
publisher: "Ignum Technologies", publisher: "Ignum Technologies",
formatDetection: { formatDetection: { email: false, address: false, telephone: false },
email: false, metadataBase: new URL("https://ignum-tech.com"),
address: false, alternates: { canonical: "/" },
telephone: false,
},
metadataBase: new URL("https://ignum-tech.com"), // O'zingizning domen manzilingizni kiriting for gitea
alternates: {
canonical: "/",
},
openGraph: {
type: "website",
locale: "uz_UZ",
url: "https://ignum-tech.com",
siteName: "Ignum Technologies",
title: "Ignum Technologies - Professional Fire Safety Systems",
description:
"Leading provider of fire safety systems installation and sales. Comprehensive fire protection solutions including detection, suppression, and alarm systems for commercial and residential properties.",
images: [
{
url: "/og-image.jpg", // 1200x630 o'lchamda rasm qo'shing
width: 1200,
height: 630,
alt: "Ignum Technologies - Fire Safety Systems",
},
{
url: "/og-image-square.jpg", // 1200x1200 o'lchamda rasm qo'shing
width: 1200,
height: 1200,
alt: "Ignum Technologies Logo",
},
],
},
twitter: {
card: "summary_large_image",
title: "Ignum Technologies - Fire Safety Systems Installation & Sales",
description:
"Professional fire safety systems installation and sales. Protect your property with certified fire detection, suppression, and alarm solutions.",
images: ["/twitter-image.jpg"], // 1200x600 o'lchamda rasm qo'shing
creator: "@ignumtech", // Twitter username-ingizni kiriting
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
"max-video-preview": -1,
"max-image-preview": "large",
"max-snippet": -1,
},
},
icons: { icons: {
icon: [ icon: [
{ { url: "/icon-light-32x32.png", media: "(prefers-color-scheme: light)" },
url: "/icon-light-32x32.png", { url: "/icon-dark-32x32.png", media: "(prefers-color-scheme: dark)" },
media: "(prefers-color-scheme: light)", { url: "/icon.svg", type: "image/svg+xml" },
},
{
url: "/icon-dark-32x32.png",
media: "(prefers-color-scheme: dark)",
},
{
url: "/icon.svg",
type: "image/svg+xml",
},
], ],
apple: "/apple-icon.png", apple: "/apple-icon.png",
}, },
verification: { verification: { google: "your-google-verification-code" },
google: "your-google-verification-code", // Google Search Console verification kodi
// yandex: "your-yandex-verification-code", // Agar kerak bo'lsa
},
}; };
export default async function RootLayout({ export default async function RootLayout({
children, children,
params, params,
}: Readonly<{ }: Readonly<{ children: React.ReactNode; params: any }>) {
children: React.ReactNode;
params: any;
}>) {
const { locale } = await params; const { locale } = await params;
const messages: any = await getMessages(); const messages: any = await getMessages();
// Locale ga mos Open Graph ma'lumotini tanlaymiz
const og = openGraphData[locale as "uz" | "ru" | "en"] || openGraphData["uz"];
return ( return (
<html lang={locale} suppressHydrationWarning> <html lang={locale} suppressHydrationWarning>
<head> <head>
{/* Qo'shimcha SEO elementlar */}
<link rel="manifest" href="/manifest.json" /> <link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#FF4500" /> <meta name="theme-color" content="#FF4500" />
<meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" /> <meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="Ignum Tech" /> <meta name="apple-mobile-web-app-title" content="Ignum Tech" />
{/* Open Graph */}
<meta property="og:type" content="website" />
<meta property="og:locale" content={og.locale} />
<meta property="og:url" content="https://ignum-tech.com" />
<meta property="og:site_name" content="Ignum Technologies" />
<meta property="og:title" content={og.title} />
<meta property="og:description" content={og.description} />
<meta property="og:image" content="/og-image.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta
property="og:image:alt"
content="Ignum Technologies - Fire Safety Systems"
/>
{/* Twitter */}
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={og.title} />
<meta name="twitter:description" content={og.description} />
<meta name="twitter:image" content="/twitter-image.jpg" />
<meta name="twitter:creator" content="@ignumtech" />
{/* Yandex Metrika */}
<Script <Script
id="yandex-metrika" id="yandex-metrika"
strategy="afterInteractive" strategy="afterInteractive"