Question

Je recherche le meilleur schéma d'URL à utiliser pour une application Web comportant plusieurs versions, à savoir plusieurs langues et une version simplifiée pour les téléphones mobiles. Ces deux aspects peuvent être combinés. Il existe donc une version anglaise et une version mobile. , une version allemande et une version mobile, etc.

Objectifs (par ordre d'importance):

  • Convivialité
  • convivialité des moteurs de recherche
  • Facilité de développement

Aspects à prendre en compte:

  • À quoi devraient ressembler les URL?
  • Comment l'utilisateur doit-il naviguer entre les versions?
  • Quelle doit être la logique pour choisir automatiquement une version?

Je vais décrire mon concept ci-dessous, peut-être que certains d'entre vous ont de meilleures idées.

Était-ce utile?

La solution

Mon concept actuel:

  • À l'arrivée d'un nouvel utilisateur, l'application décide, en fonction des cookies (voir ci-dessous), de l'en-tête Accept-Language: et de la chaîne de l'agent utilisateur (utilisée pour identifier les navigateurs mobiles), de la version à afficher, mais ne l'indique pas l'URL (pas de redirections)
  • La version anglaise non simplifiée est utilisée par défaut
  • Des icônes bien visibles (drapeaux, téléphone mobile stylisé) permettent de choisir d'autres versions
  • Lorsque l'utilisateur choisit explicitement une version différente, cela se traduit à la fois par une URL modifiée et par un cookie de navigateur.
  • Le schéma de l'URL est / pour le " automatique " version, / en /, / de /, etc. pour la version linguistique, / mobile / pour la version simplifiée, / normal / pour la version non simplifiée, et leurs combinaisons, par exemple / mobile / en / et / normal / de /
  • mod_rewrite est utilisé pour supprimer ces préfixes d'URL et les convertir en paramètres GET pour que l'application puisse les analyser
  • le fichier robots.txt interdit / mobile / et / normal /

Avantages:

  • Les différentes versions linguistiques sont toutes indexées séparément par les moteurs de recherche
  • Les cookies aident, mais ne sont pas nécessaires
  • Il y a de bonnes chances que les gens voient la version qui leur convient sans avoir à faire aucun choix
  • L'utilisateur peut toujours explicitement choisir la version de son choix (cela rend le fichier / normal / URL nécessaire)
  • Chaque version a une URL qui affichera exactement cette version lorsqu'elle sera transmise à d'autres
  • / mobile / et / normal / sont ignorés par les moteurs de recherche; ils ne feraient que dupliquer le contenu.

Inconvénients:

  • Nécessite l'utilisation intensive de mod_rewrite, que je trouve plutôt cryptique
  • Les utilisateurs peuvent envoyer leur URL actuelle à une personne et cette personne, lors de sa visite, peut finir par voir une version différente, ce qui peut être source de confusion.
  • Il y a toujours du contenu en double entre / et / en / - je ne peux pas refuser / dans le fichier robots.txt - dois-je faire confiance aux moteurs de recherche pour ne pas me pénaliser pour le contenu dupliqué exact sur le même domaine, ou pour interdire / en / et acceptez-vous que les personnes entrant dans / via un moteur de recherche puissent voir une version différente de celle trouvée dans le moteur de recherche?

Autres conseils

Je suggère personnellement les sous-domaines.

Je n'inclurais pas du tout le mobile - utilisez l'outil useragent pour le déterminer, et éventuellement un cookie si l'utilisateur souhaite voir le site complet sur son mobile (pensez à la façon dont Flickr et Google le font). Mais pour les langues, oui - langue principale chez http://mondomaine.com/ , les langues secondaires chez http://de.mydomain.com/ ou http://fr.mydomain.com/

Je ne vois pas pourquoi vous voudriez incorporer tout type d'informations de version, telles que des désignations spécifiques accept-language ou user-agent, dans le schéma d'URL. Le schéma d'URL doit indiquer uniquement le contenu. Le serveur doit examiner les différents en-têtes de requête pour déterminer comment extraire et / ou formater la réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top