URL: Dash vs Underscore [fermé]

195

Doit-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, mais Google et la plupart des autres sites Web (et frameworks javascript) utilisent un modèle de dénomination de soulignement. Est-ce juste une question de style? Y a-t-il des problèmes de compatibilité avec les tirets?

lubos hasko
la source
6
Pourquoi pas /index____1125.aspx (c'est quatre traits de soulignement, très important!)
Christian Davén
82
Oh, allez. Je m'intéresse à cette question et aux réponses. La question a 52 upvoates, et vous l'avez fermée? Il s'agit de programmation. Programmation web. Décider comment nommer les répertoires dans un site Web en cours de développement.
Kaydell
4
Bonne vidéo expliquée par l'ingénieur Google: youtube.com/watch?v=AQcSFsQyct8
JohnB
Je suis venu ici pour le savoir whether_domain_URLs_can_have_underscores.com.
neverMind9

Réponses:

31

Ce n'est qu'une supposition, mais il semble qu'ils aient choisi celui que les gens n'utiliseraient probablement pas dans un nom. De cette façon, vous pouvez avoir un nom qui inclut un mot avec trait d'union, et toujours utiliser la barre de soulignement comme délimiteur de mot, par exemple UseTwo-wayLinks pourrait être converti en use_two-way_links.

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

billjamesdev
la source
11
Une supposition raisonnable, mais en fin de compte, totalement fausse. -1.
Mark Amery
2
Avez-vous une référence pour cela @MarkAmery? La question tournait autour de pourquoi Google utiliserait des traits de soulignement. Si vous suggérez qu'ils ne le font pas, ce n'est pas le problème de cette réponse, mais le problème de la question.
billjamesdev
1
Tout d'abord, comme on le suppose, assez raisonnable. J'ajouterais dans le cadre de l'hypothèse que les programmeurs utilisent le tiret comme soustraction, donc le trait de soulignement est utilisé; peut-être que les URL, créées par des programmeurs, suivent cette convention. Une explication réelle serait cependant préférable. Mark augmente avec un -1 sans aucune sauvegarde; souhaite que je puisse donner le commentaire un -1.
Gerard ONeill
2
@GerardONeill citation: cette vidéo de Google Webmasters: youtube.com/watch?v=AQcSFsQyct8 . Selon cette vidéo (certes maintenant 6 ans et ne représentant peut-être pas le statu quo contemporain), foo_barest traitée comme un seul mot alors qu'elle foo-barest traitée comme deux mots - exactement le contraire de ce que cette réponse spécule est le cas.
Mark Amery
2
@MarkAmery J'entends ce que vous dites, et vous ne faites que relayer les mots des autres il y a quelque temps, mais cela ne vous dérange pas d'entendre que "foo_bar" est traité comme un mot, alors qu'il le peut littéralement " t être un (car il n'y a pas de mots avec des traits de soulignement). Alors que «estime de soi» est un mot composé parfaitement valable en anglais, et devrait être recherché comme une seule entité?
billjamesdev
198

Depuis Google Webmaster Central

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

James Lawruk
la source
4
Google n'a pas expliqué pourquoi? Apparemment, cela a quelque chose à voir avec leur façon d'analyser les adresses? Ou c'est probablement juste un problème d'utilisateur final.
xji
9
Il convient également de noter que le texte souligné est sélectionnable dans son ensemble en double-cliquant sur certains appareils et en appuyant longuement sur les mobiles, alors qu'avec le texte séparé par des tirets, les mêmes actions sélectionnent chaque mot séparé. Pensez à savoir si un utilisateur essaierait un jour de copier quelque chose de l'URL
Titus
1
Je pense que vous avez peut-être frappé une boucle de causalité là-bas @Titus, car c'est complètement contraire à la réalité ... l'anglais, qui a des tirets dans les mots, mais n'a pas de traits de soulignement.
billjamesdev
je suppose qu'il n'y a aucune différence, au moins pour Google, qu'il y ait «_», «-» ou rien. Google est allé avec ce que je suppose est le plus lisible pour les humains, un tiret
Arthur Tarasov
1
Voir youtu.be/AQcSFsQyct8 pour l'explication de Google. (Ils ont utilisé "_" pour la recherche exacte.)
Matt Ke
66

Voici quelques points en faveur des tirets:

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

Ce n'est pas seulement un tiret ou un trait de soulignement:

  • texte avec espaces
  • texte sans espaces
  • encodé% 20spaces% 20in% 20URL
  • underscore_means_space
  • dash-means-space
  • plus + signifie + espace
  • affaire de chameau
  • PascalCase
  • "texte entre guillemets et espaces" (et guillemets simples ou guillemets doubles)
  • barre oblique / moyen / espace
  • dot.means.space
Marquer le stock
la source
44
Bienvenue sur le Wild Wild Web!
Even Mien
J'adore slash / means / space lorsqu'il est utilisé avec élégance. L'un des sites que j'exécute utilise / about / us aux côtés de diverses autres / about / pages. Je ne me souviens pas d'avoir vu d'autres exemples courants.
Sekalf Nroc
36

Dans le passé, Google ne traitait pas le trait de soulignement comme un séparateur de mots, ce que je trouvais assez fou, mais apparemment c'est le cas maintenant. En raison de cet historique, les tirets sont préférés. Même si les traits de soulignement sont désormais autorisés d'un point de vue SEO, je pense toujours que les tirets sont les meilleurs.

Un avantage est que votre internaute moyen semi-analphabète en informatique est beaucoup plus susceptible de pouvoir taper un tiret sur le clavier, il peut même ne pas savoir ce qu'est le trait de soulignement.

