Redirige a los usuarios según el idioma del navegador (no en php)

Mi sitio web estará en 3 idiomas. Francés (fr) es el idioma predeterminado. La estructura del sitio es la siguiente:

Directorio raíz (nota: no estoy usando archivos php, simplemente html)

/fr/ Index.html About-us.html Contact.html /en/ Index.html About-us.html Contact.html /de/ Index.html About-us.html Contact.html 

Tengo preguntas:

  • ¿Cuál es la mejor práctica para redirigir a los usuarios según el idioma de su navegador web? A través de htaccess?
  • ¿Necesito una página index.html en el nivel raíz (por motivo de SEO o por cualquier otro motivo)? El index.html francés tal vez?

Herramienta muy fácil aquí:

http://www.htaccesstools.com/redirection-by-language/

Hace la vida increíblemente fácil para las redirecciones de htaccess basadas en el lenguaje del navegador.

Ejemplo:

 RewriteEngine on RewriteCond %{HTTP:Accept-Language} (fr) [NC] RewriteRule .* /fr/index.html [L] RewriteCond %{HTTP:Accept-Language} (en) [NC] RewriteRule .* /en/index.html [L] RewriteCond %{HTTP:Accept-Language} (de) [NC] RewriteRule .* /de/index.html [L] 

Este es un redireccionamiento difícil, la barra de ubicación del navegador mostrará la nueva página. Sin embargo, esto es mejor para UX que una redirección interna que enmascara la URL.

Para responder a su pregunta, se considera que un index.html proporciona el mejor UX. Sin embargo, eso se debe esencialmente a que las personas esperan esto en general (sitio web.com/en/, sitio web.com/fr/, etc.). En cuanto a SEO, no, no te molestarían si no siguieras esa misma estructura.

La mejor práctica es usar su mejor estimación (como htaccess), y aún así ofrecer un menú para cambiar de idioma. Además, también necesitará un respaldo si el Accept-Language no está realmente definido (como ir a / en / por defecto). Esta podría ser una línea final en htaccess, o simplemente podría ser un index.html en el nivel raíz, donde .htaccess es.

Aparte de eso, no hay una gran cantidad que entra en la localización.