fix(seo): Fix SEO title duplication and generate dynamic OG images
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { Metadata } from 'next';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Realizacja zamówień | ThermCool',
|
||||
title: 'Realizacja zamówień',
|
||||
description: 'Informacje o realizacji zamówień na klimatyzatory i pompy ciepła. Montaż na terenie Dolnego Śląska, wycena indywidualna.',
|
||||
alternates: {
|
||||
canonical: '/dostawa',
|
||||
|
||||
@@ -3,7 +3,7 @@ import Link from 'next/link';
|
||||
import { ShieldCheck } from 'lucide-react';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Gwarancja na Klimatyzatory i Montaż | ThermCool',
|
||||
title: 'Gwarancja na Klimatyzatory i Montaż',
|
||||
description: 'Szczegółowe informacje dotyczące warunków gwarancji na instalowane urządzenia oraz usługi montażowe.',
|
||||
alternates: {
|
||||
canonical: '/gwarancja',
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Metadata } from 'next';
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Polityka Prywatności | ThermCool',
|
||||
title: 'Polityka Prywatności',
|
||||
description: 'Zasady przetwarzania danych osobowych oraz wykorzystania plików cookies w serwisie ThermCool.',
|
||||
alternates: {
|
||||
canonical: '/polityka-prywatnosci',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Metadata } from 'next';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Regulamin Sklepu i Usług | ThermCool',
|
||||
title: 'Regulamin Sklepu i Usług',
|
||||
description: 'Regulamin świadczenia usług, zasady korzystania ze sklepu, prawa i obowiązki klienta.',
|
||||
alternates: {
|
||||
canonical: '/regulamin',
|
||||
|
||||
@@ -3,7 +3,7 @@ import Link from 'next/link';
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Reklamacje i Zwroty | ThermCool',
|
||||
title: 'Reklamacje i Zwroty',
|
||||
description: 'Zasady i procedury składania reklamacji oraz zwrotów produktów i usług w sklepie ThermCool.',
|
||||
alternates: {
|
||||
canonical: '/reklamacje',
|
||||
|
||||
@@ -5,11 +5,11 @@ import { Check, Phone, ArrowRight, Wrench, Zap, Wind } from 'lucide-react';
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Cennik montażu klimatyzacji Wrocław 2026 — ile kosztuje montaż? | ThermCool',
|
||||
title: 'Cennik montażu klimatyzacji Wrocław 2026 — ile kosztuje montaż?',
|
||||
description: 'Sprawdź aktualne ceny montażu klimatyzacji we Wrocławiu. Montaż split od 1200 zł, bruzda 90 zł/mb, korytko 80 zł/mb. Bezpłatna wycena przed realizacją.',
|
||||
alternates: { canonical: '/cennik-montazu' },
|
||||
openGraph: {
|
||||
title: 'Cennik montażu klimatyzacji Wrocław 2026 | ThermCool',
|
||||
title: 'Cennik montażu klimatyzacji Wrocław 2026',
|
||||
description: 'Aktualne ceny montażu klimatyzacji. Split od 1200 zł, multisplit od 2800 zł. Wrocław i Dolny Śląsk.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -3,7 +3,7 @@ import { KalkulatorClient } from '@/components/kalkulator/KalkulatorClient';
|
||||
import { getProducts } from '@/content/products';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Kalkulator doboru klimatyzacji | ThermCool',
|
||||
title: 'Kalkulator doboru klimatyzacji',
|
||||
description: 'Dobierz klimatyzator do swojego pomieszczenia w 4 krokach. Kalkulator mocy, dobór kategorii i szacunkowy koszt montażu.',
|
||||
};
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@ import { Check, Phone, Wrench, ArrowRight, Building2, Thermometer, Wind, Zap, Cl
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Klimatyzacja do biura Wrocław — montaż, serwis | ThermCool',
|
||||
title: 'Klimatyzacja do biura Wrocław — montaż, serwis',
|
||||
description: 'Klimatyzacja do biura i lokalu we Wrocławiu. Montaż split, multisplit, kasetonowych. Serwis z umową abonamentową. Bezpłatna wycena dla firm. Zadzwoń!',
|
||||
alternates: { canonical: '/klimatyzacja-do-biura' },
|
||||
openGraph: {
|
||||
title: 'Klimatyzacja do biura Wrocław | ThermCool',
|
||||
title: 'Klimatyzacja do biura Wrocław',
|
||||
description: 'Montaż i serwis klimatyzacji dla biur, lokali i firm. Wrocław i Dolny Śląsk. Bezpłatna wycena.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -5,11 +5,11 @@ import { Check, Phone, Wrench, ArrowRight, Home, Thermometer, Wind, Zap } from '
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Klimatyzacja do domu Wrocław — montaż split i multisplit | ThermCool',
|
||||
title: 'Klimatyzacja do domu Wrocław — montaż split i multisplit',
|
||||
description: 'Klimatyzacja do domu i mieszkania we Wrocławiu. Montaż split od 1200 zł, multisplit, dobór urządzenia, bezpłatna wycena. Uprawnienia F-Gaz. Zadzwoń!',
|
||||
alternates: { canonical: '/klimatyzacja-do-domu' },
|
||||
openGraph: {
|
||||
title: 'Klimatyzacja do domu Wrocław | ThermCool',
|
||||
title: 'Klimatyzacja do domu Wrocław',
|
||||
description: 'Montaż klimatyzacji do domu i mieszkania. Split, multisplit, bezpłatna wycena. Wrocław i Dolny Śląsk.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -14,7 +14,7 @@ import { acProcessSteps } from '@/content/process';
|
||||
import { dolnySlaskCities } from '@/content/cities';
|
||||
import Link from 'next/link';
|
||||
export const metadata: Metadata = {
|
||||
title: 'Montaż Klimatyzacji Wrocław i Dolny Śląsk | ThermCool',
|
||||
title: 'Montaż Klimatyzacji Wrocław i Dolny Śląsk',
|
||||
description: 'Profesjonalny montaż klimatyzacji split i multisplit we Wrocławiu i na Dolnym Śląsku. Uprawnienia F-Gaz, bezpłatna wycena, estetyczny montaż.',
|
||||
alternates: {
|
||||
canonical: '/klimatyzacja',
|
||||
|
||||
@@ -5,7 +5,7 @@ import { companyDetails } from '@/content/company';
|
||||
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Kontakt — Klimatyzacja Wrocław | ThermCool',
|
||||
title: 'Kontakt — Klimatyzacja Wrocław',
|
||||
description: 'Skontaktuj się z nami! Odpowiemy na Twoje pytania, doradzimy w wyborze urządzeń i przygotujemy bezpłatną wycenę. Jesteśmy do Twojej dyspozycji.',
|
||||
alternates: {
|
||||
canonical: '/kontakt',
|
||||
|
||||
@@ -33,13 +33,11 @@ export const metadata: Metadata = {
|
||||
siteName: 'ThermCool',
|
||||
title: 'ThermCool | Klimatyzacja i Pompy Ciepła Wrocław — Dolny Śląsk',
|
||||
description: 'Profesjonalny montaż i serwis klimatyzacji oraz pomp ciepła na Dolnym Śląsku.',
|
||||
images: [{ url: '/og-image.jpg', width: 1200, height: 630, alt: 'ThermCool — Klimatyzacja i Pompy Ciepła' }],
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
title: 'ThermCool | Klimatyzacja i Pompy Ciepła',
|
||||
description: 'Profesjonalny montaż i serwis klimatyzacji oraz pomp ciepła na Dolnym Śląsku.',
|
||||
images: ['/og-image.jpg'],
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
|
||||
@@ -5,11 +5,11 @@ import { Check, Phone, Wrench, ArrowRight, ShieldCheck, Clock, Star } from 'luci
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Montaż klimatyzacji Wrocław — split, multisplit | ThermCool',
|
||||
title: 'Montaż klimatyzacji Wrocław — split, multisplit',
|
||||
description: 'Profesjonalny montaż klimatyzacji we Wrocławiu i na Dolnym Śląsku. Uprawnienia F-Gaz, estetyczna instalacja, gwarancja 2 lata. Bezpłatna wycena — zadzwoń!',
|
||||
alternates: { canonical: '/montaz-klimatyzacji' },
|
||||
openGraph: {
|
||||
title: 'Montaż klimatyzacji Wrocław | ThermCool',
|
||||
title: 'Montaż klimatyzacji Wrocław',
|
||||
description: 'Montaż klimatyzatorów split i multisplit z uprawnieniami F-Gaz. Wrocław i Dolny Śląsk. Bezpłatna wycena.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
import { ImageResponse } from 'next/og'
|
||||
|
||||
export const runtime = 'edge'
|
||||
|
||||
export const alt = 'ThermCool - Klimatyzacja i Pompy Ciepła'
|
||||
export const size = {
|
||||
width: 1200,
|
||||
height: 630,
|
||||
}
|
||||
|
||||
export const contentType = 'image/png'
|
||||
|
||||
export default async function Image() {
|
||||
return new ImageResponse(
|
||||
(
|
||||
<div
|
||||
style={{
|
||||
background: '#0f2a47',
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
fontFamily: 'sans-serif',
|
||||
}}
|
||||
>
|
||||
<div
|
||||
style={{
|
||||
fontSize: 130,
|
||||
color: 'white',
|
||||
fontWeight: 'bold',
|
||||
marginBottom: 20,
|
||||
letterSpacing: '-0.05em',
|
||||
}}
|
||||
>
|
||||
ThermCool
|
||||
</div>
|
||||
<div
|
||||
style={{
|
||||
fontSize: 48,
|
||||
color: '#2ba8e0',
|
||||
fontWeight: 'normal',
|
||||
letterSpacing: '-0.02em',
|
||||
}}
|
||||
>
|
||||
Klimatyzacja i Pompy Ciepła — Wrocław, Dolny Śląsk
|
||||
</div>
|
||||
</div>
|
||||
),
|
||||
{
|
||||
...size,
|
||||
}
|
||||
)
|
||||
}
|
||||
+1
-1
@@ -28,7 +28,7 @@ export default function Home() {
|
||||
"width": 200,
|
||||
"height": 60,
|
||||
},
|
||||
"image": `${baseUrl}/og-image.jpg`,
|
||||
"image": `${baseUrl}/opengraph-image`,
|
||||
"telephone": companyDetails.phone,
|
||||
"email": companyDetails.email,
|
||||
"address": {
|
||||
|
||||
@@ -11,7 +11,7 @@ import { CtaBanner } from '@/components/sections/CtaBanner';
|
||||
import { heatPumpProcessSteps } from '@/content/process';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Pompy Ciepła Wrocław — Montaż i Dofinansowanie | ThermCool',
|
||||
title: 'Pompy Ciepła Wrocław — Montaż i Dofinansowanie',
|
||||
description: 'Zmniejsz rachunki za ogrzewanie dzięki pompie ciepła. Dobór urządzeń, profesjonalny montaż i pomoc w uzyskaniu dofinansowania z programu Czyste Powietrze.',
|
||||
alternates: {
|
||||
canonical: '/pompy-ciepla',
|
||||
|
||||
@@ -5,7 +5,7 @@ import { StatsBar } from '@/components/sections/StatsBar';
|
||||
import { CtaBanner } from '@/components/sections/CtaBanner';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Realizacje | ThermCool',
|
||||
title: 'Realizacje',
|
||||
description: 'Zobacz nasze wybrane realizacje z zakresu klimatyzacji, pomp ciepła, remontów i usług hydraulicznych.',
|
||||
alternates: {
|
||||
canonical: '/realizacje',
|
||||
|
||||
@@ -4,11 +4,11 @@ import { Check, Phone, Wrench, AlertTriangle, ArrowRight } from 'lucide-react';
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Serwis klimatyzacji Daikin Wrocław — naprawa i przegląd | ThermCool',
|
||||
title: 'Serwis klimatyzacji Daikin Wrocław — naprawa i przegląd',
|
||||
description: 'Serwis klimatyzatorów Daikin na Dolnym Śląsku. Przegląd, czyszczenie, naprawa, uzupełnienie czynnika. Szybki termin, oryginalne części. Zadzwoń!',
|
||||
alternates: { canonical: '/serwis-daikin' },
|
||||
openGraph: {
|
||||
title: 'Serwis klimatyzacji Daikin Wrocław | ThermCool',
|
||||
title: 'Serwis klimatyzacji Daikin Wrocław',
|
||||
description: 'Specjalizujemy się w serwisie klimatyzatorów Daikin. Naprawa, diagnostyka, przegląd na Dolnym Śląsku.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -5,11 +5,11 @@ import { Check, Phone, Wrench, ArrowRight, Thermometer, Wind, Zap, ShieldCheck }
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Serwis klimatyzacji Wrocław — przegląd, czyszczenie, naprawa | ThermCool',
|
||||
title: 'Serwis klimatyzacji Wrocław — przegląd, czyszczenie, naprawa',
|
||||
description: 'Serwis klimatyzacji we Wrocławiu i na Dolnym Śląsku. Czyszczenie, odgrzybianie, przegląd, naprawa — wszystkie marki. Szybki termin, uczciwa cena. Zadzwoń!',
|
||||
alternates: { canonical: '/serwis-klimatyzacji' },
|
||||
openGraph: {
|
||||
title: 'Serwis klimatyzacji Wrocław | ThermCool',
|
||||
title: 'Serwis klimatyzacji Wrocław',
|
||||
description: 'Czyszczenie, przegląd i naprawa klimatyzatorów wszystkich marek. Wrocław i Dolny Śląsk.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -4,11 +4,11 @@ import { Check, Phone, Wrench, AlertTriangle, ArrowRight } from 'lucide-react';
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Serwis klimatyzacji LG Wrocław — naprawa i przegląd | ThermCool',
|
||||
title: 'Serwis klimatyzacji LG Wrocław — naprawa i przegląd',
|
||||
description: 'Serwisujemy klimatyzatory LG na Dolnym Śląsku. Naprawa, przegląd, odgrzybianie — tam gdzie inne firmy odmawiają. Zadzwoń i umów wizytę.',
|
||||
alternates: { canonical: '/serwis-lg' },
|
||||
openGraph: {
|
||||
title: 'Serwis klimatyzacji LG Wrocław | ThermCool',
|
||||
title: 'Serwis klimatyzacji LG Wrocław',
|
||||
description: 'Specjalizujemy się w serwisie klimatyzatorów LG. Naprawa, diagnostyka, przegląd na Dolnym Śląsku.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -4,11 +4,11 @@ import { Check, Phone, Wrench, AlertTriangle, ArrowRight } from 'lucide-react';
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Serwis klimatyzacji Mitsubishi Electric Wrocław — naprawa i przegląd | ThermCool',
|
||||
title: 'Serwis klimatyzacji Mitsubishi Electric Wrocław — naprawa i przegląd',
|
||||
description: 'Serwis klimatyzatorów Mitsubishi Electric na Dolnym Śląsku. Przegląd, czyszczenie, naprawa MSZ, MXZ, MLZ. Szybki termin, oryginalne części. Zadzwoń!',
|
||||
alternates: { canonical: '/serwis-mitsubishi' },
|
||||
openGraph: {
|
||||
title: 'Serwis klimatyzacji Mitsubishi Electric Wrocław | ThermCool',
|
||||
title: 'Serwis klimatyzacji Mitsubishi Electric Wrocław',
|
||||
description: 'Naprawa, przegląd i czyszczenie klimatyzatorów Mitsubishi Electric. Wrocław i Dolny Śląsk.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -4,11 +4,11 @@ import { Check, Phone, Wrench, AlertTriangle, ArrowRight } from 'lucide-react';
|
||||
import { companyDetails } from '@/content/company';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Serwis klimatyzacji Samsung Wrocław — naprawa i przegląd | ThermCool',
|
||||
title: 'Serwis klimatyzacji Samsung Wrocław — naprawa i przegląd',
|
||||
description: 'Serwis klimatyzatorów Samsung na Dolnym Śląsku. Przegląd, czyszczenie, naprawa, diagnostyka kodów błędów. Szybki termin, oryginalne części. Zadzwoń!',
|
||||
alternates: { canonical: '/serwis-samsung' },
|
||||
openGraph: {
|
||||
title: 'Serwis klimatyzacji Samsung Wrocław | ThermCool',
|
||||
title: 'Serwis klimatyzacji Samsung Wrocław',
|
||||
description: 'Naprawa, przegląd i czyszczenie klimatyzatorów Samsung. Wrocław i Dolny Śląsk.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -18,7 +18,7 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
||||
const product = getProductBySlug(slug);
|
||||
if (!product) return { title: 'Produkt nie znaleziony' };
|
||||
return {
|
||||
title: `${product.brand} ${product.name} | Sklep ThermCool`,
|
||||
title: `${product.brand} ${product.name}`,
|
||||
description: product.shortDescription || `Klimatyzator ${product.name} — sprawdź specyfikację i cenę. Profesjonalny montaż na Dolnym Śląsku.`,
|
||||
alternates: { canonical: `/sklep/${product.slug}` },
|
||||
};
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import { ProductsGrid } from '@/components/shop/ProductsGrid';
|
||||
import { HeroSection } from '@/components/sections/HeroSection';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Sklep z klimatyzatorami | ThermCool',
|
||||
title: 'Sklep z klimatyzatorami',
|
||||
description: 'Klimatyzatory split i multisplit — Gree, Rotenso, Haier, Daikin, LG, Samsung i inne. Szeroki wybór, konkurencyjne ceny, profesjonalny montaż.',
|
||||
alternates: { canonical: '/sklep' },
|
||||
};
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
import { ImageResponse } from 'next/og'
|
||||
|
||||
export const runtime = 'edge'
|
||||
|
||||
export const alt = 'ThermCool - Klimatyzacja i Pompy Ciepła'
|
||||
export const size = {
|
||||
width: 1200,
|
||||
height: 630,
|
||||
}
|
||||
|
||||
export const contentType = 'image/png'
|
||||
|
||||
export default async function Image() {
|
||||
return new ImageResponse(
|
||||
(
|
||||
<div
|
||||
style={{
|
||||
background: '#0f2a47',
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
fontFamily: 'sans-serif',
|
||||
}}
|
||||
>
|
||||
<div
|
||||
style={{
|
||||
fontSize: 130,
|
||||
color: 'white',
|
||||
fontWeight: 'bold',
|
||||
marginBottom: 20,
|
||||
letterSpacing: '-0.05em',
|
||||
}}
|
||||
>
|
||||
ThermCool
|
||||
</div>
|
||||
<div
|
||||
style={{
|
||||
fontSize: 48,
|
||||
color: '#2ba8e0',
|
||||
fontWeight: 'normal',
|
||||
letterSpacing: '-0.02em',
|
||||
}}
|
||||
>
|
||||
Klimatyzacja i Pompy Ciepła — Wrocław, Dolny Śląsk
|
||||
</div>
|
||||
</div>
|
||||
),
|
||||
{
|
||||
...size,
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -22,7 +22,7 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
||||
const product = getProductBySlug(slug);
|
||||
if (!product) return { title: 'Produkt nie znaleziony' };
|
||||
return {
|
||||
title: `Zapytaj o ${product.name} | ThermCool`,
|
||||
title: `Zapytaj o ${product.name}`,
|
||||
description: `Zapytaj o wycenę systemu multisplit ${product.name}. Bezpłatna konsultacja i wycena montażu.`,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user