Pergunta

Em um agora uma pergunta migrada Sobre URLs legíveis por humanos, eu me permiti elaborar um pequeno cavalo de hobby:

Quando eu encontro URLs como http://www.example.com/product/123/subpage/456.html Eu sempre acho que isso é uma tentativa de criar URLs hierárquicos significativos que, no entanto, não são inteiramente hierárquicos. O que quero dizer é que você deve ser capaz de cortar um nível de cada vez. No exposto, o URL tem duas violações sobre esse princípio:

  1. /product/123 é 1 Informações representadas como dois níveis. Seria mais corretamente representado como /product:123 (ou qualquer delimitador que você quiser)
  2. /subpage Muito provavelmente não é uma entidade em si (ou seja, você não pode subir 1 nível de 456.html Como http://www.example.com/product/123/subpage é nada").

Portanto, acho o seguinte mais correto:

http://www.example.com/product:123/456.html

Aqui, você sempre pode navegar um nível de cada vez:

  • http://www.example.com/product:123/456.html- A subpagem
  • http://www.example.com/product:123 - A página do produto
  • http://www.example.com/ - A raiz

Seguindo a mesma filosofia, o seguinte faria sentido [e forneceria um link adicional para a lista de produtos]:

http://www.example.com/products/123/456.html

Onde:

  • http://www.example.com/products/123/456.html - A subpagem
  • http://www.example.com/products/123 - A página do produto
  • http://www.example.com/products - A lista de produtos
  • http://www.example.com/ - A raiz

Minha principal motivação para essa abordagem é que se todo "elemento de caminho" (delimitado por /) é auto -contido1, você sempre poderá navegar para o "pai" simplesmente removendo o último elemento do URL. É isso que eu (às vezes) faço no meu explorador de arquivos quando quero ir ao diretório pai. Seguindo a mesma linha de lógica, o usuário (ou um mecanismo de pesquisa / rastreador) pode fazer o mesmo. Muito inteligente, eu acho.

Por outro lado (E essa é a parte importante da pergunta): Embora eu nunca possa impedir que um usuário tenta acessar um URL que ele próprio amputou, Estou afirmando injustamente (e honrando) que um mecanismo de pesquisa pode fazer o mesmo? Ou seja, é razoável esperar que nenhum mecanismo de pesquisa (ou realmente: Google) tente acessar http://www.example.com/product/123/subpage (Ponto 2, acima)? (Ou estou realmente levando em consideração o fator humano aqui?)

Esta não é uma pergunta sobre preferência pessoal. É uma pergunta técnica sobre o que posso esperar de um rastreador / indexador e, em consideração, devo levar em consideração a manipulação de URL não humana ao projetar URLs.

Além disso, a "profundidade" estrutural de http://www.example.com/product/123/subpage/456.html é 4, onde http://www.example.com/products/123/456.html é apenas 3. Há rumores de que essa profundidade influencia a classificação dos mecanismos de pesquisa. Pelo menos, então me disseram. (Agora é evidente que o SEO é não O que eu mais sei.) É isso (ainda?) É verdade: A profundidade hierárquica (número de diretórios) influencia a classificação de pesquisa?

Então, meu "palpite" é tecnicamente sólido ou devo passar meu tempo em outra coisa?


Exemplo: fazer isso (quase) certo
Bom velho, então fica quase certo. Caso em questão: perfis, por exemplo, http://stackoverflow.com/users/52162:

  • http://stackoverflow.com/users/52162 - Perfil único
  • http://stackoverflow.com/users - Lista de usuários
  • http://stackoverflow.com/ - Raiz

No entanto, o URL canônico para o perfil é realmente http://stackoverflow.com/users/52162/jensgram que parece redundante (o mesmo ponto final representado em dois níveis hierárquicos). Alternativo: http://stackoverflow.com/users/52162-jensgram (ou qualquer outro delimitador usado consistentemente).


1) Carrega uma informação completa que não depende de elementos "mais profundos".

Foi útil?

Solução

Os URLs hierárquicos desse tipo "http://www.example.com/product:123/456.html" são tão inúteis quanto "http://www.example.com/product/123/subpage", porque quando os usuários vêem Seus URLs, eles não se importam com identificadores do seu banco de dados, eles querem caminhos significativos. É por isso que o StackOverflow coloca títulos de perguntas nos URLs: "http://stackoverflow.com/questions/4017365/human-reable-urls-preferlavelmente hierarquical-too".

O Google aconselha contra a prática de substituir consultas usuais como "http://www.example.com/?product=123&page=456", porque quando todo site desenvolve seu próprio esquema, Crawler não sabe o que cada parte significa, se é importante ou não. O Google inventou mecanismos sofisticados para encontrar argumentos importantes e ignorar sem importância, o que significa que você obterá mais páginas no índice e haverá menos duplicatas. Mas esses algoritmos geralmente falham quando os desenvolvedores da Web inventam seu próprio esquema.

Se você se preocupa com usuários e rastreadores, você deve usar URLs assim:

Além disso, os mecanismos de pesquisa oferecem uma classificação mais alta nas páginas com palavras -chave no URL.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top