web-dev-qa-db-fra.com

Conception de l'URL du profil utilisateur

J'ai remarqué que certains sites s'éloignent des profils d'utilisateurs du répertoire racine. Par exemple, les URL des chaînes YouTube sont désormais /channel/<id> et /c/<username> au lieu de simplement /<username>.

Pour un site avec des profils d'utilisateurs (ou dans le cas de YouTube, quelles chaînes), lequel est préféré?

3
rtainc

Dans la plupart des cas, Google ne se soucie pas vraiment de la structure de ses URL (tant qu'elles sont raisonnablement stables et analysables; à l'exception du ciblage par pays). Pensez plutôt à ce que vous voulez dans votre structure d'URL:

  • besoin de cibler les pays? Utilisez des sous-domaines ou des dossiers de haut niveau, par exemple, uk.domain.com/..., domain.com/uk/... (c’est le lieu principal où les directives de Google entrent en jeu).
  • besoin de suivre ou de contrôler l'accès par type de contenu? Les dossiers sont utiles pour cela, par exemple,/users/...,/blog/...,/private/...,/shop/shoes/... (site: -les requêtes vous donnent un aperçu et de nombreux outils permettent la séparation des répertoires, ils sont également faciles à trouver dans les fichiers journaux)
  • besoin de supprimer le contenu par utilisateur rapidement? Placez également leur identifiant utilisateur dans le chemin, par exemple,/users/user1234/content123 (les outils de suppression vous permettent de supprimer des répertoires)
  • besoin d'identifiants temporaires, tels que referral-Ids? Placez-les dans la chaîne de requête afin qu'ils puissent être facilement reconnus et supprimés, par exemple, /bluesuedeshoes.htm?ref=123 (l'utilisation du format standard key=value facilite la reconnaissance de la plupart des outils).

En tout état de cause, je ne suivrais pas aveuglément la structure de certains grands sites, dans l’espoir qu’ils aient tout prévu dans les détails. Tous les sites sont différents, et vous seriez surpris de la fréquence à laquelle les grands sites parviennent à se tromper :).

L'utilisation d'identifiants "de détail" (nom d'utilisateur, nom de canal, nom de produit, etc.) au niveau racine rend impossible la reconnaissance (pour la diffusion, le suivi, le blocage, etc.) de types de contenu spécifiques et peut provoquer des conflits entre différents types de contenu. Par exemple, est/poulet l'utilisateur "poulet", le canal "poulet" ou la catégorie de produits et que se passe-t-il s'il en existe plusieurs? Pas besoin de rendre plus difficile la gestion d’un site qu’elle ne l’est déjà.

4
John Mueller

Lorsque vous avez le nom d'utilisateur au début du chemin, vous devez vous assurer d'éviter les conflits de noms avec des pages non-utilisateur (et, pour les sites autorisant des modèles et des formulaires personnalisés, des potentiels de phishing), et vous perdriez un peu de convivialité.

Exemples:

  • Noms de fichiers réservés: un utilisateur peut choisir le nom d'utilisateur robots.txt, favicon.png, .well-known, etc.

  • Pages internes: Votre contact/à propos de/etc. page contre un utilisateur nommé contact/about/etc.

  • Convivialité: les utilisateurs ne peuvent plus savoir de quoi l’URL sera consacrée sans la visiter:

    https://www.facebook.com/loogin est un profil d'utilisateur
    https://www.facebook.com/login n'est pas un profil d'utilisateur, mais la page de connexion de Facebook

    https://Twitter.com/StackOverflow/media est la page "Multimédia" d'un utilisateur nommé "StackOverflow".
    https://Twitter.com/hashtag/media est le hashtag "média", pas la page "média" d'un utilisateur nommé "hashtag"

  • Phishing (si vous autorisez des modèles et des formulaires personnalisés): lorsque /login est votre page de connexion, un utilisateur nommé "connexion" peut amener les utilisateurs à se connecter sur leur page utilisateur /signin.

Lorsque vous avez un préfixe de chemin pour les noms d'utilisateur (par exemple, /users/<username>), vous n'avez pas ces problèmes et vous obtenez une URL Nice ( car navigable ) pour afficher la liste d'utilisateurs: /users.

Avantages supplémentaires d'un tel préfixe de chemin:

  • Il vous permet de bloquer facilement l’exploration de profils d’utilisateur dans le fichier robots.txt:

    Disallow: /users
    

    Si vous ne disposez pas d'un tel "espace de noms", vous devrez répertorier chaque nom d'utilisateur.

  • Les utilisateurs peuvent utiliser un moteur de recherche externe pour rechercher dans toutes les pages de profil utilisateur, par exemple. avec site:example.com/users.

3
unor