web-dev-qa-db-pt.com

URLs: traço vs. sublinhado

Deve ser / about_us ou / about-us?

Do ponto de vista da usabilidade, eu pessoalmente acho que / about-us = é muito melhor para o usuário final, mas o Google e a maioria dos outros sites (e frameworks javascript) usam o padrão de nomeação de sublinhado. É apenas questão de estilo? Existem problemas de compatibilidade com traços?

165
lubos hasko

Este é apenas um palpite, mas parece que eles escolheram o que as pessoas mais provavelmente não usam em um nome. Dessa forma, você pode ter um nome que inclua um Word com hifenização e ainda usar o underbar como um delimitador do Word, por exemplo, UseTwo-wayLinks pode ser convertido em use_two-way_links.

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

29
billjamesdev

da Central do Google para webmasters

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.

179
James Lawruk

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

  • Os traços são recomendados pelo Google sobre sublinhados ( origem ).
  • 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.
50
Emanuil Rusev

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 entre aspas com espaços" (e aspas simples vs. aspas duplas)
  • barra/meio/espaço
  • dot.means.space
49
Mark Stock

O Google não tratou o sublinhado como um separador de palavras no passado, o que eu achei muito louco, mas aparentemente o faz agora. Devido a essa história, os 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 seu internauta semi-analfabeto é muito mais capaz de digitar um traço no teclado, eles podem nem saber o que é o sublinhado.

36
MrZebra

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 do cavalo 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 vão resolver isso, mas Joe Public provavelmente não vai.

No entanto, ainda usam sublinhados no código em detrimento de travessões - os programadores os entendem, a maioria das outras pessoas não.

14
seanb

Jeff pensa um pouco sobre isso: https://blog.codinghorror.com/of-spaces-underscores-and-dashes/

Existem desvantagens para ambos. Eu sugiro que você escolha um e seja consistente.

11
s d

O guru de SEO Jim Westergren testou isso em 2005 em uma perspectiva estrita de SEO e chegou à conclusão de que + (plus) era realmente o melhor delimitador do Word. 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 legibilidade e SEO.

8
Christian Davén

Estou mais confortável com sublinhados. Primeiro de tudo, eles combinam com minha experiência de programação regular de variable_names_are_not-subtraction, segundo de tudo, e 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-nação" é diferente de "país do estado-nação". O primeiro traduz algo como "a terra dos estados-nação" (pense "isso aqui é o país das armas! Melhor seguir adiante, y'hear?"), Enquanto o último parece uma lista de algum tempo-sinônimos. http://example.com/nation-state-country/ não parece significar o mesmo que http://example.com/nation-state_country/, e, no entanto, se hifens forem delimitadores/"space" s, além de caracteres em palavras, ele pode. Este último parece mais claro quanto ao propósito real, enquanto o primeiro se parece mais com essa lista.

7
Devin Jeanpierre

Sublinhar substitui espaços onde o espaço em branco não é permitido. Traços (hífens) podem ser parte de uma palavra, portanto, juntar palavras com hifens que já incluem hífens é feio/confuso.

Mau:

/low-budget-movies

Boa:

/low-budget_movies
4
jpeacock

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

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

Um pouco mais conhecedor debate

3
Geoff

Eu prefiro traços na base de que um sublinhado pode ser obscurecido até certo ponto por um sublinhado de link. Os URLs textuais são principalmente para serem reconhecidos rapidamente, em vez de serem gramaticalmente corretos, portanto o argumento para preservar traços para uso em palavras hifenizadas é limitado.

Onde 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.

3
Andrew Ingram

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

2
Krirk

Pessoalmente, eu evito usar about-us ou about_us, e apenas uso sobre.

1
RodgerB

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

1
Jon Limjap

Eu pessoalmente evito todos os traços e sublinhados e opto por 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 chave de sublinhado.

Se o usuário quiser ver a string, eu não faço nenhuma das opções acima e uso "About us". ou "AboutUs", se eu tivesse que, como o camelCase se espalhou para uso comum em algumas áreas, como nomes de produtos. ou seja, ThinkPad, TiVo

0
user18443

Melhor uso. -/como separadores, porque _ parece não ser um separador.

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

0
Eddy Freddy

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.

0
pbean