Mismo post dos idiomas?

  • Autor Autor garripo
  • Fecha de inicio Fecha de inicio
Buena info [MENTION=43537]piano[/MENTION]
 
[MENTION=43537]piano[/MENTION] te cito 😛8: Además de enlazar de la forma en que me dijiste ¿Qué más hay que hacer para que quede bien todo?
 
piano te cito 😛8: Además de enlazar de la forma en que me dijiste ¿Qué más hay que hacer para que quede bien todo?
Discúlpame Mustang... se me fue el santo al cielo con este tema. Lo siento.

Te cuento:
Para trabajar con varios idiomas de forma correcta básicamente hay que seguir estos puntos:

1.- El primero que ya hemos visto es establecer una estructura de URL's que respete la nomenclatura ISO. Esto no sólo lo hacemos por Google sino también por los propios usuarios. El sitio en español en la carpeta /es/, el sitio en inglés en la carpeta /en/ y así.
Hay muchos usuarios que navegan por nuestro sitio editando las URL's es importante que la estructura que usemos sea fácil de interpretar por ellos.

2.- Una vez que tenemos nuestra estructura de URL's definida lo que tenemos que hacer es etiquetar cada página con el hreflang correspondiente. Las páginas en español llevarán el "es-ES", las páginas en inglés el "en-GB", etc...

3.- Hecho esto, si tenemos contenido común en diferentes idiomas debemos etiquetarlo como expliqué en el punto anterior. Cada contenido común debe llevar las etiquetas para las versiones alternativas de ese contenido en otros idiomas.

4.- Una vez que tenemos todo esto hecho debemos redireccionar a los usuarios de forma automática dependiendo de su idioma. Un usuario que navega en francés y accede a nuestro sitio debe ser redireccionado a su idioma si éste está disponible. Dependiendo del sistema que usemos esto lo podemos hacer fácilmente desde el htaccess estableciendo reglas de redireccionamiento en función de la cabecera enviada por el navegador del usuario.

Por ejemplo, si nuestro sitio en español está en la ruta /es/ y nuestro sitio en inglés está en la ruta /en/ haremos algo como esto:

Insertar CODE, HTML o PHP:
#Si el usuario utiliza un navegador en castellano lo enviamos a la página en español
RewriteCond %{HTTP:Accept-Language} ^es [NC]
RewriteRule ^/?$ es/ [R,NC,L]

#Si usa cualquier otra lo enviamos al idioma inglés
RewriteRule ^/?$ en/ [R,NC,L]

5.- Al hacer la redirección de los usuarios también estaremos redireccionando a los robots así que el robot de Google accederá a nuestro sitio y detectará una redirección que por defecto le enviará al idioma inglés. Para que esto no suponga un problema de indexación es necesario hacer un sitemap XML del sitio en diferentes idiomas y enviarlo a través de Search Console. Es imprescindible también que actualicemos nuestro sitemap regularmente y, para evitar problemas derivados de los olvidos, es también muy muy aconsejable que todas las versiones de nuestro sitio incluyan enlaces a todos los idiomas. De esta forma, aunque olvidemos subir el sitemap de vez en cuando, el propio bot de Google podrá acceder a los nuevos contenidos en cualquier idioma a través de los diferentes enlaces del sitio en el idioma por defecto. En otras palabras, un usuario que visita la versión inglesa de nuestro sitio debe ver todos los elementos del mismo en su idioma y por defecto los contenidos también en su idioma. Pero si ese mismo usuario inglés desea ver los contenidos en español también debe poder hacerlo. Una cosa es que por defecto no se los mostremos y otra cosa es que no pueda acceder a ellos. Así como ocurre en Youtube por ejemplo, si usas Youtube en español te muestra todo en español pero si haces una búsqueda en ruso te muestra los resultados en ruso. Pues igual nosotros.

Si trabajas con WP lo ideal para resolver esto es que busques algún plugin que vaya creando el sitemap de forma dinámica y lo actualice en una URL, así no tendrás que estar pendiente de este asunto, directamente le informas a Google cual es la URL del sitemap y listo. Yo Wordpress no lo conozco pero en Joomla y Drupal si te puedo decir que hay plugins que hacen esta función y son muy cómodos para trabajar en diferentes idiomas. Yo sólo de vez en cuando tengo que revisar si la URL del sitemap está activa y actualizada y ya está, eso es todo.

Para que entiendas mejor todo esto si quieres te puedo mostrar un sitio mío en varios idiomas y así puedes ver como he resuelto yo todos estos puntos. Pero no te lo pongo por aquí... envíame un MP si tienes interés en ver un ejemplo y te lo paso por privado. :encouragement:
 
Última edición:
[MENTION=43537]piano[/MENTION] excelente explicación, muchas gracias :encouragement: creo que me quedo claro. Solo una duda, en caso de que tenga un sitio en español y quiera crear otro sitio en inglés (con otro dominio claro) traduciendo el contenido del sitio en español.

En ese caso solo debería enlazar usando el código que compartiste?

 
Efectivamente, en ese caso al ser sitios diferentes basta con añadir las etiquetas al contenido alternativo y listo. Te ahorras todos los problemas derivados de las redirecciones, sitemaps múltiples y demás. Así es como trabaja por ejemplo Wikipedia, todos los contenidos están repartidos en diferentes subdominios, uno para cada idioma y a efectos de Google un subdominio es un dominio diferente y un sitio diferente. Luego ya está la cuestión de como lo quieras resolver tú esto cara a los usuarios, si vas a poner links de un sitio a otro y esas cosas, yo te aconsejaría hacerlo, así facilitarás la navegación entre sitios y ambos se retroalimentarán.