SEO internacional
El SEO internacional ayuda a llegar a audiencias en distintos países e idiomas. Requiere implementación técnica y estrategia de contenido para mercados globales.
Estructuras de URL para sitios internacionales
ccTLDs (Country Code Top-Level Domains)
example.fr, example.de, example.co.uk
Señal geo más fuerte, pero más costoso y difícil de gestionar
Subdirectorios
example.com/fr/, example.com/de/
Recomendado: consolida autoridad y es fácil de gestionar
Subdominios
fr.example.com, de.example.com
Se tratan como sitios separados; cuesta compartir autoridad
Implementación de hreflang
Hreflang indica el idioma/región objetivo de una página:
<!-- In <head> of each page -->
<link rel="alternate" hreflang="en" href="https://example.com/page" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
<!-- Language + Region targeting -->
<link rel="alternate" hreflang="en-US" href="https://example.com/en-us/page" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/page" />
<link rel="alternate" hreflang="es-ES" href="https://example.com/es-es/page" />
<link rel="alternate" hreflang="es-MX" href="https://example.com/es-mx/page" />
Configuración i18n en Next.js
// next.config.js
module.exports = {
i18n: {
locales: ['en', 'es', 'fr', 'de'],
defaultLocale: 'en',
localeDetection: true,
},
};
// app/[locale]/layout.tsx
export async function generateStaticParams() {
return [
{ locale: 'en' },
{ locale: 'es' },
{ locale: 'fr' },
{ locale: 'de' },
];
}
// Generate hreflang in metadata
export async function generateMetadata({ params }) {
const locales = ['en', 'es', 'fr', 'de'];
const alternates = {
languages: {},
};
locales.forEach(locale => {
alternates.languages[locale] = `https://example.com/${locale}/page`;
});
return {
alternates,
};
}
Buenas prácticas de localización de contenido
Haz:
- Traduce y localiza el contenido
- Usa hablantes nativos para traducir
- Localiza fechas, monedas y números
- Investiga keywords por mercado
- Considera diferencias culturales
No hagas:
- Usar solo auto-traducción
- Copiar keywords en inglés directamente
- Ignorar motores de búsqueda locales
- Olvidar idiomas de derecha a izquierda
- Mezclar idiomas en la misma página
Errores comunes de hreflang
- Faltan enlaces de retorno: Cada página debe enlazar a todas las versiones, incluida ella misma
- Códigos de idioma incorrectos: Usa ISO 639-1 (en, es, fr, no english, spanish)
- Falta x-default: Incluye siempre un fallback
- URLs inconsistentes: Usa URLs absolutas de forma consistente
- Canónicos en conflicto: Canonical y hreflang deben alinearse