URLs: traço vs. sublinhado [fechado]

187

Deve ser / about_us ou / about-us ?

Do ponto de vista da usabilidade, eu pessoalmente acho que / sobre nós é muito melhor para o usuário final, ainda que o Google e a maioria dos outros sites (e estruturas javascript) usem um padrão de nomeação de sublinhado. É apenas questão de estilo? Existem problemas de compatibilidade com traços?

lubos hasko
fonte
6
Por que não /index____1125.aspx (que é quatro sublinhados, muito importante!)
Christian Daven
77
Oh vamos lá. Estou interessado nesta pergunta e nas respostas. A pergunta tem 52 upvoates e você a fechou? É sobre programação. Programação da Web. Decidir como nomear diretórios em um site que está sendo desenvolvido.
precisa saber é o seguinte
3
Bom vídeo explicado pelo engenheiro do Google: youtube.com/watch?v=AQcSFsQyct8
JohnB
Vim aqui para descobrir whether_domain_URLs_can_have_underscores.com.
neverMind9

Respostas:

30

Isso é apenas um palpite, mas parece que eles escolheram aquele que as pessoas provavelmente não usariam em um nome. Dessa forma, você pode ter um nome que inclua uma palavra hifenizada e ainda usar a barra inferior como um delimitador de palavras, por exemplo, UseTwo-wayLinks pode ser convertido em use_two-way_links.

