URLs: Dash vs. Underscore [geschlossen]

186

Sollte es / about_us oder / about-us sein ?

Unter dem Gesichtspunkt der Benutzerfreundlichkeit denke ich persönlich, dass / about-us für Endbenutzer viel besser ist, aber Google und die meisten anderen Websites (und Javascript-Frameworks) verwenden Unterstrich-Namensmuster. Ist es nur eine Frage des Stils? Gibt es Kompatibilitätsprobleme mit Bindestrichen?

lubos hasko
quelle
6
Warum nicht /index____1125.aspx (das sind vier Unterstriche, sehr wichtig!)
Christian Davén
76
Ach komm schon. Diese Frage und die Antworten interessieren mich. Die Frage hat 52 Upvoates, und Sie haben sie geschlossen? Es geht um Programmierung. Web Programmierung. Entscheiden, wie Verzeichnisse in einer Website benannt werden sollen, die gerade entwickelt wird.
Kaydell
3
Gutes Video vom Google-Ingenieur erklären: youtube.com/watch?v=AQcSFsQyct8
JohnB
Kam hierher, um es herauszufinden whether_domain_URLs_can_have_underscores.com.
NeverMind9

Antworten:

31

Dies ist nur eine Vermutung, aber es scheint, dass sie die ausgewählt haben, die die Leute höchstwahrscheinlich nicht in einem Namen verwenden würden. Auf diese Weise können Sie einen Namen haben, der ein Wort mit Bindestrich enthält, und die Unterleiste weiterhin als Worttrennzeichen verwenden, z. B. UseTwo-wayLinks können in use_two-way_links konvertiert werden.

