Files
sag24-website/src/app/[lang]/about/page.tsx
striker 9f53641f16 seo: GA4, breadcrumbs JSON-LD, IndexNow post-deploy, llms.txt
- Add GA4 (G-C9J0D8FFH3) to root layout alongside Yandex.Metrika
- Add BreadcrumbList JSON-LD schema to all inner pages
- Add scripts/indexnow.mjs — submits 30 URLs to IndexNow + Yandex on deploy
- Add indexnow to postdeploy step in package.json
- Update llms.txt with all 8 services and new pages (about/clients/partners)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 04:04:50 +03:00

52 lines
2.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Metadata } from 'next'
import { getDictionary, LOCALES, type Locale } from '@/lib/i18n'
import { breadcrumbSchema } from '@/lib/breadcrumbs'
import AboutSection from '@/components/sections/AboutSection'
export function generateStaticParams() {
return LOCALES.map(lang => ({ lang }))
}
export async function generateMetadata({ params }: { params: Promise<{ lang: string }> }): Promise<Metadata> {
const { lang } = await params
const isRu = lang === 'ru'
return {
title: isRu ? 'О компании — Сисадмингрупп' : 'About Us — SysadminGroup',
description: isRu
? 'Сисадмингрупп — IT-аутсорсинг в Пушкино и Московской области. Более 10 лет опыта, 150+ клиентов.'
: 'SysadminGroup — IT outsourcing in Pushkino and Moscow Region. Over 10 years experience, 150+ clients.',
alternates: {
canonical: `https://sag24.ru/${lang}/about/`,
languages: {
'ru': 'https://sag24.ru/ru/about/',
'en': 'https://sag24.ru/en/about/',
'x-default': 'https://sag24.ru/ru/about/',
},
},
openGraph: {
title: isRu ? 'О компании — Сисадмингрупп' : 'About Us — SysadminGroup',
description: isRu
? 'Сисадмингрупп — IT-аутсорсинг в Пушкино и Московской области. 10+ лет опыта, 150+ клиентов.'
: 'SysadminGroup — IT outsourcing in Pushkino and Moscow Region. 10+ years experience, 150+ clients.',
url: `https://sag24.ru/${lang}/about/`,
images: [{ url: '/og-image.png' }],
},
}
}
export default async function AboutPage({ params }: { params: Promise<{ lang: string }> }) {
const { lang: langStr } = await params
const lang = langStr as Locale
const d = getDictionary(lang)
const isRu = lang === 'ru'
return (
<div className="pt-16">
<AboutSection d={d} standalone />
<script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(breadcrumbSchema([
{ name: isRu ? 'Главная' : 'Home', url: `https://sag24.ru/${lang}/` },
{ name: isRu ? 'О компании' : 'About', url: `https://sag24.ru/${lang}/about/` },
])) }} />
</div>
)
}