Question

J'ai un site multi-langue qui utilise des URL jolies, que l'on appelle les URL de recherche-convivial moteur.

Maintenant, il y a quelques endroits pour définir la langue dans l'URL:

    • www.example.com/en/articles/random
    • www.example.com/nl/articles/random
    • en.example.com/articles/random
    • nl.example.com/articles/random
    • www.example.com/articles/random?lang=en
    • www.example.com/articles/random?lang=nl

Y at-il meilleur moyen de montrer cela, ou est-il une autre meilleure façon que je ne comprend pas?

Était-ce utile?

La solution 4

J'ai trouvé une belle ressources de Google sur les choix que vous pouvez faire. Il y a une section avec les avantages et les inconvénients de chaque méthode que vous pouvez utiliser.

J'ai été aux prises avec les sites Web multilingues pour un certain temps maintenant.

Il y a certainement quelques points dans l'article qui ne sont pas mentionnés dans les réponses mentionnées. Ce pourquoi je ressentais le besoin d'afficher cela comme une réponse. J'espère que cela aide quelqu'un.

Autres conseils

Je vais vous dire ce qui est pas la meilleure pratique - en utilisant des paramètres (3ème). Rendre les utilisateurs tapent une URL compliquée demande des ennuis.

Vos pages peuvent utiliser en interne les paramètres GET pour trouver le lang, mais utiliser un module de réécriture d'URL dans votre serveur web pour le rendre simple comme la 1ère - www.mydomain.com/en/articles/random

Même le second est correct, sauf la plupart des utilisateurs de type nom de domaine et appuyez sur Ctrl + Entrée.

https://addons.mozilla.org/en-US/firefox/

http://msdn.microsoft.com/en-us/default.aspx

http://www.apple.com/in/

Mozilla, Microsoft et Apple sont dans trois coins différents du monde du développement logiciel, en termes de .. bien .. tout. Parfois, je tends à penser que ces trois grands gars faire des choses juste en désaccord les uns avec les autres. Mais si ils suivent une pratique courante, il doit avoir un sens ...

Si votre souci est de jolies urls pour les moteurs de recherche, première note moteurs de recherche les plus grands sont capables de détecter la langue lors de l'analyse, donc à moins d'être dans une langue spécifique est un aspect très important, vous ne pas vraiment besoin de vous soucier d'être moteur de recherche convivial.

  • Approche 1: à mon humble avis bon pour quand vous veulent lancer tous les articles de tous langues simultanément. Mais alors, lorsque vous apportez des modifications dans un seul endroit, vous aurez besoin d'aller dans tous les endroits et faire le même changement.
  • Approche 2: Neat pour des utilisations comme wikipedia, où différentes langues sites différents moyens réels (la articles ne sont pas des traductions de un autre, mais plutôt une autre contenu)
  • Approche 3: Bon choix si vous lancer habituellement dans une langue, et les traductions viennent plus tard (Google cas, par exemple). Vous pouvez avoir un la langue par défaut dans le cas où le la langue est non spécifiée, ou même enregistrer dans la session afin que vous l'avez enregistrée parmi les changements de page.

Je voudrais ajouter que nous avons choisi pour www.openimages.eu:

4)
www.mydomain.com/articles/random.en
www.mydomain.com/articles/random.nl

Mais le meilleur est bien sûr d'écouter la langue préférée du navigateur les communique à sa demande:

Accept-Language nl,en;q=0.7,en-us;q=0.3

et par défaut servir vos pages dans cette langue si elle est disponible. Vous pouvez fournir un commutateur pour les utilisateurs à faire la .nl'-chose « .en » ou ».

Je pense que cela dépend de votre environnement. Êtes-vous générer les mêmes pages en plusieurs langues en utilisant un framework web avec une base de données ou avez-vous des pages statiques?

Dans de nombreux cadres web commun (rails ou symfony) vous pouvez définir des règles de routage pour # 1 qui peupleront automatiquement un paramètre avec la langue que le contrôleur utiliserait ensuite pour générer le contenu approprié. Trois fonctionnerait aussi bien, bien sûr, mais il est un peu distrayant à mon avis.

2 est convient particulièrement si vous causez redirection au niveau du serveur Web et a l'avantage de permettre urls de / sans risquer de « perdre » le paramètre de langue de votre utilisateur. En d'autres termes, un lien vers / home prendriez-vous à la version correcte de la page « accueil ».

Une dernière option est la langue de magasin comme une préférence utilisateur dans un cookie et non remplissiez dans l'url du tout.

Le premier est plus logique. Parce que si quelqu'un veut aller directement à la page que vous et il / elle peut simplement taper blabla.com/en et d'atteindre ce qu'il / elle veut ...

Je ne sais pas s'il y a une « meilleure pratique » dans ce cas, car il probablement se résume à l'opinion personnelle.

Pour moi, je aurais tendance à privilégier la troisième option, car il est vraiment la même page que de chargement, vous êtes juste modifier le contenu avec un paramètre GET. En utilisant une URL distincte (plutôt que d'un paramètre) serait de me signifier que c'est une page totalement distincte / ressource, qui, dans ce cas, il ne serait pas. Vous auriez sans doute aussi obtenir des moteurs de recherche d'indexer la page plusieurs fois dans différentes langues, etc. (Bien que peut-être que ce que vous voulez).

Les moteurs de recherche considèrent les sous-domaines à des sites Web indépendants. Je ne sais pas comment elle influe sur la SEO bien.

Je suis loin de connaître la « bonne » réponse (je suppose qu'il n'y a pas lieu), mais comme vous demandez des commentaires, voici le mien est:

Une URL (ou URI) est quelque chose qui décrit ou identifie un ressource . Si je me souviens bien l'URL ne doit pas dépendre de comment la ressource doit être affiché (HTML, XML, JSON, etc.).

Vous pouvez également envisager la langue comme un moyen de spécifier comment la ressource doit être affichée.

Donc, à mon avis, la dernière option, à savoir préciser la langue en tant que paramètre serait plus approprié.

Si vous êtes à la recherche de « moteur de recherche convivial » et les URL « jolis », vous devriez éviter les paramètres non masquées GET. Ils ne sont pas aussi bien à l'oeil comme un sous-domaine ou sous-répertoire, et ne sont pas exactement. SEO-friendly

Dans cet esprit, je choisirais le sous-domaine. Vous obtenez un simple « switch » classique pour modifier la langue d'affichage, et ce ne sont pas ensevelis au milieu de votre URL. Très facile à repérer et à modifier.

Je certainement aller pour

www.mydomain.com/articles/random?lang=en
www.mydomain.com/articles/random?lang=nl 

car est plus naturel de dire:. « Ce lien (le lien complet) est en anglais ou en néerlandais »

Dans le cas contraire (domaine / lang / url restof) donne l'impression que vous avez une sorte de structure qui contient des choses différentes pour en nl et. De même pour lang.domain / ...

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