No seu exemplo, / about-us seria um diretório nomeado com a palavra hifenizada "about-us" (se essa palavra existisse, e / about_us seria um diretório com a frase com duas palavras "about us" convertida em uma única string de caracteres não brancos.

billjamesdev
fonte
11
Palpite razoável, mas, como se vê, totalmente falso. -1.
Mark Amery
2
Você tem uma referência para esse @MarkAmery? A questão girava em torno de por que o Google usaria sublinhados. Se você está sugerindo que não, essa não é a questão da resposta, mas a questão.
billjamesdev
1
Primeiro, como suposições, bastante razoável. Eu acrescentaria como parte do palpite de que os programadores usam o traço como subtração para que o sublinhado seja usado; talvez URLs, criadas por programadores, sigam essa convenção. Uma explicação real seria melhor. A marca aumenta com -1 sem nenhum backup; gostaria de poder dar ao comentário um -1.
precisa
2
Citação @GerardONeill: este vídeo do Google Webmasters: youtube.com/watch?v=AQcSFsQyct8 . Por esse vídeo (admitidamente agora com 6 anos de idade e possivelmente não representando o status quo contemporâneo), foo_baré tratado como uma única palavra enquanto foo-baré tratado como duas palavras - precisamente o oposto do que essa resposta especula é o caso.
Mark Amery
2
@MarkAmery Eu ouço o que você está dizendo, e você realmente está apenas retransmitindo as palavras de outros de um tempo atrás, mas não é de admirar que você ouça que "foo_bar" é tratado como uma palavra, quando literalmente pode ' seja um (como não há palavras com sublinhados). Enquanto "auto-estima" é uma palavra composta perfeitamente válida em inglês e deve ser pesquisável como uma única entidade?
billjamesdev
193

Da Central do webmaster do Google

Considere usar pontuação nos seus URLs. O URL http://www.example.com/green-dress.html é muito mais útil para nós do que http://www.example.com/greendress.html . Recomendamos que você use hífens (-) em vez de sublinhados (_) em seus URLs.

James Lawruk
fonte
4
O Google não explicou o porquê? Supostamente, tem algo a ver com a maneira de analisar endereços? Ou provavelmente é apenas um problema do usuário final.
Xj6
9
Também é importante notar que underscored_text é selecionável como um todo, clicando duas vezes em alguns dispositivos e pressionando longamente em celulares, enquanto que com texto separado por traço as mesmas ações selecionam cada palavra separada. Pense se um usuário jamais tentar copiar algo do url
Titus
1
Eu acho que você pode ter atingido um loop de causalidade lá @ Titus, pois isso é completamente contrário ao inglês real ... que tem traços em palavras, mas não possui sublinhados.
billjamesdev
meu palpite é que não há diferença, pelo menos para o google, se existe '_', '-' ou nada. Google foi com o que eu sou assumir é o mais legível para os seres humanos, um traço
Arthur Tarasov
1
Veja youtu.be/AQcSFsQyct8 para obter uma explicação do Google. (Eles usaram "_" para a correspondência exata da pesquisa.)
Matt Ke
62

Aqui estão alguns pontos a favor dos traços:

  • Os traços são recomendados pelo Google sobre sublinhados ( fonte ).
  • Os traços são mais familiares para o usuário final.
  • Os traços são mais fáceis de escrever em um teclado padrão (não é necessário mudar).
  • Os traços não se escondem atrás dos sublinhados.
  • Os traços parecem mais nativos no contexto de URLs, pois são permitidos em nomes de domínio.
Emanuil Rusev
fonte
53

Não se trata apenas de traço x sublinhado:

  • texto com espaços
  • textwithoutspaces
  • % 20espaços% 20in% 20URL codificados
  • underscore_means_space
  • traço-significa-espaço
  • mais + significa + espaço
  • camelCase
  • PascalCase
  • "texto citado com espaços" (e aspas simples vs. aspas duplas)
  • barra / meio / espaço
  • dot.means.space
Mark Stock
fonte
43
Bem-vindo à Wild Wild Web!
Mesmo Mien
Eu gosto bastante de barra / meio / espaço quando usado com elegância. Um dos sites que eu administro usa / about / us ao lado de várias outras / about / páginas. Não me lembro de ter visto mais exemplos mainstream.
Sekalf Nroc 13/04/19
36

O Google não tratou o sublinhado como um separador de palavras no passado, o que eu pensei que era muito louco, mas aparentemente o faz agora. Por causa dessa história, traços são preferidos. Embora agora sejam permitidos sublinhados do ponto de vista do SEO, ainda acho que os traços são os melhores.

Um benefício é que o surfista médio na Web sem analistas de computador tem muito mais chances de digitar um traço no teclado; eles podem nem saber qual é o sublinhado.

MrZebra
fonte
9
É improvável que um internauta analfabeto da web semicomputador consiga diferenciar a barra de endereço e a pesquisa. Seu usuário médio também tem MUITO mais probabilidade de clicar do que digitar. Apenas dizendo ''
Armstrongest
2
Google ainda faz sublinhado que não tratar como um separador de palavra: youtube.com/watch?v=AQcSFsQyct8
Sembiance
16

Eu costumava usar sublinhados o tempo todo, agora só os uso em partes de um site que não quero que ninguém vincule diretamente, arquivos js, css, etc.

Do ponto de vista do SEO, os traços parecem ser a maneira preferida de lidar com isso, para uma explicação detalhada, da boca dos cavalos http://www.mattcutts.com/blog/dashes-vs-underscores/ .

O outro problema que parece ocorrer, mais com o público em geral do que com os programadores, é que, quando um hiperlink com sublinhados é sublinhado, você não consegue ver o sublinhado. Usuários avançados resolverão isso, mas Joe Public provavelmente não.

Ainda use sublinhados no código, em vez de traços - os programadores os entendem, a maioria das outras pessoas não.

seanb
fonte
8

O guru do SEO Jim Westergren testou isso em 2005 a partir de uma perspectiva estrita de SEO e chegou à conclusão de que + (mais) era realmente o melhor delimitador de palavras. No entanto, isso não parece razoável e pode ser devido a um erro nos algoritmos dos mecanismos de pesquisa. Ele recomenda - (traço) para facilitar a leitura e o SEO.

Christian Davén
fonte
7

Estou mais confortável com sublinhados. Antes de tudo, eles combinam com a minha experiência regular de programação variable_names_are_not-subtraction, e segundo eu acredito que isso já foi mencionado, as palavras podem ter hífens, mas elas nunca têm sublinhados. Para escolher um exemplo realmente estúpido, "país do estado nacional" é diferente de "país do estado nacional". O primeiro traduz algo como "a terra dos estados-nação" (pense "aqui é o país das armas! É melhor seguir adiante, está ouvindo?"), Enquanto o último parece uma lista de sinônimos em algum momento. http://example.com/nation-state-country/não parece ter o mesmo significado http://example.com/nation-state_country/e, no entanto, se hífens são delimitadores / "espaços", além de caracteres em palavras, podem. O último parece mais claro quanto ao objetivo real, enquanto o primeiro se parece mais com essa lista, se é que alguma coisa.

Devin Jeanpierre
fonte
1
Apenas uma observação, linguagens como Lisp ou Scheme costumam usar nomes de variáveis ​​/ funções separados por hífens, porque menos é apenas um identificador de função como qualquer outro (e, de fato, eles permitem um conjunto maior de caracteres nos identificadores).
JS
5

Os sublinhados substituem os espaços em que o espaço em branco não é permitido. Traços (hífens) podem fazer parte de uma palavra, portanto, unir palavras a hífens que já incluem hífens é feio / confuso.

Ruim:

/low-budget-movies

Boa:

/low-budget_movies
jpeacock
fonte
37
Eu tenho que discordar disso. Hoje em dia é costume usar apenas traços. Não programadores acham os sublinhados visualmente pouco atraentes. Nada de errado com o primeiro exemplo. É realmente mais amigável de ler.
allesklar
9
Semanticamente, você está certo, mas a distinção pode ser mais confusa do que útil para uso em URLs. É mais provável que as pessoas se lembrem de "abcde" do que "a-b_c-d_e".
Wadih M.
Alguém diz Jeff que ele precisa para reescrever o sistema de tag ...
1
Realmente? @ Wadih, se as pessoas estão soletrando palavras corretamente, não há nada difícil de lembrar sobre filmes de baixo orçamento. Você não precisa se lembrar mais do que as palavras "filmes de baixo orçamento". É claro que quando você apenas usa a, b, c, d, e, não faz sentido. "Baixo orçamento" não é o mesmo que "baixo orçamento", ponto final.
fletom 4/09/11
maus: baixo orçamento-filmes /, ruim: menor budget_movies /, boa: de baixo orçamento /% 20movies
Mikhail Antonov
3

Eu acho que o dash é melhor do ponto de vista do usuário e não interfere no SEO.

Não sabe onde ou por que a convenção de sublinhado começou.

Um pouco de debate mais experiente

Geoff
fonte
3

Prefiro traços com base no fato de um sublinhado poder ser obscurecido até certo ponto por um link sublinhado. Os URLs textuais são principalmente para serem reconhecidos rapidamente, em vez de estarem gramaticalmente corretos; portanto, o argumento para preservar traços para uso em palavras hifenizadas é limitado.

O ponto em que a precisão de uma URL textual é importante é quando ela é lida para alguém; nesse caso, você não deseja confundir um sublinhado por um espaço (ou vice-versa).

Também acho traços mais esteticamente agradáveis, se isso conta para alguma coisa.

Andrew Ingram
fonte
2

Para a visualização do usuário final, eu prefiro "about-us" ou "about us" e não "about_us"

Krirk
fonte
1

Pessoalmente, eu evitaria usar about-us ou about_us e usaria about.

RodgerB
fonte
3
/ about / us / não / sério / presente / é / it :)
Brad Wilson
12
e esta é a sua solução? Tudo bem, o que dizer de "about_our_customers" ou qualquer um de uma infinidade de "abouts" que eu possa sugerir que possa ser relevante. Ignorando um problema! = Solução.
billjamesdev
1

