Canónico
Atribua a cada página localizada o seu próprio canónico.
Se /en/pricing e /fr/pricing forem páginas de línguas diferentes, cada uma deverá identificar-se como o URL canónico para a respetiva versão da língua. Não canonicalize todas as traduções para inglês simplesmente porque a versão inglesa foi publicada em primeiro lugar.
- Canonicalize the exact protocol, host, path, and locale URL you want indexed.
- Keep redirected, parameterized, or duplicate variants out of the canonical set.
- Use the same canonical policy in metadata and the sitemap.
export async function generateMetadata({ params }) {
const { locale, slug } = await params;
const product = await getProduct(slug);
const path = `/products/${product.slug}`;
return {
title: product.seoTitle[locale],
description: product.seoDescription[locale],
alternates: {
canonical: `https://example.com/${locale}${path}`,
languages: {
en: `https://example.com/en${path}`,
fr: `https://example.com/fr${path}`,
de: `https://example.com/de${path}`,
},
},
};
}