web-dev-qa-db-fra.com

URL: Dash vs. Underscore

Devrait-il être / about_us ou / about-us?

Du point de vue de la convivialité, je pense personnellement que / à propos de nous est bien meilleur pour l’utilisateur final. Pourtant, Google et la plupart des autres sites Web (ainsi que les frameworks javascript) utilisent des noms de soulignement. Est-ce juste une question de style? Existe-t-il des problèmes de compatibilité avec les tirets?

173
lubos hasko

Ceci est juste une hypothèse, mais il semble qu'ils aient choisi celui que les gens ne seraient probablement pas utiliser dans un nom. De cette façon, vous pouvez avoir un nom qui inclut un mot coupé par un trait d'union, tout en utilisant le sous-titre comme délimiteur de mot, par exemple. UseTwo-wayLinks peut être converti en use_two-way_links.

Dans votre exemple,/about-us serait un répertoire nommé le mot composé "about-us" (si un tel mot existait et/about_us serait un répertoire nommé l'expression "about about" à deux mots convertie en une seule chaîne de caractères non blancs.

31
billjamesdev

De Google Webmaster Central

Pensez à utiliser la ponctuation dans vos URL. L’URL http://www.example.com/green-dress.html nous est beaucoup plus utile que http://www.example.com/greendress.html =. Nous vous recommandons d'utiliser des traits d'union (-) au lieu de traits de soulignement (_) dans vos URL.

183
James Lawruk

Voici quelques points en faveur des tirets:

  • Les tirets sont recommandés par Google pour les caractères de soulignement ( source ).
  • Les tirets sont plus familiers à l'utilisateur final.
  • Les tirets sont plus faciles à écrire sur un clavier standard (pas besoin de décaler).
  • Les tirets ne se cachent pas derrière des soulignements.
  • Les tirets se sentent plus natifs dans le contexte des URL car ils sont autorisés dans les noms de domaine.
53
Emanuil Rusev

Ce n'est pas juste tiret contre soulignement:

  • texte avec des espaces
  • textwithoutspaces
  • % 20spaces% 20in% 20URL codés
  • underscore_means_space
  • dash-signifie-espace
  • plus + signifie + espace
  • affaire de chameau
  • PascalCase
  • "texte entre guillemets avec espaces" (et guillemet simple contre guillemet double)
  • slash/moyen/espace
  • dot.means.space
51
Mark Stock

Dans le passé, Google ne traitait pas le soulignement comme un séparateur de mots, ce qui me paraissait assez fou, mais apparemment, il le fait maintenant. En raison de cette histoire, les tirets sont préférés. Même si les soulignements sont maintenant autorisés du point de vue du référencement, je pense toujours que les tirets sont les meilleurs.

Un avantage est que votre internaute moyen semi-illettré sur le Web est beaucoup plus susceptible de pouvoir taper un tiret sur le clavier; il se peut même qu'il ne sache pas ce que le trait de soulignement est.

36
MrZebra

J'avais l'habitude d'utiliser des traits de soulignement tout le temps, maintenant je ne les utilise que pour des parties d'un site Web que je ne veux pas que quiconque lie directement, fichiers js, css, ... etc.

Du point de vue du référencement, les tirets semblent être le moyen privilégié de le gérer, pour une explication détaillée, de la bouche des chevaux http://www.mattcutts.com/blog/dashes-vs-underscores/ .

L'autre problème qui semble se produire, plus avec le grand public que les programmeurs, est que lorsqu'un hyperlien avec soulignement est souligné, vous ne pouvez pas voir le soulignement. Les utilisateurs avancés y parviendront, mais Joe Public ne le fera probablement pas.

Utilisez toujours des traits de soulignement dans le code plutôt que des tirets - les programmeurs les comprennent, mais pas la plupart des gens.

14
seanb

Jeff a quelques idées à ce sujet: https://blog.codinghorror.com/of-spaces-underscores-and-dashes/

Il y a des inconvénients aux deux. Je suggérerais que vous en choisissiez un et soyez cohérent.

11
s d

Le gourou du référencement Jim Westergren a testé cela en 2005 dans une perspective de référencement strict et est parvenu à la conclusion que + (plus) était en fait le meilleur délimiteur de Word. Cependant, cela ne semble pas raisonnable et peut être dû à un bug dans les algorithmes des moteurs de recherche. Il recommande - (tiret) pour la lisibilité et le référencement.

8
Christian Davén

Je suis plus à l'aise avec les traits de soulignement. Tout d’abord, ils correspondent à mon expérience de programmation habituelle de variable_names_are_not-subtraction, deuxièmement, et je crois que cela a déjà été mentionné, les mots peuvent avoir des traits d'union, mais ils n'ont jamais de trait de soulignement. Pour prendre un exemple vraiment stupide, "pays d'État-nation" est différent de "pays d'État-nation". Le premier traduit quelque chose comme "la terre des États-nations" (pensez: "ici, c'est un pays d'armes à feu! Le mieux va, y'ear?"), Tandis que le second ressemble à une liste de synonymes. http://example.com/nation-state-country/ ne semble pas vouloir dire la même chose que http://example.com/nation-state_country/, et pourtant, si les traits d'union sont des délimiteurs/"espaces" en plus des caractères dans les mots, c'est possible. Ce dernier semble plus clair quant au but réel, tandis que le premier ressemble plus à cette liste, si tant est.

7
Devin Jeanpierre

Les traits de soulignement remplacent les espaces où les espaces ne sont pas autorisés. Les tirets (traits d'union) peuvent faire partie d'un mot. Par conséquent, joindre des mots à des traits d'union comprenant déjà des traits d'union est déplorable/déroutant.

Mauvais:

/low-budget-movies

Bien:

/low-budget_movies
4
jpeacock

Je pense que dash est meilleur du point de vue de l'utilisateur et qu'il n'interférera pas avec le référencement.

Vous ne savez pas où ni pourquoi la convention de soulignement a commencé.

Un peu plus averti débat

3
Geoff

Je préfère les tirets au motif qu'un trait de soulignement peut être masqué dans une certaine mesure par un soulignement de lien. Les URL textuelles sont principalement destinées à être reconnues en un coup d'œil plutôt que correctes sur le plan grammatical, de sorte que l'argument en faveur de la préservation des tirets pour une utilisation dans les mots composés est limité.

La précision d'une URL textuelle est importante lorsque vous le lisez à quelqu'un, auquel cas vous ne voulez pas confondre un soulignement pour un espace (ou vice-versa).

Je trouve aussi les traits plus esthétiques, si cela compte.

3
Andrew Ingram

Pour les utilisateurs finaux, je préfère "à propos de nous" ou "à propos de nous" et non "à propos de nous"

2
Krirk

Personnellement, j'éviterais d'utiliser about-us ou about_us, mais simplement about about.

1
RodgerB

Certains serveurs d'hébergement Web et DNS plus anciens rencontrent des difficultés pour analyser les caractères de soulignement des URL, ce qui peut jouer un rôle dans les conventions de ce type.

1
Jon Limjap

Personnellement, je voudrais éviter tous les tirets et les traits de soulignement et opter pour camelCase ou PascalCase si c'est dans le code.

L'article de Wikipedia sur camelCase explique un peu le raisonnement derrière ses origines. Ils équivalent à

  1. Programmeurs paresseux qui n'aimaient pas atteindre la touche _
  2. Confusion potentielle sur la lisibilité
  3. Le clavier "Alto" de xerox PARC ne comportant pas de touche de soulignement.

Si l'utilisateur doit voir la chaîne, je ne ferais aucune des choses ci-dessus et utiliserais "À propos de nous". ou "AboutUs" si je devais le faire, car camelCase s'est répandu dans certains domaines, tels que les noms de produits. i.e ThinkPad, TiVo

0
user18443

Mieux utiliser. -/en tant que séparateurs, parce que _ ne semble pas être un séparateur.

http://www.sistrix.com/blog/832-how-long-may-a-linktext-be.html

0
Eddy Freddy

Les espaces sont autorisés dans les URL, vous pouvez donc simplement utiliser "/ à propos de nous" dans un lien (bien que cela soit codé pour "/ à propos de% 20us". Mais soyez honnête, ce sera toujours une préférence personnelle, donc il n'y a pas de vraie réponse être donné ici.

Je voudrais aller avec la convention que les tirets peuvent apparaître dans les mots, donc les espaces doivent être convertis en soulignés.

0
pbean