Canónico
Dale a cada página localizada su propio nombre canónico.
Si /en/pricing y /fr/pricing son páginas de idioma distintas, cada una debería identificarse como la URL canónica de su versión en ese idioma. No canonice todas las traducciones al inglés simplemente porque se publicaron primero en inglés.
- 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}`,
},
},
};
}