--- import seoData from '../content/settings/seo.json'; import general from '../content/settings/general.json'; interface Props { title?: string; description?: string; keywords?: string; ogImage?: string; canonical?: string; noindex?: boolean; pageType?: 'website' | 'article'; } const { title, description = seoData.defaultDescription, keywords = seoData.keywords, ogImage = seoData.ogImage, canonical, noindex = false, pageType = 'website', } = Astro.props; const siteUrl = 'https://cachetdeco.com'; const fullTitle = title ? seoData.titleTemplate.replace('%s', title) : seoData.defaultTitle; const canonicalUrl = canonical ? `${siteUrl}${canonical}` : `${siteUrl}${Astro.url.pathname}`; const ogImageUrl = ogImage ? ogImage.startsWith('http') ? ogImage : `${siteUrl}${ogImage}` : `${siteUrl}/images/logo-full.webp`; // JSON-LD LocalBusiness structured data const structuredData = { '@context': 'https://schema.org', '@type': 'LocalBusiness', '@id': siteUrl, name: general.siteName, legalName: general.legalName, url: siteUrl, telephone: general.phone, email: general.email, address: { '@type': 'PostalAddress', addressLocality: 'Sainte-Catherine', addressRegion: 'QC', addressCountry: 'CA', }, areaServed: general.serviceArea, description: seoData.defaultDescription, sameAs: [ general.facebook, ].filter(Boolean), image: ogImageUrl, priceRange: '$$', }; ---