In Ihrem Beispiel wäre / about-us ein Verzeichnis mit dem getrennten Wort "about-us" (falls ein solches Wort vorhanden wäre, und / about_us wäre ein Verzeichnis mit dem Zwei-Wort-Satz "about us", das in eine einzelne Zeichenfolge konvertiert wurde von nicht weißen Zeichen.

billjamesdev
quelle
11
Vernünftige Vermutung, aber wie sich herausstellt, völlig falsch. -1.
Mark Amery
2
Haben Sie eine Referenz für diese @ MarkAmery? Die Frage drehte sich darum, warum Google Unterstriche verwenden würde. Wenn Sie vorschlagen, dass dies nicht der Fall ist, ist dies nicht das Problem dieser Antwort, sondern das Problem der Frage.
Billjamesdev
1
Erstens, wie man vermutet, ziemlich vernünftig. Ich würde als Teil der Vermutung hinzufügen, dass Programmierer den Bindestrich als Subtraktion verwenden, sodass Unterstriche verwendet werden. Möglicherweise folgen von Programmierern erstellte URLs dieser Konvention. Eine tatsächliche Erklärung wäre jedoch besser. Mark eskaliert mit einem -1 ohne Backup; Ich wünschte, ich könnte dem Kommentar eine -1 geben.
Gerard ONeill
2
@GerardONeill Zitat: Dieses Video von Google Webmasters: youtube.com/watch?v=AQcSFsQyct8 . In diesem Video (das zugegebenermaßen jetzt 6 Jahre alt ist und möglicherweise nicht den aktuellen Status quo darstellt) wird foo_bares als ein einziges Wort foo-barbehandelt, während es als zwei Wörter behandelt wird - genau das Gegenteil von dem, was diese Antwort spekuliert, ist der Fall.
Mark Amery
2
@MarkAmery Ich höre, was Sie sagen, und Sie geben wirklich nur die Worte anderer von vor einiger Zeit weiter, aber es macht Ihnen nichts aus zu hören, dass "foo_bar" als ein Wort behandelt wird, wenn es buchstäblich kann. " t eins sein (da es keine Wörter mit Unterstrichen gibt). Während "Selbstwertgefühl" im Englischen ein vollkommen gültiges zusammengesetztes Wort ist und als eine Einheit durchsuchbar sein sollte?
Billjamesdev
192

Von Google Webmaster Central

Erwägen Sie die Verwendung von Interpunktion in Ihren URLs. Die URL http://www.example.com/green-dress.html ist für uns viel nützlicher als http://www.example.com/greendress.html . Wir empfehlen, in Ihren URLs Bindestriche (-) anstelle von Unterstrichen (_) zu verwenden.

James Lawruk
quelle
4
Google hat nicht erklärt warum? Angeblich hat es etwas mit ihrer Art zu tun, Adressen zu analysieren? Oder wahrscheinlich ist es nur ein Endbenutzerproblem.
xji
9
Es ist auch erwähnenswert, dass unterstrichener Text als Ganzes durch Doppelklicken auf einige Geräte und langes Drücken auf Mobiltelefone ausgewählt werden kann, während bei strichgetrenntem Text dieselben Aktionen jedes getrennte Wort auswählen. Überlegen Sie, ob ein Benutzer jemals versuchen würde, etwas aus der URL zu kopieren
Titus
1
Ich denke, Sie haben dort @Titus möglicherweise eine Kausalitätsschleife getroffen, da dies völlig im Widerspruch zum tatsächlichen ... Englisch steht, das zwar Striche in Worten enthält, aber keine Unterstriche enthält.
Billjamesdev
Ich vermute, es gibt keinen Unterschied, zumindest für Google, ob es '_', '-' oder nichts gibt. Google ging mit dem, was ich
Arthur Tarasov
1
Erläuterungen zu Google finden Sie unter youtu.be/AQcSFsQyct8 . (Sie verwendeten "_" für die genaue Suche.)
Matt Ke
62

Hier einige Punkte für die Bindestriche:

  • Bindestriche werden von Google über Unterstrichen ( Quelle ) empfohlen .
  • Bindestriche sind dem Endbenutzer besser bekannt.
  • Bindestriche lassen sich leichter auf einer Standardtastatur schreiben (keine Umschalttaste erforderlich).
  • Striche verstecken sich nicht hinter Unterstreichungen.
  • Bindestriche fühlen sich im Kontext von URLs nativer an, da sie in Domainnamen zulässig sind.
Emanuil Rusev
quelle
53

Es ist nicht nur Strich gegen Unterstrich:

  • Text mit Leerzeichen
  • Text ohne Leerzeichen
  • codiert% 20spaces% 20in% 20URL
  • underscore_means_space
  • Bindestrich bedeutet Raum
  • plus + bedeutet + Leerzeichen
  • camelCase
  • PascalCase
  • "zitierter Text mit Leerzeichen" (und einfaches Anführungszeichen vs. doppeltes Anführungszeichen)
  • Schrägstrich / Mittel / Leerzeichen
  • dot.means.space
Mark Stock
quelle
43
Willkommen im Wild Wild Web!
Auch Mien
Ich mag Schrägstriche / Mittel / Leerzeichen sehr, wenn ich sie elegant benutze. Eine der Websites, die ich betreibe, verwendet / about / us neben verschiedenen anderen / about / Seiten. Ich kann mich jedoch nicht erinnern, weitere Mainstream-Beispiele gesehen zu haben.
Sekalf Nroc
36

Google hat den Unterstrich in der Vergangenheit nicht als Worttrennzeichen behandelt, was ich für ziemlich verrückt hielt, aber anscheinend jetzt. Aufgrund dieser Vorgeschichte werden Bindestriche bevorzugt. Auch wenn Unterstriche aus SEO-Sicht jetzt zulässig sind, denke ich immer noch, dass Bindestriche am besten sind.

Ein Vorteil ist, dass ein durchschnittlicher Web-Surfer mit Semi-Computer-Analphabeten viel eher in der Lage ist, einen Bindestrich auf der Tastatur einzugeben. Er weiß möglicherweise nicht einmal, was der Unterstrich ist.

MrZebra
quelle
9
Es ist unwahrscheinlich, dass ein durchschnittlicher Web-Surfer mit Semi-Computer-Analphabeten den Unterschied zwischen Adressleiste und Suche erkennen kann. Ihr durchschnittlicher Benutzer ist auch VIEL wahrscheinlicher zu klicken als zu tippen. Sag einfach '
Armstrongest
2
Google behandelt Unterstriche immer noch NICHT als Worttrennzeichen: youtube.com/watch?v=AQcSFsQyct8
Sembiance
16

Früher habe ich immer Unterstriche verwendet, jetzt verwende ich sie nur noch für Teile einer Website, die niemand direkt verlinken soll, js-Dateien, CSS usw.

Aus SEO-Sicht scheinen Bindestriche die bevorzugte Methode zu sein, um eine ausführliche Erklärung aus dem Maul des Pferdes zu erhalten. Http://www.mattcutts.com/blog/dashes-vs-underscores/ .

Das andere Problem, das eher in der Öffentlichkeit als bei Programmierern aufzutreten scheint, ist, dass Sie den Unterstrich nicht sehen können, wenn ein Hyperlink mit Unterstrichen unterstrichen ist. Fortgeschrittene Benutzer werden es schaffen, Joe Public jedoch wahrscheinlich nicht.

Verwenden Sie im Code immer noch Unterstriche anstelle von Bindestrichen - Programmierer verstehen sie, die meisten anderen nicht.

Seanb
quelle
8

Der SEO-Guru Jim Westergren testete dies bereits 2005 aus einer strengen SEO-Perspektive und kam zu dem Schluss, dass + (plus) tatsächlich das beste Worttrennzeichen war. Dies erscheint jedoch nicht sinnvoll und kann auf einen Fehler in den Algorithmen der Suchmaschinen zurückzuführen sein. Er empfiehlt - (Bindestrich) sowohl für die Lesbarkeit als auch für die Suchmaschinenoptimierung.

Christian Davén
quelle
7

Ich fühle mich mit Unterstrichen wohler. Erstens passen sie zu meiner regulären Programmiererfahrung variable_names_are_not-subtraction, zweitens, und ich glaube, dies wurde bereits erwähnt, Wörter können Bindestriche haben, aber sie haben niemals Unterstriche. Um ein wirklich dummes Beispiel zu nennen: "Nationalstaatsland" unterscheidet sich von "Nationalstaatsland". Ersteres übersetzt so etwas wie "das Land der Nationalstaaten" (denken Sie "das hier ist ein Waffenland! Am besten mitmachen, oder?"), Während Letzteres wie eine Liste von Synonymen aussieht, die irgendwann synonym sind. http://example.com/nation-state-country/scheint nicht dasselbe zu bedeuten wie http://example.com/nation-state_country/, und wenn Bindestriche zusätzlich zu Zeichen in Wörtern Trennzeichen / "Leerzeichen" sind , kann dies der Fall sein . Letzteres scheint klarer in Bezug auf den tatsächlichen Zweck zu sein, während Ersteres eher dieser Liste ähnelt, wenn überhaupt.

Devin Jeanpierre
quelle
1
Nur eine Randnotiz: Sprachen wie Lisp oder Scheme verwenden üblicherweise durch Bindestriche getrennte Variablen- / Funktionsnamen, da Minus wie jeder andere nur ein Bezeichner der Funktion ist (und tatsächlich einen größeren Zeichensatz in Bezeichnern zulässt).
JS
5

Unterstriche ersetzen Leerzeichen, in denen Leerzeichen nicht zulässig sind. Bindestriche (Bindestriche) können Teil eines Wortes sein. Daher ist es hässlich / verwirrend, Wörter mit Bindestrichen zu verbinden, die bereits Bindestriche enthalten.

Schlecht:

/low-budget-movies

Gut:

/low-budget_movies
jpeacock
quelle
37
Ich muss damit nicht einverstanden sein. Heutzutage ist es üblich, nur Bindestriche zu verwenden. Nicht-Programmierer finden die Unterstriche visuell unattraktiv. Mit dem ersten Beispiel ist nichts falsch. Es ist eigentlich freundlicher zu lesen.
allesklar
9
Semantisch haben Sie Recht, aber die Unterscheidung ist möglicherweise eher verwirrend als nützlich für die Verwendung in URLs. Menschen erinnern sich eher an "abcde" als an "a-b_c-d_e".
Wadih M.
Jemand sagt Jeff, dass er das Tag-System neu schreiben muss ...
1
"Ja wirklich?" @Wadih, wenn die Leute Wörter richtig schreiben, gibt es nichts, woran man sich bei Low-Budget-Filmen erinnern kann. Sie müssen sich nicht mehr daran erinnern als an die Worte "Low-Budget-Filme". Wenn Sie nur a, b, c, d, e verwenden, macht dies natürlich keinen Sinn. "Low-Budget" ist nicht dasselbe wie "Low-Budget".
Fletom
schlecht: / Low-Budget-Filme, schlecht: / Low-Budget-Filme, gut: / Low-Budget% 20 Filme
Mikhail Antonov
3

Ich denke, Dash ist aus Anwendersicht besser und wird die SEO nicht beeinträchtigen.

Ich bin mir nicht sicher, wo oder warum die Unterstrichkonvention begonnen hat.

Eine etwas sachkundigere Debatte

Geoff
quelle
3

Ich bevorzuge Bindestriche auf der Grundlage, dass ein Unterstrich durch einen unterstrichenen Link in gewissem Maße verdeckt wird. Text-URLs dienen in erster Linie dazu, auf einen Blick erkannt zu werden, anstatt grammatikalisch korrekt zu sein. Daher ist das Argument für die Beibehaltung von Bindestrichen zur Verwendung in getrennten Wörtern begrenzt.

Die Genauigkeit einer Text-URL ist wichtig, wenn Sie sie jemandem vorlesen. In diesem Fall möchten Sie keinen Unterstrich für ein Leerzeichen verwechseln (oder umgekehrt).

Ich finde Striche auch ästhetisch ansprechender, wenn das für irgendetwas zählt.

Andrew Ingram
quelle
2

Für die Endbenutzeransicht bevorzuge ich "about-us" oder "about us", nicht "about_us".

Krirk
quelle
1

Persönlich würde ich vermeiden, about-us oder about_us zu verwenden, und nur about verwenden.

RodgerB
quelle
3
/ über / uns / nein / ernsthaft / dies / ist / es :)
Brad Wilson
12
und das ist deine lösung? Gut, was ist mit "about_our_customers" oder einer Vielzahl von "abouts", die ich mir einfallen lassen könnte? Ein Problem ignorieren! = Lösung.
Billjamesdev
1

