URLs semánticas y multiidioma
Hola gentes.
He buscado y no he encontrado mucho, si esto está discutido encantado de que se me redirija. El caso.
Imaginad el típico sitio multiidioma que tiene que tener las urls molonas:
http://empresa.com/molamos/
http://empresa.com/quetecagas/
Pero como es una empresa que mola, tiene la web en varios idiomas. Pregunta. ¿Pondríais el idioma "por delante" en todas las URLs o seleccionaríais el idioma dependiendo de la URL? Ejemplo:
http://empresa.com/es/molamos/
http://empresa.com/en/werock/
o
http://empresa.com/molamos/ // automatico a castellano
http://empresa.com/werock/ // automatico a ingles
He tenido parte de esta discusión con el amigo denegro por mail, aquí va un extracto:
denegro:
<fieldset>Yo no haría URIs distintos para el mismo recurso en distinto idioma, sino que haría content negotiation y si voy a empresa.com/wadus, se me mostrará en español o en inglés según a)mi cookie y/o b)mi navegador.
Los motivos son muchos, pero sirva como ejemplo que quiero que mis fotos sean flickr.com/photos/denegro tanto para mi, como para tí, como para un amigo yankee, alemán o italiano, aunque podáis elegir el idioma de la interfaz.</fieldset>
Yo:
<fieldset>Podría hacer lo que comentas, pero tendría que decidir UN idioma para lo que aparece en la URL ¿cuál elegir? ¿Cómo decido si es mejor empresa.com/molamos/ o empresa.com/werock/?
Mi idea del idioma es, por orden de preferencia:
- lo que venga en la url. Ya sea empresa.com/en (fuerza inglés) o empresa.com/werock (entra a la sección werock y fuerza el idioma)
- La cookie si existe. Si entras a empresa.com sin más, buscará la cookie.
- Si no hay cookie y entras a empresa.com selecciona castellano por defecto (y pone su cookie, claro)</fieldset>
denegro:
<fieldset>Lo que hay que decidir es con qué opcion te quedas (varias uris, única uri); una vez que tengas eso, en qué idioma hacerlo ("sobre" o "about"), me parece que da bastante igual. yo tiaría siempre por el inglés (lo pongo en condicional pero es lo que hago (unvlog.com/denegro/profile , unvlog.com/about , unvlog.com/contact ) y cuando sea una excepción, por ejemplo un ariculo en español, pues usaría el titulo del artículo en español.</fieldset>
Yo:
<fieldset>Yo no estoy tan seguro de eso. Quicir, si asumimos que la URL es parte de la interface, entonces tiene todo el sentido del mundo que esté en el idioma relevante ¿no?
Sobre si crear las urls puede perjudicar a nivel de links... pues no lo sé tampoco. Quicir, los ingleses hara copy + paste de su URL y los españoles de la suya. Otra cosa es que de cara a Google igual estás dividiendo tus links por el número de idiomas en el que tengas la web.</fieldset>
Y para terminar, amena lectura sobre URIs que encontró Alberto:
http://www.w3.org/Provider/Style/URI
Se buscan comentarios. Gracias!
pd: espero que no te importe que desvele nuestras conversaciones, amor : )
orange
En Domestika nos hemos planteado lo mismo, pero no te puedo contar lo que hemos pensado porque ahora tengo jaleoooooooooooooo
zigotica
yo voto juan, de hecho es como lo hice siempre.
deck1
Si tienes un mínimo interés en hacerlo bien de cara a buscadores, distintas URLs por idioma siempre. Busca en los foros de posicionamiento (dirson, xeoweb), que ahí si se ha tratado el tema hasta la saciedad.
En cuanto dividir el nº de links si se hacen URLs distintas para cada idioma, es más bien al revés, si utilizas una única URL, google únicamente indexará un idioma. El ejemplo de flickr no vale, porque en ese caso, el contenido son fotografías y comentarios. Igual pasa con youtube. Lo único que cambia según el idioma es la interfaz, pero el contenido, que es lo que nos importa de cara a buscadores, sigue siendo el mismo.
deeleman
Deck1
Si tienes un mínimo interés en hacerlo bien de cara a buscadores, distintas URLs por idioma siempre. Busca en los foros de posicionamiento (dirson, xeoweb), que ahí si se ha tratado el tema hasta la saciedad.
Totalmente de acuerdo.
Por otra parte, si las URLS no se corresponden con la estructura real del sitio vas a tener que efectuar el proceso de reescritura (htaccess, ISAPI, etc...) en cada petición http de una página. Si de verdad la empresa es supermolona, y por tanto recibe tropecientas visitas, eso generará una cierta carga en la memoria del servidor.
Además, ¿que ocurrirá cuando te encuentres con un directorio/url que es igual para dos o más idiomas? Por ejemplo, a lo mejor la empresa supermolonadelamuertesideral comercializa un servicio que se llama "cacaculopedopis" y quieren una URL de acceso rápido para su web inglesa y francesa. Entonces... ooooh:
http://empresa.com/services/cacaculopedopis/
http://empresa.com/services/cacaculopedopis/
Pues tendrás que tirar del User-Agent para enviar al usuario al idioma correspondiente... Cinco minutos después llegará Slurp o Googlebot y ¡sorpresa! no tienen información de idioma en su cabecera User-agent... Al final se acaban perdiendo e indexando páginas de forma mezclada.
Hace poco tuvimos un caso similar en uno de nuestros amados clientes, para el cual teníamos que colocar una web en 7 idiomas con accesos directos a su red de hoteles, del tipo:
www.cadenahotelera.com/hotelcaca
www.cadenahotelera.com/hotelculo
www.cadenahotelera.com/hotelpedo
www.cadenahotelera.com/hotelpis
Lo solventamos de una manera más ambiciosa. Registramos para cada uno el dominio local, y les pusimos IPs direferentes a cada uno, lo que optimizo el backlinking entre ellos de forma legal a los ojos de un buscador. La cosa quedó:
www.cadenahotelera.es|.co.uk|.fr|.pt|.ru/hotelcaca
www.cadenahotelera.es|.co.uk|.fr|.pt|.ru/hotelculo
www.cadenahotelera.es|.co.uk|.fr|.pt|.ru/hotelpedo
www.cadenahotelera.es|.co.uk|.fr|.pt|.ru/hotelpis
Si no podéis asignarles dominios multilingües, o no os interesa por motivos corporativos o de otra índole, siempre podéis hacerlo como hacen las grandes corporaciones megamolonasdelasupermuerte, añadiendo el sufijo del acrónimo del idioma ISO como dominio de primer nivel:
http://es.empresa.com/ (español)
http://de.empresa.com/ (deutsch)
Esto úlitmo te permite además generar arquitectura de directorios de forma totalmente libre y asegurarte que el buscador indexará siempre de forma preponderante la web que se corresponde con su versión local, sobre todo porque la página principal de cada dominio viene ya preconfigurada en el idioma que lcorrespondiente.
juandelgado
Buenas,
La estructura física no se corresponde con las URLs. Se va a utilizar mod_rewrite y CodeIgniter para el sitio. No creo que haya problemas de rendimiento porque el sitio no va a tener TANTAS visitas.
El tema de las colisiones de las URLs se ha tenido en cuenta y está (diría yo) solventado. Si no hay cookie previa y en caso de colisión, se va al lenguaje por defecto que es castellano ahora mismo. Se puede cambiar fácilmente y detectar el idioma del navegador o la IP si se quiere afinar más.
Los dominios regionales no se puede por razones que no vienen al caso, pero es buena idea. Gracias.
Sobre poner el distintivo de idioma como subdominio o como parte de la URL, ¿hay alguna diferencia? Quicir, entre:
es.empresa.com/wadus
empresa.com/es/wadus
Dicho todo esto, sigo sin tener claro si es mejor forzar el identificador de idioma en la URL o no.
Muchas gracias!
orange
Leyendo el hilo con más tranquilidad nosotros llegamos un poco a las mismas conclusiones que Zárate.
Para el tema URL's multiidioma la que a mi me parece mejor opción de cara al usuario (y buscadores, ojo) es esta:
estudio.com/trabajo
estudio.com/work
Sin intermediar controladores del palo es.estudio.com o estudio.com/es/
El problema es la colisión de URLs, es decir cuando en varios idiomas un determinado recurso se llama igual, en este caso metemos otro tipo de mecanismos del tipo cookie, user-agent, etc...
Y si no se quiere montar ese pollo lo mejor es que se pase cada recurso por un controlador (como decíamos antes).
Lo que no me parece un gran avance es utilizar la misma URL para el mismo recurso, pero en distinto idioma, motivos:
El tener URLs "user friendly" es precisamente para ayudar al usuario a ubicarse en un sitio web ya desde la propia dirección... poco le vamos a ayudar si no comprende dicha dirección.
Ayuda al posicionamiento y, desde mi punto de vista, al discernimiento por parte del usuario de a dónde lleva el enlace que le ponen en la página de resultados de Google, del recurso en concreto.
Ayuda al usuario a sentirse un poco "en casa"... es decir que alguien se ha tomado la molestia de traducir el sitio a su idioma y lo ha hecho a conciencia.
Edito: Contestando expresamente a la última pregunta de Zarate... Yo creo que es más elegante NO meter el controlador de idioma en la URL, porque si las URLs ya son autoexplicativas poco identificador necesitas... Pero eso a veces supone un pollo técnico importante, en ese escenario el meter un controlador con el idioma no es un precio muy elevado que pagar.
zigotica
respondiendo a la ultima: mejor o elegante no se, pero es más cómodo y no hace daño
josemi4
Lo primero teneis que saber que google es un traga texto, los busca y va de tras de ellos.
hay muchas formas de hacer una pagina para muchos idiomas.
wwwloquesea.com/turismo/ de españa, texto en español y en los metas este codigo xml:lang="es" lang="es"
wwwloquesea.com/tourism/ esta ingles los texto en ingles y en los metas le de fines el idioma xml:lang="en" lang="en"
Con eso saldras en las buquedas aqui dejo una web de ejemplo en mi firma.
orange
:idea:
orange
Pues justamente al hilo de este tema hemos inaugurado un nue vo proyecto Domestika, Kode, en el que vamos a ir liberando diversas partes de nuestros desarrollos en forma de código libre.
Y el primer proyecto se trata de Translate Routes, un plugin de Rails para internacionalización de URL's
Ahí podéis ver lo que nosotros hemos pensado al respecto de la discusión con la que se inició este hilo.
albertolacalle
Hola zárate
Por aportar algo a este hilo, sólo recordar que la URL es INTERFAZ, y si está en tres idiomas, la dirección de internet debe estarlo. No vale que digas que la web es bilingüe pero sólo un trozo.
No se hace muchas veces porque los criterios de edición de contenidos o no se toman en cuenta, o implica más tiempo-esfuerzo.
Si te ayuda tenemos dos artículos relacionados:
Direcciones de internet
Declarar el idioma del contenido
Espero que te ayuden a tomar una decisión