Adresy URL: Dash vs. Underscore [zamknięte]


187

Czy powinno to być / about_us lub / about-us ?

Z punktu widzenia użyteczności osobiście uważam, że / użytkownik jest o wiele lepszy dla użytkowników końcowych, ale Google i większość innych stron internetowych (i frameworki javascript) używają wzorca nazw podkreślenia. Czy to tylko kwestia stylu? Czy są jakieś problemy ze zgodnością z myślnikami?


6
Dlaczego nie /index____1125.aspx (to cztery podkreślenia, bardzo ważne!)
Christian Davén

77
Och przestań. Interesuje mnie to pytanie i odpowiedzi. Pytanie ma 52 upvoates, a ty je zamknąłeś? Chodzi o programowanie. Programowanie sieciowe. Podejmowanie decyzji, jak nazwać katalogi w opracowywanej witrynie.
Kaydell,


3
Dobry film wyjaśniający od inżyniera Google: youtube.com/watch?v=AQcSFsQyct8
JohnB

Przyszedł tutaj, aby się dowiedzieć whether_domain_URLs_can_have_underscores.com.
neverMind9,

Odpowiedzi:


30

To tylko przypuszczenie, ale wygląda na to, że wybrali ten, którego ludzie najprawdopodobniej nie użyliby w nazwie. W ten sposób możesz mieć nazwę zawierającą dzielony wyraz i nadal używać dolnego paska jako separatora słów, np. UseTwo-wayLinks można przekonwertować na use_two-way_links.