Einige ältere Webhosting- und DNS-Server haben tatsächlich Probleme beim Parsen von Unterstrichen für URLs, sodass dies bei Konventionen wie diesen möglicherweise eine Rolle spielt.

Jon Limjap
quelle
2
Ja, aber das ist nur in Hostnamen.
Anirvan
0

Ich persönlich würde alle Striche und Unterstriche vermeiden und mich für camelCase oder PascalCase entscheiden, wenn es im Code enthalten ist.

Der Wikipedia-Artikel über camelCase erklärt ein wenig die Gründe für seine Entstehung. Sie betragen

  1. Faule Programmierer, die nicht gerne nach der Taste _ griffen
  2. Mögliche Verwirrung über die Lesbarkeit
  3. Die "Alto" -Tastatur bei xerox PARC ohne Unterstrich.

Wenn der Benutzer die Zeichenfolge sehen soll, würde ich keine der oben genannten Aktionen ausführen und "Über uns" verwenden. oder "AboutUs", wenn ich als camelCase musste, hat sich in einigen Bereichen wie Produktnamen zur allgemeinen Verwendung verbreitet. dh ThinkPad, TiVo


quelle
Wie würde die Suchmaschine wissen, wo ein Wort beginnt oder endet?
Joe Phillips
Warum sollte die Suchmaschine mit PascalCase nicht wie mit jedem anderen Delimeter umgehen, sei es ein _, - oder: was das angeht?
1
Guter Rat ... ist diese Frage nach Code gestellt. URLs unterscheiden [normalerweise] nicht zwischen Groß- und Kleinschreibung und werden normalerweise in Kleinbuchstaben angezeigt.
Armstrongest
1
@dI -_- Ib Nur bei den Domainnamen wird die Groß- und Kleinschreibung nicht berücksichtigt. Der Pfad unterscheidet zwischen Groß- und Kleinschreibung, sodass die Kamel- und Pascalstile eine praktikable Option sind. Indem Sie sie verwenden, machen Sie die Wörter, die sie darstellen, effektiv unabhängig von Groß- und Kleinschreibung. Das wäre meiner Meinung nach das größte Problem bei dieser Option.
Atli
0

Leerzeichen sind in URLs zulässig, daher können Sie einfach "/ about us" in einem Link verwenden (obwohl dies in "/ about% 20us" codiert ist. Aber seien Sie ehrlich, dies ist immer eine persönliche Präferenz, daher gibt es keine echte Antwort hier gegeben werden.

Ich würde der Konvention folgen, dass Bindestriche in Wörtern erscheinen können, daher sollten Leerzeichen in Unterstriche umgewandelt werden.


quelle