Url: Dash vs. Underscore [zamknięty]

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

Z punktu widzenia użyteczności, osobiście uważam, że /about-us jest znacznie lepszy dla użytkownika końcowego, ale Google i większość innych stron internetowych (i frameworków javascript) używają wzorca nazewnictwa podkreślenia. Czy to tylko kwestia stylu? Czy są jakieś problemy ze zgodnością z myślnikami?

Author: lubos hasko, 2008-09-23

18 answers

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ę, która zawiera słowo dzielone i nadal używać underbara jako ogranicznika słowa, np. UseTwo-wayLinks może być przekonwertowane na use_two-waylinks.

W twoim przykładzie, / about-us byłby katalogiem o nazwie podzielonej wyrazem " about-us "(gdyby takie słowo istniało, a / about_us byłby katalogiem o nazwie dwu wyrazowej frazy "about us" przekonwertowanym do pojedynczego ciągu znaków innych niż białe.

 28
Author: billjamesdev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 05:54:36

Od Google Webmaster Central

Rozważ użycie interpunkcji w swoim Url. URL http://www.example.com/green-dress.html jest dla nas znacznie bardziej przydatna niż http://www.example.com/greendress.html . Zalecamy używanie myślników (-) zamiast podkreślenia ( _ ) w Twoim Url.

 164
Author: James Lawruk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-23 13:20:50

To nie tylko dash vs. underscore:

  • tekst ze spacjami
  • textwithoutspaces
  • encoded%20spaces%20in%20url
  • underscore_means_space
  • myślnik-oznacza-przestrzeń
  • plus + oznacza + przestrzeń
  • camelCase
  • PascalCase
  • " cytowany tekst ze spacjami " (i pojedynczy cytat vs. podwójny cytat)
  • slash / means / space
  • dot.znaczy.przestrzeń
 48
Author: Mark Stock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-26 02:43:12

Oto kilka punktów na korzyść kresek:

  • myślniki są zalecane przez Google nad podkreślnikami ( Źródło).
  • Myślniki są bardziej znane użytkownikowi końcowemu.
  • myślniki łatwiej pisać na standardowej klawiaturze (nie trzeba przesuwać).
  • Kreski nie chowają się za podkreśleniami.
  • myślniki są bardziej natywne w kontekście adresów URL, ponieważ są dozwolone w nazwach domen.
 44
Author: Emanuil Rusev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-30 16:55:59

Google w przeszłości nie traktowało podkreślenia jako separatora słów, co uważałem za dość szalone, ale najwyraźniej teraz tak. Ze względu na tę historię preferowane są myślniki. Chociaż podkreślenia są teraz dopuszczalne z punktu widzenia SEO, nadal uważam, że kreski są najlepsze.

Jedną z korzyści jest to, że przeciętny pół-komputerowy-analfabeta web Surfer jest znacznie bardziej prawdopodobne, aby być w stanie wpisać myślnik na klawiaturze, mogą nawet nie wiedzieć, co to jest podkreślenie.

 36
Author: MrZebra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 07:27:12

Kiedyś używałem podkreślników cały czas, teraz używam ich tylko do części strony, do których nie chcę, aby ktoś bezpośrednio linkował, Pliki js, css, ... itd.

Z punktu widzenia SEO, kreski wydają się być preferowanym sposobem obchodzenia się z nim, 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 z ogółu społeczeństwa niż programistów, jest to, że gdy hiperłącze z podkreślenie jest podkreślone, nie widać podkreślenia. Zaawansowani użytkownicy to rozwiążą, ale Joe Public prawdopodobnie nie.

Nadal używaj podkreślników w kodzie zamiast myślników - Programiści je rozumieją, większość innych nie.

 13
Author: seanb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 06:37:35

Jeff ma kilka przemyśleń na ten temat: https://blog.codinghorror.com/of-spaces-underscores-and-dashes/

Są wady obu. Sugerowałbym, żebyś wybrał jedną i był konsekwentny.

 11
Author: s d,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-24 07:20:44

Guru SEOJim Westergren przetestował to w 2005 roku ze ścisłej perspektywy SEO i doszedł do wniosku, że + (plus) jest rzeczywiście najlepszym ogranicznikiem słów. Jednak nie wydaje się to rozsądne i może być spowodowane błędem w algorytmach wyszukiwarek. Poleca - (dash) zarówno dla czytelności, jak i SEO.

 8
Author: Christian Davén,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 14:38:57

Lepiej mi z podkreśleniem. Po pierwsze, pasują do mojego zwykłego doświadczenia programistycznego variable_names_are_not-subtraction, po drugie, i wierzę, że już o tym wspomniano, słowa mogą mieć myślniki, ale nigdy nie mają podkreślenia. Aby wybrać naprawdę głupi przykład, "państwo narodowe" różni się od "państwo narodowe". Ten pierwszy tłumaczy coś w rodzaju " ziemi państw narodowych "(pomyśl: "to jest kraj broni! Lepiej się rusz,co?"), natomiast ten ostatni wygląda jak lista 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 / "spacją" s oprócz znaków w słowach, może. Ta ostatnia wydaje się bardziej jasna co do rzeczywistego celu, podczas gdy ta pierwsza wygląda bardziej jak ta lista, jeśli w ogóle.

 7
Author: Devin Jeanpierre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 06:09:09

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

Zły:

/low-budget-movies

Dobre:

/low-budget_movies
 5
Author: jpeacock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 06:13:38

Myślę, że dash jest lepszy z punktu widzenia użytkownika i nie będzie kolidował z SEO.

Nie wiem, gdzie i dlaczego zaczęła się konwencja podkreślenia.

Trochę więcej wiedzy dyskusja

 3
Author: Geoff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 05:53:59

Dla widoku użytkownika końcowego wolę "about-us" lub "about us" a nie "about_us"

 2
Author: Krirk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 06:22:05

Preferuję myślniki na podstawie tego, że podkreślenie może być w pewnym stopniu zasłonięte przez podkreślenie linku. Tekstowe adresy URL służą przede wszystkim do rozpoznawania na pierwszy rzut oka, a nie do poprawności gramatycznej, więc argument za zachowaniem myślników do użycia w wyrazach podzielonych jest ograniczony.

Gdzie dokładność tekstowego adresu URL jest ważna, gdy czytasz go komuś, w takim przypadku nie chcesz mylić podkreślenia ze spacją (lub odwrotnie).

A także znajdź kreski więcej estetycznie, jeśli to się liczy.

 2
Author: Andrew Ingram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-25 22:07:34

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

 1
Author: RodgerB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 05:55:50

Niektóre starsze serwery hostingowe i serwery DNS mają problemy z parsowaniem podkreślników dla adresów URL, więc może to odgrywać rolę w konwencjach takich jak te.

 1
Author: Jon Limjap,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 06:11:08

Osobiście unikałbym wszystkich kresek i podkreślników i wybierałbym camelCase lub PascalCase jeśli jest w kodzie.

Artykuł Wikipedii na camelCase wyjaśnia trochę rozumowania leżącego u podstaw jego początków. Wynoszą

  1. leniwi programiści, którzy nie lubili reaching for the _ key
  2. potencjalne zamieszanie o czytelność
  3. Klawiatura" Alto " w xerox PARC to nie miało podkreślenia.

If the user is to see the string then Nie zrobiłbym żadnego z powyższych i użył "O nas."lub " AboutUs", gdybym musiał, ponieważ camelCase rozprzestrzenił się do powszechnego użytku w niektórych obszarach, takich jak nazwy produktów. i. E ThinkPad, TiVo

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 06:35:35

Spacje są dozwolone w adresach URL, więc możesz po prostu użyć " / about us "w linku (chociaż będzie to zakodowane do "/about%20us". Ale bądź szczery, zawsze będzie to osobiste preferencje, więc nie ma tu prawdziwej odpowiedzi.

Wybrałbym konwencję, że myślniki mogą pojawiać się w słowach, więc spacje powinny być zamienione na podkreślniki.

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 07:16:30

Lepsze wykorzystanie . - /jako separatory, ponieważ _ wydaje się nie być separatorem.

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

 0
Author: Eddy Freddy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-17 06:11:10