Una web en varios idiomas, sin plugins
Qué pide Google exactamente, y por qué el atajo cuesta posiciones
Casi todo lo que se publica sobre esto acaba en qué plugin instalar. El plugin no es el problema. El problema es que la parte que decide si funciona se resuelve en cuatro reglas que Google tiene escritas, y que se incumplen sin que nada dé error. Ese es el detalle importante: nada falla, nada avisa, y la señal no llega.
Traducir y tener dos idiomas no es lo mismo
Traducir es cambiar las palabras. Tener una web en dos idiomas significa tener dos sitios compitiendo cada uno en su mercado, con su dirección propia, sus metadatos y su posición.
La diferencia se ve mejor al revés. Si tu web solo habla español, todas las búsquedas que se hacen en inglés sobre lo que tú vendes ocurren sin ti. No sales peor colocado. No sales.
Por eso la decisión no va de acabado sino de alcance. Y por eso conviene hacerla bien: mal hecha puede perjudicar al idioma que ya tenías.
Tres formas de hacerlo
Se diferencian en lo que pasa después, no en el precio.
Un traductor automático encima del sitio traduce al vuelo lo que ya hay. Barato, y garantiza que el visitante entienda algo. Para el buscador no existe una segunda versión: hay una página, en un idioma, con un adorno. No ganas ninguna posición.
Un plugin de traducción crea páginas de verdad y gestiona las etiquetas. Es una solución razonable y en bastantes proyectos es la correcta. Hay que vigilar dos cosas: cómo genera las direcciones y si las etiquetas quedan completas en todas las páginas, no solo en la portada.
Las versiones propias hacen de cada idioma una rama del sitio, con las señales generadas desde una sola fuente. Más trabajo al principio. Ninguno después.
Lo que Google pide, en cuatro reglas
Google publica sus condiciones por escrito y no dejan margen de interpretación. No hace falta saber programar para entenderlas, y conviene entenderlas antes de encargar nada, porque son las que se incumplen.
Cada versión tiene que nombrar a las demás, y también a sí misma. La documentación es tajante: si dos páginas no se apuntan mutuamente, la declaración entera se descarta. Y explica el motivo, que ayuda a entender por qué es tan estricta: si bastara con nombrar a otro, cualquiera podría declararse desde fuera versión alternativa de una página tuya.
La consecuencia práctica es la que más se incumple. Si la española nombra a la inglesa pero la inglesa se olvida de la española, no queda media relación declarada. No queda ninguna.
Basta con decirlo en un sitio. Hay tres formas de declararlo y Google las trata por igual, así que cuál se use es una decisión de quien construye el sitio y no tuya. Lo único que no vale es declararlo en dos sitios que digan cosas distintas: entonces el buscador tiene que elegir a cuál creer, y esa elección deja de ser tuya.
Los códigos de idioma y país salen de una lista y no admiten inventos. El caso que más se repite: el código del Reino Unido es `GB`, no `UK`. Google descarta `UK` sin dar ningún error, así que hay sitios que llevan años convencidos de que apuntan al mercado británico y no apuntan a ninguno. Y un país por sí solo tampoco vale: lo que se declara es el idioma, y el país es opcional.
Hace falta una versión por defecto, la que se sirve a quien no encaja en ninguna de las tuyas. Sin ella, ese visitante acaba donde el buscador decida.
Los tres fallos que Google enumera
Su propia documentación los lista, y son exactamente los que acabamos de ver: faltan los enlaces de vuelta, los códigos de idioma están mal, o los de región están mal.
Ninguno de los tres produce un error. Ni en el navegador ni en ningún panel. La web funciona, se ve bien, se traduce bien. La señal no llega y nadie se entera. Por eso se arrastran durante años sin que nadie los toque.
Dónde fallan los atajos
Con las reglas delante se entiende por qué ciertas soluciones dan problemas.
Las direcciones con parámetros son el fallo de raíz. Si la versión inglesa de una página es la misma dirección con un `?lang=en`, para el buscador eso puede ser la misma página con un parámetro. Cada idioma necesita dirección propia: por carpeta, por subdominio o por dominio, da igual cuál, pero propia.
La reciprocidad a medias es el fallo de las implementaciones hechas a trozos. La portada declara bien y las fichas de producto declaran la mitad. La regla se aplica página a página, no sitio a sitio, así que puedes tener la portada perfecta y ochocientas páginas descartadas.
Y luego están las dos fuentes que no se hablan. Un plugin emite las etiquetas y otro genera el sitemap. Uno cambia, el otro no. Esto pasa constantemente y no lo detecta nadie hasta que alguien va a mirar.
Nada de esto es culpa de los plugins como categoría. Ocurre cuando la señal sale de varios sitios en lugar de uno.
Cómo lo hacemos
Empezando por lo que no hacemos: no hay ninguna extensión traduciendo nada. Las dos versiones de este sitio están escritas una a una, en español y en inglés, porque un argumento que convence en un mercado no siempre convence traducido palabra por palabra. Cambia a quién se le habla y cambia lo que hay que demostrar. Esa parte es de redacción, no de técnica, y es la que decide si la segunda versión sirve para vender o sólo para entenderse.
Y por debajo, una sola fuente. Las direcciones de cada versión se declaran una vez y de ahí salen las etiquetas, las alternancias del sitemap y los enlaces del selector. No hay dos listas que puedan descuadrarse porque no hay dos listas.
Cada idioma es una rama con su dirección limpia y su documento independiente, incluido el atributo de idioma en la etiqueta raíz, que es lo primero que lee un lector de pantalla. Sin parámetros.
Y cada versión declara todas las demás y a sí misma, más `x-default`. Es literalmente lo que pide la documentación, y es la parte que más se deja a medias.
Este sitio funciona así, en español y en inglés. Puedes comprobarlo ahora mismo: abre el código fuente de esta página y el de su versión inglesa, y verás las mismas tres declaraciones en las dos.
Lo que cuesta el segundo idioma a partir del segundo año
Esto casi no se cuenta, y es lo que decide si la segunda versión sigue viva pasado el primer año.
El gasto grande no es la traducción inicial. Es que desde ese día todo se hace dos veces. Cambias un precio: dos veces. Añades una sección: dos veces. Publicas una entrada: dos veces.
Cuando eso no se ha previsto, pasa siempre lo mismo. Se actualiza el idioma principal porque es el que urge, el segundo se queda atrás, y al cabo de dos años hay dos webs que dicen cosas distintas sobre lo mismo. Un cliente que las compare deja de saber a cuál creer, y eso hace más daño que no haber tenido la segunda.
Se evita con una condición que conviene exigir desde el principio: que el sistema enseñe las dos versiones juntas y avise de lo que falta por traducir. No es un detalle de comodidad. Es lo único que impide que el segundo idioma acabe siendo un pasivo en vez de un mercado.
Cuándo no compensa
No siempre hace falta.
Si vendes en una ciudad y a una sola comunidad lingüística, el segundo idioma es trabajo que no vas a recuperar. Si tu contenido cambia a diario y no tienes quién traduzca a esa velocidad, la segunda versión nace condenada. Y si lo que buscas es parecer internacional, eso no lo da un idioma. Lo dan los clientes que tengas fuera.
La pregunta que lo resuelve es concreta: ¿hay alguien buscando lo que vendes, en otro idioma, y encontrando ahora mismo a otro? Se puede averiguar antes de gastarse un euro.
¿Tiene sentido en tu caso?
Se puede saber antes de gastar nada, mirando si hay búsquedas en ese idioma sobre lo que vendes y quién las responde ahora.
Hablemos