W twoim przykładzie / about-us byłby katalogiem o nazwie dzielonego wyrazu „about-us” (gdyby takie słowo istniało, a / about_us byłby katalogiem o nazwie składającej się z dwóch słów fraza „o nas” przekonwertowanym na pojedynczy ciąg znaków znaków innych niż białe.


11
Rozsądne domysły, ale jak się okazuje, całkowicie nieprawdziwe. -1.
Mark Amery

2
Czy masz odniesienie do tego @ MarkAmery? Pytanie dotyczyło, dlaczego Google użyje podkreślników. Jeśli sugerujesz, że nie, to nie jest to problem tej odpowiedzi, ale problem pytania.
billjamesdev

1
Po pierwsze, jak się domyślają, całkiem rozsądne. Dodałbym w ramach przypuszczenia, że ​​programiści używają myślnika jako odejmowania, więc używany jest znak podkreślenia; być może adresy URL utworzone przez programistów są zgodne z tą konwencją. Rzeczywiste wyjaśnienie byłoby jednak lepsze. Oznacz eskaluje z -1 bez żadnej kopii zapasowej; chciałbym móc dać komentarz -1.
Gerard ONeill

2
@GerardONeill cytat: ten film autorstwa webmasterów Google: youtube.com/watch?v=AQcSFsQyct8 . Według tego wideo (co prawda ma teraz 6 lat i być może nie reprezentuje współczesnego status quo) foo_barjest traktowane jako pojedyncze słowo, podczas gdy foo-barjest traktowane jako dwa słowa - dokładnie przeciwnie do tego, co spekuluje ta odpowiedź.
Mark Amery

2
@ MarkAmery Słyszę, co mówisz, i tak naprawdę po prostu przekazujesz słowa innych dawno temu, ale czy nie wkurza cię to, że „foo_bar” jest traktowane jak słowo, skoro dosłownie może ” t być jednym (ponieważ nie ma słów z podkreślnikami). Podczas gdy „poczucie własnej wartości” jest doskonale poprawnym słowem złożonym w języku angielskim i powinno być możliwe do przeszukiwania jako pojedyncza jednostka?
billjamesdev,

193

Z Google Webmaster Central

Rozważ użycie interpunkcji w swoich adresach URL. Adres URL http://www.example.com/green-dress.html jest dla nas znacznie bardziej użyteczny niż http://www.example.com/greendress.html . Zalecamy stosowanie łączników (-) zamiast podkreślników (_) w adresach URL.


4
Google nie wyjaśnił dlaczego? Podobno ma to coś wspólnego z ich sposobem parsowania adresów? Lub prawdopodobnie jest to tylko problem dla użytkownika końcowego.
Xji

9
Warto również zauważyć, że podkreślony tekst można wybierać jako całość, dwukrotnie klikając niektóre urządzenia i naciskając długo na telefonach komórkowych, podczas gdy w przypadku tekstu rozdzielanego myślnikiem te same czynności wybierają każde oddzielne słowo. Zastanów się, czy użytkownik nie spróbuje kiedyś skopiować czegoś z adresu URL
Tytus

1
Wydaje mi się, że natrafiłeś na pętlę przyczynowości w @Titus, ponieważ jest to całkowicie sprzeczne z faktycznym ... angielskim, w którym ZNAJDUJE się myślniki, ale nie ma podkreślników.
billjamesdev

zgaduję, że nie ma różnicy, przynajmniej w przypadku Google, czy jest to „_”, „-” czy nic. Google poszedł z tym, co według mnie jest najbardziej czytelne dla ludzi, kreską
Arthur Tarasov

1
Zobacz youtu.be/AQcSFsQyct8 na wyjaśnieniu Google. (Użyli „_” do dokładnego dopasowania wyszukiwania.)
Matt Ke

62

Oto kilka punktów na korzyść myślników:

  • Google zaleca kreski zamiast podkreślników ( źródło ).
  • Kreski są bardziej znane użytkownikowi końcowemu.
  • Kreski są łatwiejsze do pisania na standardowej klawiaturze (nie ma potrzeby Shift).
  • Kreski nie chowają się za podkreśleniami.
  • Myślniki są bardziej natywne w kontekście adresów URL, ponieważ są dozwolone w nazwach domen.

53

To nie tylko myślnik vs. podkreślenie:

  • tekst ze spacjami
  • tekst bez przestrzeni
  • zakodowane% 20spaces% 20in% 20URL
  • underscore_means_space
  • dash-znaczy-przestrzeń
  • plus + oznacza + spację
  • camelCase
  • PascalCase
  • „cytowany tekst ze spacjami” (i pojedynczy cytat vs. podwójny cytat)
  • ukośnik / środki / spacja
  • dot.means.space

43
Witamy w Wild Wild Web!
Nawet Mien

Uwielbiam slash / średnią / przestrzeń, gdy używa się go elegancko. Jedna z witryn, które prowadzę, używa / about / us wraz z różnymi innymi / about / pages. Nie przypominam sobie jednak, by widziałem więcej przykładów z głównego nurtu.
Sekalf Nroc

36

Google nie traktował podkreślenia jako separatora słów w przeszłości, co moim zdaniem było dość szalone, ale najwyraźniej robi to teraz. Ze względu na tę historię preferowane są myślniki. Mimo że podkreślenia są teraz dozwolone z punktu widzenia SEO, nadal uważam, że kreski są najlepsze.

Jedną z korzyści jest to, że przeciętny internauta z pół-komputera, który jest analfabetą, jest o wiele bardziej skłonny do wpisania myślnika na klawiaturze, może nawet nie wiedzieć, co to jest podkreślenie.


9
Przeciętny internauta z analfabetyzmu w sieci raczej nie będzie w stanie odróżnić paska adresu od wyszukiwania. Twój przeciętny użytkownik ma również DUŻO większą szansę na kliknięcie niż na wpisanie. Tylko mówię
Armstrongest

2
Google nadal NIE traktuje podkreślenia jako separatora słów: youtube.com/watch?v=AQcSFsQyct8
Sembiance

16

Zawsze używałem podkreślników, teraz używam ich tylko do części strony internetowej, których nie chcę, aby ktokolwiek bezpośrednio łączył, pliki js, css, ... itd.

Z punktu widzenia SEO kreski wydają się być preferowanym sposobem radzenia sobie z nimi, dla szczegółowego wyjaśnienia, z ust koni http://www.mattcutts.com/blog/dashes-vs-underscores/ .

Innym problemem, który wydaje się występować, bardziej w przypadku ogółu społeczeństwa niż programistów, jest to, że gdy hiperłącze z podkreśleniami jest podkreślone, nie widać podkreślenia. Zaawansowani użytkownicy to wypracują, ale Joe Public prawdopodobnie tego nie zrobi.

Nadal jednak używaj podkreślenia w kodzie zamiast myślników - programiści je rozumieją, a większość innych ludzi tego nie rozumie.



8

Guru SEO Jim Westergren przetestował to w 2005 roku ze ścisłej perspektywy SEO i doszedł do wniosku, że + (plus) to tak naprawdę najlepszy separator słów. Nie wydaje się to jednak rozsądne i może być spowodowane błędem w algorytmach wyszukiwarek. Zaleca - (myślnik) ze względu na czytelność i SEO.


7

Czuję się lepiej z podkreśleniami. Po pierwsze, pasują one do mojego regularnego doświadczenia programistycznego variable_names_are_not-subtraction, po drugie, i wierzę, że zostało to już wspomniane, słowa mogą mieć myślniki, ale nigdy nie podkreślają. Aby wybrać naprawdę głupi przykład, „państwo narodowe” różni się od „państwo narodowe”. Ten pierwszy tłumaczy coś w rodzaju „krainy państw narodowych” (myślę, że „tu jest kraj z bronią! Najlepszy ruch, prawda?”), Podczas gdy drugi wygląda jak lista czasami-synonimów. http://example.com/nation-state-country/nie wydaje się oznaczać tego samego co http://example.com/nation-state_country/, a jednak, jeśli łączniki są ogranicznikami / „spacjami” oprócz znaków w słowach, może to zrobić. Ta ostatnia wydaje się bardziej jasna co do faktycznego celu, podczas gdy ta pierwsza wygląda bardziej jak ta lista, jeśli w ogóle.


1
Na marginesie, języki takie jak Lisp lub Scheme zwyczajowo używają nazw zmiennych / funkcji oddzielonych myślnikami, ponieważ minus jest tylko identyfikatorem funkcji, jak każdy inny (i w rzeczywistości pozwalają na większy zestaw znaków w identyfikatorach).
JS

5

Podkreślenia zastępują spacje, w których białe znaki nie są dozwolone. Myślniki (myślniki) mogą być częścią słowa, dlatego łączenie słów ze myślnikami, które już zawierają myślniki, jest brzydkie / mylące.

Zły:

/low-budget-movies

Dobry:

/low-budget_movies

37
Muszę się z tym nie zgodzić. Obecnie zwyczajowo używa się myślników. Osoby niebędące programistami uważają podkreślenia za nieatrakcyjne wizualnie. Nic złego w pierwszym przykładzie. Czytanie jest bardziej przyjazne.
allesklar

9
Semantycznie masz rację, ale rozróżnienie może być bardziej mylące niż przydatne w przypadku używania adresów URL. Ludzie częściej zapamiętują „abcde” niż „a-b_c-d_e”.
Wadih M.,

Ktoś powiedział Jeffowi, że musi przepisać system tagów ...

1
Naprawdę? @Wadih, jeśli ludzie poprawnie literują słowa, nie ma nic trudnego do zapamiętania w filmach o niskich budżetach. Nie musisz pamiętać o tym więcej niż słowa „filmy niskobudżetowe”. Oczywiście, gdy używasz tylko a, b, c, d, e, wtedy nie ma to sensu. „Niski budżet” to nie to samo co „niski budżet”.
fletom

złe: / niskobudżetowe filmy, złe: / niskobudżetowe filmy, dobre: ​​/ niskobudżetowe% 20 filmów
Michaił Antonow

3

Myślę, że dash jest lepszy z perspektywy użytkownika i nie będzie zakłócał SEO.

Nie jestem pewien, gdzie i dlaczego rozpoczęła się konwencja podkreślania.

Trochę bardziej kompetentna debata


3

Wolę myślniki na tej podstawie, że podkreślenie może być w pewnym stopniu zaciemnione przez podkreślenie linku. Tekstowe adresy URL służą przede wszystkim do rozpoznawania na pierwszy rzut oka, a nie do poprawności gramatycznej, dlatego argument dotyczący zachowania myślników do użycia w łączonych wyrazach jest ograniczony.

Tam, gdzie dokładność tekstowego adresu URL jest ważna, należy odczytać go komuś, w którym to przypadku nie chcesz mylić znaku podkreślenia dla spacji (lub odwrotnie).

Uważam też, że myślniki są bardziej estetyczne, jeśli to się liczy.


2

Dla widoku użytkownika końcowego wolę „o-nas” lub „o nas”, a nie „about_us”


1

Osobiście unikałbym używania about-us lub about_us i po prostu używałem about.


3
/ about / us / no / poważnie / this / is / it :)
Brad Wilson,

