Desde hace tiempo estoy intentando encontrar la mejor forma de programar una pagina en varios idiomas (español e inglés).
Mi primer intento fue con carpetas. Primero hacia una versión de la página en español, luego la duplicaba, la traducia al inglés y la metia en la otra carpeta pero al tiempo de estar haciendolo así me di cuenta que me generaba una serie de problemas a la hora de actualizar contenido o modificar código.
Mi segundo intento, y con el que estoy programando actualmente, es hacer una sola versión de la página y usar arrays con constantes de este tipo:
Código:
Tengo un archivo de este tipo para cada idioma.//Idioma Español $lang = array(); $lang['PAGE_TITLE'] = 'Título de la página de mi sitio web'; $lang['HEADER_TITLE'] = 'Mi sitio web de la cabecera título'; ...
Luego defino una cookie a la que le doy un valor $lang=es o $lang=en y con ello determino el idioma a usar.
Así no utilizo varias carpetas. Los archivos index, etc... son el mismo para los dos idiomas.
Hasta aquí todo bien. Funciona a las mil maravillas.
El problema ha venido al analizar mi página con las Google webmaster tools.
Me he dado cuenta de que solo se estaban indexando las meta etiquetas en inglés por lo que creo que Google piensa que mi página es en ese idioma, supongo, debido al uso de la cookie para establecer el idioma de la misma ya que ésta se define como lang=en por defecto.
Se me ha pasado por la cabeza que tal vez pudiera hacer algo con htaccess pero no se muy bien como.
Mi pregunta es. ¿Cómo puedo diferenciar los dos idiomas de mi web para que Google lo tenga en cuenta? ¿Me sirve la estructura que he creado ya? ¿Es mejor utilizar el sistema de las carpetas?¿
La verdad que ando bastante perdido en este tema. Agradecería mucho si alguien pudiera arrojarme algo de luz al respecto.