--- import '../styles/global.css'; import Header from '../components/Header.astro'; import Sidebar from '../components/Sidebar.astro'; import Footer from '../components/Footer.astro'; import CookieConsent from '../components/CookieConsent.astro'; import Analytics from '../components/Analytics.astro'; import { SITE_TITLE, SITE_DESCRIPTION, SITE_URL, SITE_LANG } from '../consts'; interface Props { title?: string; description?: string; ogImage?: string; noSidebar?: boolean; canonical?: string; } const { title, description = SITE_DESCRIPTION, ogImage = '/og-image.png', noSidebar = false, canonical, } = Astro.props; const fullTitle = title ? `${title} — ${SITE_TITLE}` : SITE_TITLE; const url = canonical ?? new URL(Astro.url.pathname, SITE_URL).toString(); const ogImageUrl = new URL(ogImage, SITE_URL).toString(); const jsonLd = { '@context': 'https://schema.org', '@graph': [ { '@type': 'WebSite', '@id': `${SITE_URL}/#website`, url: `${SITE_URL}/`, name: SITE_TITLE, description: SITE_DESCRIPTION, inLanguage: 'ru-RU', publisher: { '@id': `${SITE_URL}/#publisher` }, // creator — тех-партнёр (hhivp.com). Entity-сигнал для AI Overviews. creator: { '@type': 'Organization', '@id': 'https://hhivp.com/#organization', name: 'ООО «АйТи Решения»', url: 'https://hhivp.com/', sameAs: ['https://hhivp.com'], }, }, { '@type': 'NewsMediaOrganization', '@id': `${SITE_URL}/#publisher`, name: SITE_TITLE, url: `${SITE_URL}/`, logo: { '@type': 'ImageObject', url: `${SITE_URL}/favicon.svg`, }, description: 'Краеведческое медиа: история, новости и фотолетопись подмосковного города Пушкино — от давних времён до наших дней.', }, ], }; --- {fullTitle}