Question

Dans un maintenant migré question sur les URL lisibles par l'homme je me suis permis d'élaborer un petit cheval de passe-temps de la mine:

  

Quand je rencontre des URL comme http://www.example.com/product/123/subpage/456.html Je pense toujours que cela est une tentative de création d'URL hiérarchiques significatives qui, cependant, n'est pas entièrement hiérarchique. Ce que je veux dire est, vous devriez être en mesure de couper de un niveau à la fois . Dans ce qui précède, l'URL a deux violations sur ce principe:

     
      
  1. /product/123 est un élément d'information représenté par deux niveaux. Il serait plus correctement représentée comme /product:123 (ou tout autre délimiteur que vous voulez)
  2.   
  3. /subpage est très probablement pas une entité en elle-même (à savoir, vous ne pouvez pas monter un niveau de 456.html comme http://www.example.com/product/123/subpage est "rien").
  4.   
     

Par conséquent, je trouve ce qui suit plus correct:

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

Ici, vous pouvez toujours naviguer jusqu'à un niveau à la fois:

     
      
  • http://www.example.com/product:123/456.html   - Le sous-page
  •   
  • http://www.example.com/product:123 - La page produit
  •   
  • http://www.example.com/ - La racine
  •   
     

En suivant la même philosophie, ce qui suit serait logique [et fournir un lien supplémentaire aux produits liste]:

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

Où:

     
      
  • http://www.example.com/products/123/456.html - Le sous-page
  •   
  • http://www.example.com/products/123 - La page produit
  •   
  • http://www.example.com/products - La liste des produits
  •   
  • http://www.example.com/ - La racine
  •   

Ma principale motivation de cette approche est que si tous les « élément de chemin » (délimité par /) est selfcontained 1 , vous serez toujours en mesure de naviguer vers le « parent » en supprimant tout simplement la dernière élément de l'URL. Voilà ce que je (parfois) faire dans mon explorateur de fichiers quand je veux aller dans le répertoire parent. Suite à la même logique que l'utilisateur (ou un moteur de recherche / robot) peut faire la même chose. Assez intelligent, je pense.

D'autre part (ce qui est le bit important de la question): Bien que je ne pourrai jamais empêcher qu'un utilisateur essaie d'accéder à une URL, il a lui-même amputée, suis-je tort ? affirmer (et honorer) qu'un moteur de recherche peut faire la même chose Ie, est-il raisonnable d'espérer qu'aucun moteur de recherche (ou vraiment: Google) essaieraient d'accès http://www.example.com/product/123/subpage (point 2 ci-dessus)? (Ou suis-je vraiment prendre seul le facteur humain compte ici?)

Ce n'est pas une question sur la préférence personnelle. Il est question techical ce que je peux attendre d'un robot d'exploration / indexeur et dans quelle mesure je devrais prendre la manipulation d'URL non humain en compte lors de la conception des URL.

En outre, la « profondeur » de la structure http://www.example.com/product/123/subpage/456.html est 4, où http://www.example.com/products/123/456.html est seulement 3. La rumeur court que cette influence de la profondeur de recherche classement moteur. Du moins, on m'a dit. (Il est maintenant évident que le référencement est pas ce que je sais le plus.) Est-ce (encore?) Vrai: ne la profondeur hiérarchique (nombre de répertoires) recherche influence le classement

Alors, est mon "intuition" du son sur le plan technique ou devrais-je passer mon temps à autre chose?


Exemple: Le faire (presque) droite Bon ol » obtient donc ce presque droite. Exemple: profils, par exemple, http://stackoverflow.com/users/52162:

  • http://stackoverflow.com/users/52162 - Profil unique
  • http://stackoverflow.com/users - Liste des utilisateurs
  • http://stackoverflow.com/ - Root

Cependant, canonique URL pour le profil est en fait http://stackoverflow.com/users/52162/jensgram qui semble redondant (le même point d'extrémité représentée sur deux niveaux hiérarchiques). Alternative: http://stackoverflow.com/users/52162-jensgram (ou tout autre delimiter toujoursutilisé).


1) porte un morceau complet de l'information ne dépend pas de "plus profondes" éléments.

Était-ce utile?

La solution

urls hiérarchique de ce genre « http://www.example.com/product:123/456.html » sont aussi inutiles que « http://www.example.com/product/123/subpage », parce que lorsque les utilisateurs voient vos urls, ils ne se soucient pas des identifiants de votre base de données, ils veulent des chemins significatifs. Voilà pourquoi les titres StackOverflow met en question urls:. "Http://stackoverflow.com/questions/4017365/human-readable-urls-preferably-hierarchical-too"

Google conseille contre la pratique de remplacer les requêtes habituelles comme « http://www.example.com/?product=123&page=456 », parce que quand chaque site développe son propre système, robot ne sait pas ce que signifie chaque partie, s'il est important ou non. Google a inventé des mécanismes sophistiqués pour trouver des arguments importants et ignorer sans importance, ce qui signifie que vous obtenez plus de pages dans l'index et il y aura moins de doublons. Mais ces algorithmes échouent souvent quand les développeurs web inventent leur propre système.

Si vous souciez les utilisateurs et les robots d'exploration, vous devez utiliser urls comme ceci:

En outre, les moteurs de recherche donnent cote plus élevée aux pages avec des mots clés dans l'URL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top