Manera de redirigir a tus usuarios según idioma del navegador por .htaccess
Muchas son las ventajas que tenemos al saber configurar correctamente nuestro archivo .htaccess, pero una cosa que puede ser muy interesante, es poder redireccionar a nuestros visitantes en función del idioma del navegador que estén usando al entrar en nuestra web.
Imaginenos que tenemos estas direcciones en nuestra web según el idioma:
www.pagina.com (para español)
www.pagina.com/en (para inglés)
www.pagina.com/fr (para francés)
Pues bien, editando nuestro archivo .htaccess de la siguiente manera:
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteRule .* http://www.pagina.com/en/ [R,L]
RewriteCond %{HTTP:Accept-Language} (es) [NC]
RewriteRule .* http://www.pagina.com/ [R,L]
RewriteCond %{HTTP:Accept-Language} (fr) [NC]
RewriteRule .* http://www.pagina.com/fr/ [R,L]
Sobre todo mucho cuidado al editar el arhivo .htaccess, cualquier mínimo fallo nos hacer que la web no funcione, antes de modificar hacer copia de seguridad.
Gracias por este sencillo truco, es muy útil.
Mi pregunta es si esto afecta al SEO de mi web ya que en definitiva, estoy redirigiendo el tráfico a una u otra página y no sé si al final, podré visualizar el total de visitas agrupado, etc.
En otra ocasión oí hablar de la Redirección 301 pero no recuerdo si servía para esto o cómo se usaba…
Hola Joan Carles, la redirección 301 se usa para hacer una migración de un apartado a otra url ya sera interna o externa, o si cambiar el títulod de un artículo y necesitas mantener el SEO de la url vieja.
en este caso sólo estamos añadiendo un fragmento de URL en función del idioma del navegador. No es una redirección (REDIRECT), es una reescritura (REWRITE), por lo que no afecta el SEO.
Saludos cordiales!
Oye amigo, si yo tengo las url y en el directorio principal no tengo nada, ¿ ¿afecta a mi SEO? como puedo hacer para que no afecte?
http://www.pagina.com/es (para español)
http://www.pagina.com/en (para inglés)
http://www.pagina.com/fr (para francés)
Hola! para nada! ultimamente la URL cada vez tiene menos peso, es importante que la palabra clave esté en el dominio, pero cada vez se le da más importancia al contenido propio de la web. Y no afecta para nada que le incorpores un /es o /en etc…
Estate tranquilo!
Sobre todo recuerda los pasos básicos para indexar la web en google, un buen mapa.xml y directo a webmaster tools!!
Hola, gracias por el código. Llevo varios días peléandome con una web multi-idioma realizada por subdominios del modo que la principal está en ingles http://www.midominio.com
Y los demás idiomas creados en subdominios tipo http://es.midominio.com
Tras probar cientos de códigos tanto mediante .htaccess cómo con javas directos en el código html no consigo hacerlo funcionar.
Creo que el problema radica en cómo he configurado los subdominios.
Desde ya, muchas gracias por adelantado.
Saludos!
Y para hacerlo al reves, redirigir todo el trafico que no este en español a otra web ¿?
Sólo se me ocurre hacer algo así:
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (aa|ab|af|am|ar|as|ay|az|ba|be|bg|bh|bi|bn|bo|br|ca|co|cs|cy|da|de|dz|el|en|eo|et|eu|fa|fi|fj|fo|fr|fy|ga|gd|gl|gn|gu|ha|hi|hr|hu|hy|ia|ie|ik|in|is|it|iw|ja|ji|jw|ka|kk|kl|km|kn|ko|ks|ku|ky|la|ln|lo|lt|lv|mg|mi|mk|ml|mn|mo|mr|ms|mt|my|na|ne|nl|no|oc|om|or|pa|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sd|sg|sh|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|uk|ur|uz|vi|vo|wo|xh|yo|zh|zu) [NC]
RewriteRule .* http://www.pagina.com [R,L]
De esta menera todos estos idiomas irán a http://www.pagina.com
A mi me da error me sale que se redirige demasiadas veces
ERR_TOO_MANY_REDIRECTS
mi pregunta es mas basica, si tengo una pagina http://www.pagina.com y agrego una boton para que acceda a la version ingles http://www.pagina.com/en como lo configuro en el cpanel estoy atorado ahi como se configura ?
Hola David, ya lo solucionamos por mail. No era un problema en sí de WordPress sinó más bien de HTML. Genarar dos webs dos carpetas diferentes y luego aplicar enlaces cada una a su idioma correspondiente.
Buenas
Primero quería felicitarte porque no hay muchos blogs que hablen de redirigir al usuario que entra en la web dependiendo del idioma y de editar el htcaccess.
Quería comentarte que tras poner el código si que me redirige a la carpeta del idioma pero en el dominio.com que esta en el idioma ingles el wordpress se rompe, el idioma español que tengo en dominio.com/es/ funciona perfectamente.
¿A que podría deberse?
Gracias de antemano
Hola, disculpa la espera. ¿Que web es? enviame un mail a info@servisplus.es y me comentas.