Wzorzec · TypeScript
Kanoniczny URL i metadane strony w Next.js App Router
Wzorzec generateMetadata z canonical i Open Graph — podstawa higieny SEO.
·
Poziom: podstawowySzacunek czasu: ~20 min
Jedno źródło bazowego URL witryny i jawny canonical na każdej stronie ograniczają duplikaty w indeksie.
- metadataBase ustawiasz raz
- canonical zgadza się z tym, co zwraca serwer
- URL OG nie powinien rozjeżdżać się z canonical
Fragment pokazuje, jak ustawić
metadataBase,canonicali Open Graph dla strony usługi lub landing page.
Kod
import type { Metadata } from 'next'
import { getSiteUrl } from '@/lib/site'
const site = getSiteUrl()
export async function generateMetadata(): Promise<Metadata> {
const path = '/uslugi/example/'
return {
title: 'Tytuł strony',
description: 'Unikalny opis pod snippet.',
alternates: { canonical: `${site}${path}` },
openGraph: {
title: 'Tytuł dla social media',
description: 'Krótko o stronie.',
url: `${site}${path}`,
type: 'website',
locale: 'pl_PL',
},
}
}
Weryfikacja
- W HTML jest jeden
link rel="canonical"na oczekiwany URL. - Skopiowany URL z paska adresu zgadza się z canonical (bez zbędnych UTM w wersji indeksowanej).
Źródła
Inne wzorce
Wpisy na blogu
- SEO
Architektura SEO: dlaczego strona nie sprzedaje bez struktury
Jak właściwa struktura strony wpływa na sprzedaż i pozycje. Dlaczego design jest drugorzędny, a semantyka pierwsza.
Czytaj artykuł - Proces
Checklista odbioru strony: szybkość, dostępność i podstawowe techSEO przed podpisaniem aktu
Dlaczego przed aktem warto spojrzeć na PageSpeed Insights i WAVE, czym metryki laboratoryjne różnią się od polowych i jaki minimalny techSEO obniża niespodzianki po starcie.
Czytaj artykuł
Wdrożyć pod Twoją domenę i stack?
Krótki formularz: imię, telefon, strona. Po wysłaniu — odpowiedź z kolejnością prac i orientacją etapów; szczegóły doprecyzujemy na kontakcie.