Alguns servidores mais antigos de hospedagem na Web e DNS, na verdade, têm problemas para analisar sublinhados de URLs, de modo que podem participar de convenções como essas.

Jon Limjap
fonte
2
Sim, mas isso é apenas em nomes de host.
Anirvan
0

Eu, pessoalmente, evitaria todos os traços e sublinhados e optaria pelo camelCase ou PascalCase, se estiver no código.

O artigo da Wikipedia sobre camelCase explica um pouco do raciocínio por trás de suas origens. Eles equivalem a

  1. Programadores preguiçosos que não gostam de procurar a tecla _
  2. Confusão potencial sobre legibilidade
  3. O teclado "Alto" no xerox PARC que não tinha tecla de sublinhado.

Se o usuário vir a string, eu não faria nenhuma das opções acima e usaria "Sobre nós". ou "AboutUs", se necessário, como camelCase se espalhou para uso comum em algumas áreas, como nomes de produtos. ou seja, ThinkPad, TiVo


fonte
Como o mecanismo de pesquisa saberia onde uma palavra começa ou termina?
Joe Phillips
Por que o mecanismo de pesquisa não lida com o PascalCase da mesma forma que qualquer outro delímetro, seja _, - ou: nesse caso?
1
Bom conselho ... esta pergunta estava sendo feita sobre código. Os URLs não diferenciam maiúsculas de minúsculas e geralmente são mostrados em minúsculas.
Armstrongest
1
@dI -_- Ib Apenas os nomes de domínio não diferenciam maiúsculas de minúsculas. O caminho diferencia maiúsculas de minúsculas, tornando os estilos camelo e pascal uma opção viável. Embora, ao usá-los, você efetivamente faça com que as palavras representem maiúsculas de minúsculas. Esse seria o maior problema com essa opção, na minha opinião.
Atli
0

Os espaços são permitidos nos URLs, então você pode simplesmente usar "/ about us" em um link (embora isso seja codificado para "/ about% 20us". Mas, seja honesto, isso sempre será uma preferência pessoal, portanto não há resposta real para ser dado aqui.

Eu concordaria com a convenção de que traços podem aparecer em palavras; portanto, os espaços devem ser convertidos em sublinhados.


fonte