MrZebra
la source
9
Il est peu probable que votre internaute moyen, semi-analphabète en informatique, puisse faire la différence entre la barre d'adresse et la recherche. Votre utilisateur moyen est également BEAUCOUP plus susceptible de cliquer que de taper. Just sayin '
Armstrongest
2
Google ne traite toujours PAS le trait de soulignement comme un séparateur de mots: youtube.com/watch?v=AQcSFsQyct8
Sembiance
16

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.

D'un point de vue SEO, les tirets semblent être le moyen préféré de le gérer, pour une explication détaillée, de la bouche du cheval http://www.mattcutts.com/blog/dashes-vs-underscores/ .

L'autre problème qui semble se produire, plus auprès du grand public que des programmeurs, est que lorsqu'un lien hypertexte avec des traits de soulignement est souligné, vous ne pouvez pas voir le trait de 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, la plupart des autres ne le font pas.

seanb
la source
8

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

Christian Davén
la source
7

Je suis plus à l'aise avec les traits de soulignement. Tout d'abord, ils correspondent à mon expérience de programmation habituelle 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 traits de soulignement. Pour prendre un exemple vraiment stupide, «pays-État-nation» est différent du «pays État-nation». Le premier traduit quelque chose comme "le pays des États-nations" (pensez "c'est ici le pays des armes! Il vaut mieux avancer, hein?"), Tandis que le second ressemble à une liste de synonymes parfois. http://example.com/nation-state-country/ne semble pas avoir la même signification 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. Le dernier semble plus clair quant à l'objectif réel, tandis que le premier ressemble plus à cette liste, si tant est qu'il en soit.

Devin Jeanpierre
la source
1
Juste une remarque, les langages comme Lisp ou Scheme utilisent habituellement des noms de variables / fonctions séparés par des tirets, car moins est juste un identifiant de fonction comme les autres (et en fait, ils permettent un jeu de caractères plus grand dans les identificateurs).
JS
5

Les traits de soulignement remplacent les espaces où les espaces blancs ne sont pas autorisés. Les tirets (traits d'union) peuvent faire partie d'un mot, donc joindre des mots avec des tirets qui incluent déjà des traits d'union est laid / déroutant.

Mal:

/low-budget-movies

Bien:

/low-budget_movies
jpeacock
la source
37
Je dois être en désaccord avec cela. De nos jours, il est d'usage d'utiliser uniquement des tirets. Les non-programmeurs trouvent les traits de soulignement visuellement peu attrayants. Rien de mal avec le premier exemple. C'est en fait plus convivial à lire.
allesklar
9
Sémantiquement, vous avez raison, mais la distinction peut être plus déroutante qu'utile pour une utilisation dans les URL. Les gens sont plus susceptibles de se souvenir de «abcde» que de «a-b_c-d_e».
Wadih M.
Quelqu'un dit à Jeff qu'il doit réécrire le système de balises ...
1
Vraiment? @Wadih, si les gens épellent correctement les mots, il n'y a rien de difficile à retenir sur les films à petit budget. Vous n'avez pas à vous en souvenir plus que les mots "films à petit budget". Bien sûr, lorsque vous utilisez simplement a, b, c, d, e, cela n'a aucun sens. «Petit budget» n'est pas la même chose que «petit budget», point final.
fletom le
mauvais: / films à petit budget, mauvais: / films à petit budget, bien: / films à petit budget% 20movies
Mikhail Antonov
3

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

Je ne sais pas où ni pourquoi la convention de soulignement a commencé.

Un débat un peu plus éclairé

Geoff
la source
3

Je préfère les tirets car 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 qu'à être grammaticalement correctes, de sorte que l'argument pour conserver les tirets à utiliser dans les mots avec trait d'union est limité.

Lorsque la précision d'une URL textuelle est importante, c'est lors de sa lecture à quelqu'un, auquel cas vous ne voulez pas confondre un trait de soulignement avec un espace (ou vice-versa).

Je trouve aussi les tirets plus esthétiques, si cela compte pour quelque chose.

Andrew Ingram
la source
2

Pour la vue de l'utilisateur final, je préfère "à propos de nous" ou "à propos de nous" et non "about_us"

Krirk
la source
1

Certains hébergeurs Web et serveurs DNS plus anciens ont en fait des problèmes pour analyser les traits de soulignement pour les URL, ce qui peut jouer un rôle dans des conventions comme celles-ci.

Jon Limjap
la source
2
Ouais, mais ce n'est que dans les noms d'hôte.
Anirvan
0

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

RodgerB
la source
3
/ about / us / no / serious / this / is / it :)
Brad Wilson
14
et c'est votre solution? Bien, qu'en est-il de "about_our_customers" ou de toute une myriade de "abouts" que je pourrais proposer et qui pourraient être pertinents. Ignorer un problème! = Solution.
billjamesdev
0

Personnellement, j'éviterais tous les tirets et les traits de soulignement et j'opterais 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 s'élèvent à

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

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


la source
Comment le moteur de recherche pourrait-il savoir où commence ou se termine un mot?
Joe Phillips
Pourquoi le moteur de recherche ne traiterait-il pas PascalCase de la même manière que n'importe quel autre délimiteur, que ce soit un _, - ou: d'ailleurs?
1
Bon conseil ... est cette question posée sur le code. Les URL sont [généralement] insensibles à la casse et sont généralement affichées en minuscules.
Armstrongest
1
@dI -_- Ib Seuls les noms de domaine sont insensibles à la casse. Le chemin est sensible à la casse, ce qui fait des styles camel et pascal une option viable. Cependant, en les utilisant, vous rendez effectivement les mots qu'ils représentent insensibles à la casse. Ce serait le plus gros problème avec cette option, à mon avis.
Atli
0

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

J'irais avec la convention selon laquelle les tirets peuvent apparaître dans les mots, donc les espaces doivent être convertis en traits de soulignement.


la source