12
a to jest twoje rozwiązanie? Dobrze, co z „about_our_customers” lub jakimkolwiek z niezliczonych zestawów „abouts”, które mógłbym wymyślić, które mogą być istotne. Ignorowanie problemu! = Rozwiązanie.
billjamesdev,

1

Niektóre starsze serwery hostingowe i serwery DNS mają problemy z analizowaniem znaków podkreślenia dla adresów URL, co może odgrywać rolę w takich konwencjach.


2
Tak, ale to tylko nazwy hostów.
Anirvan,

0

Osobiście unikałbym wszystkich myślników i podkreśleń i wybrałem camelCase lub PascalCase, jeśli jest w kodzie.

Artykuł w Wikipedii na temat camelCase wyjaśnia nieco przyczyny jego powstania. Wynoszą one

  1. Leniwi programiści, którzy nie lubili sięgać po klawisz _
  2. Potencjalne zamieszanie dotyczące czytelności
  3. Klawiatura „Alto” ​​w Xerox PARC, która nie miała klawisza podkreślenia.

Jeśli użytkownik ma zobaczyć ciąg, nie zrobiłbym żadnego z powyższych i użyłbym słowa „O nas”. lub „AboutUs”, gdybym musiał, ponieważ camelCase rozprzestrzenił się do powszechnego użytku w niektórych obszarach, takich jak nazwy produktów. tj. ThinkPad, TiVo


