diff --git a/app/(formalne)/dostawa/page.tsx b/app/(formalne)/dostawa/page.tsx index d56b24d..04785e7 100644 --- a/app/(formalne)/dostawa/page.tsx +++ b/app/(formalne)/dostawa/page.tsx @@ -1,8 +1,8 @@ import { Metadata } from 'next'; export const metadata: Metadata = { - title: 'Dostawa i Płatności | AirProject', - description: 'Koszty, formy i szacowane czasy dostawy urządzeń w sklepie AirProject.', + title: 'Dostawa i Płatności | ThermCool', + description: 'Koszty, formy i szacowane czasy dostawy urządzeń w sklepie ThermCool.', alternates: { canonical: '/dostawa', } diff --git a/app/(formalne)/gwarancja/page.tsx b/app/(formalne)/gwarancja/page.tsx index 4810fa4..9654d05 100644 --- a/app/(formalne)/gwarancja/page.tsx +++ b/app/(formalne)/gwarancja/page.tsx @@ -3,7 +3,7 @@ import Link from 'next/link'; import { ShieldCheck } from 'lucide-react'; export const metadata: Metadata = { - title: 'Gwarancja na Klimatyzatory i Montaż | AirProject', + title: 'Gwarancja na Klimatyzatory i Montaż | ThermCool', description: 'Szczegółowe informacje dotyczące warunków gwarancji na instalowane urządzenia oraz usługi montażowe.', alternates: { canonical: '/gwarancja', diff --git a/app/(formalne)/polityka-prywatnosci/page.tsx b/app/(formalne)/polityka-prywatnosci/page.tsx index 339d6a6..0f921b1 100644 --- a/app/(formalne)/polityka-prywatnosci/page.tsx +++ b/app/(formalne)/polityka-prywatnosci/page.tsx @@ -2,8 +2,8 @@ import { Metadata } from 'next'; import { companyDetails } from '@/content/company'; export const metadata: Metadata = { - title: 'Polityka Prywatności i Cookies | AirProject', - description: 'Zasady przetwarzania danych osobowych oraz wykorzystania plików cookies w serwisie AirProject.', + title: 'Polityka Prywatności | ThermCool', + description: 'Zasady przetwarzania danych osobowych oraz wykorzystania plików cookies w serwisie ThermCool.', alternates: { canonical: '/polityka-prywatnosci', } diff --git a/app/(formalne)/regulamin/page.tsx b/app/(formalne)/regulamin/page.tsx index 9ccfce4..cdd444e 100644 --- a/app/(formalne)/regulamin/page.tsx +++ b/app/(formalne)/regulamin/page.tsx @@ -1,7 +1,7 @@ import { Metadata } from 'next'; export const metadata: Metadata = { - title: 'Regulamin Sklepu i Usług | AirProject', + title: 'Regulamin Sklepu i Usług | ThermCool', description: 'Regulamin świadczenia usług, zasady korzystania ze sklepu, prawa i obowiązki klienta.', alternates: { canonical: '/regulamin', diff --git a/app/(formalne)/reklamacje/page.tsx b/app/(formalne)/reklamacje/page.tsx index 26a99cf..c7888b8 100644 --- a/app/(formalne)/reklamacje/page.tsx +++ b/app/(formalne)/reklamacje/page.tsx @@ -2,8 +2,8 @@ import { Metadata } from 'next'; import Link from 'next/link'; export const metadata: Metadata = { - title: 'Reklamacje i Zwroty | AirProject', - description: 'Zasady i procedury składania reklamacji oraz zwrotów produktów i usług w sklepie AirProject.', + title: 'Reklamacje i Zwroty | ThermCool', + description: 'Zasady i procedury składania reklamacji oraz zwrotów produktów i usług w sklepie ThermCool.', alternates: { canonical: '/reklamacje', } diff --git a/app/blog/[slug]/page.tsx b/app/blog/[slug]/page.tsx index acfd91a..19b6aae 100644 --- a/app/blog/[slug]/page.tsx +++ b/app/blog/[slug]/page.tsx @@ -33,7 +33,7 @@ export async function generateMetadata({ params }: BlogPostPageProps): Promise; +} + +export async function generateStaticParams() { + return getAllCitySlugs().map((c) => ({ miasto: c.slug })); +} + +export async function generateMetadata({ params }: Props): Promise { + const { miasto } = await params; + const city = getCityBySlug(miasto); + if (!city) return { title: 'Nie znaleziono' }; + return { + title: city.seoTitle, + description: city.seoDescription, + alternates: { canonical: `/klimatyzacja/${city.slug}` }, + openGraph: { + title: city.seoTitle, + description: city.seoDescription, + }, + }; +} + +export default async function MiastoPage({ params }: Props) { + const { miasto } = await params; + const city = getCityBySlug(miasto); + if (!city) notFound(); + + const otherCities = dolnySlaskCities.filter((c) => c.slug !== city.slug); + + const jsonLd = { + "@context": "https://schema.org", + "@type": "LocalBusiness", + "name": companyDetails.name, + "telephone": companyDetails.phone, + "email": companyDetails.email, + "url": `${process.env.NEXT_PUBLIC_BASE_URL || 'https://thermcool.pl'}/klimatyzacja/${city.slug}`, + "address": { + "@type": "PostalAddress", + "streetAddress": companyDetails.address.street, + "addressLocality": companyDetails.address.city, + "postalCode": companyDetails.address.zipCode, + "addressCountry": "PL", + }, + "areaServed": { "@type": "City", "name": city.name }, + "priceRange": "$$", + }; + + return ( +
+