# General Translation React SDKs (gt-react, gt-next, gt-react-native): Gestión del SEO de los alias de configuración regional URL: https://generaltranslation.com/es/docs/react/nextjs/locale-alias-seo.mdx --- title: Gestión del SEO de los alias de configuración regional description: Cómo usar alias personalizados de configuración regional en las URL de Next.js y publicar metadatos canónicos de idioma para los motores de búsqueda. related: links: - /docs/react/nextjs/app-router-middleware - /docs/react/nextjs/app-router-static-site-generation - /docs/react/nextjs/registering-request-locales - /docs/react/nextjs/cache-components --- Un alias de configuración regional permite que una ruta use un segmento personalizado, como `/cn`, mientras que las traducciones usan el código BCP 47 canónico `zh`. `gt-next` resuelve el mapeo para las traducciones y el enrutamiento, pero tu aplicación sigue siendo responsable de ``, las URL canónicas, las versiones alternativas por idioma y las entradas del mapa del sitio. ## Configurar un alias [#configure] Asigna la configuración regional de la URL a su código canónico mediante [`customMapping`](/docs/react/reference/config#custom-mapping): ```json title="gt.config.json" { "defaultLocale": "en-US", "locales": ["en-US", "cn", "ja"], "customMapping": { "cn": { "code": "zh", "name": "Mandarin" } } } ``` El middleware acepta `/cn` como ruta localizada. General Translation resuelve `cn` a `zh` cuando necesita la configuración regional canónica. Mantén estos dos valores separados en el código SEO: * Usa el **alias** en las URL de las rutas, como `/cn/about`. * Usa el **código BCP 47 canónico** en `lang` y `hreflang`, como `zh`. ## Establece el idioma del documento [#document-language] Resuelve la configuración regional de la ruta antes de establecer el atributo ``: ```tsx title="app/[locale]/layout.tsx" import { resolveCanonicalLocale } from 'gt-next/server'; export default async function LocaleLayout({ children, params, }: { children: React.ReactNode; params: Promise<{ locale: string }>; }) { const { locale } = await params; const canonicalLocale = resolveCanonicalLocale(locale); return (
{children} ); } ``` Sin esta conversión, la ruta `/cn` generaría `lang="cn"`, que no es una etiqueta de idioma chino válida. ## Publicar versiones alternativas de la página [#page-alternates] Next.js genera enlaces `hreflang` a partir de `metadata.alternates.languages`. Usa códigos canónicos como claves del objeto y rutas basadas en alias como valores: Este ejemplo de página de inicio debe incluirse en la página localizada. Genera URL específicas de cada ruta en los metadatos de cada página anidada. ```tsx title="app/[locale]/page.tsx" import type { Metadata } from 'next'; import { resolveCanonicalLocale } from 'gt-next/server'; const locales = ['en-US', 'cn', 'ja']; const baseUrl = 'https://example.com'; export async function generateMetadata({ params, }: { params: Promise<{ locale: string }>; }): Promise