Skąd wyszukiwarka wiedziałaby, gdzie słowo zaczyna się lub kończy?
Joe Phillips

Dlaczego wyszukiwarka nie radziłaby sobie z PascalCase tak samo, jak z jakimkolwiek innym ogranicznikiem, czy to _, - czy: jeśli o to chodzi?

1
Dobra rada ... czy to pytanie dotyczyło kodu. w adresach URL [zwykle] nie jest rozróżniana wielkość liter i zwykle są wyświetlane małymi literami.
Armstrongest

1
@d -_- Ib Tylko nazwy domen nie rozróżniają wielkości liter. W ścieżce rozróżniana jest wielkość liter, dzięki czemu style wielbłądów i pascali są realną opcją. Chociaż, używając ich, skutecznie czynisz słowa, które reprezentują bez rozróżniania wielkości liter. Moim zdaniem byłby to największy problem z tą opcją.
Atli

0

Spacje są dozwolone w adresach URL, więc możesz po prostu użyć „/ about my” w linku (chociaż będzie to zakodowane w „/ około% 20us”. Ale szczerze mówiąc, zawsze będzie to osobista preferencja, więc nie ma prawdziwej odpowiedzi do podania tutaj.

Postawiłbym na konwencję, że myślniki mogą pojawiać się słowami, więc spacje powinny być zamieniane na podkreślenia.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.