web-dev-qa-db-fra.com

Meilleure pratique pour la structure d'URL basée sur l'emplacement?

J'ai un site Web comme Zomato. Il y a des restaurants, et chaque restaurant a une page basée sur le pays dans lequel il se trouve. Un restaurant aux États-Unis peut avoir le même nom qu'un autre en Suisse, mais n'est pas lié du tout.

J'ai besoin que les entreprises puissent publier les URL de leurs pages ainsi que les URL de leurs pages de médias sociaux. Par exemple:

  • facebook.com/mcdonaldsCanada
  • Twitter.com/mcdonalds_ca
  • instagram.com/ca_mcdonalds
  • notrewebsite.com/...

Quelle serait la meilleure option pour le choix de la structure de l'URL?


Option 1:

  • facebook.com/mcdonaldsCanada
  • Twitter.com/mcdonalds_ca
  • instagram.com/ca_mcdonalds
  • notrewebsite.com/ca/mcdonalds

Assez simple. Vous mettez le pays suivi du nom de l'entreprise. Ce sera uniforme pour toutes les entreprises pour éviter la fragmentation comme mcdonalds_ca et canada_mcdonalds.

Avantages:

  • Facile à gérer; structure simple.
  • Facile à différencier les entreprises locales.

Contre:

  • Les restaurants devront suivre le logo de notre site Web (comme la façon dont ils mettent le logo de Facebook suivi de/businessname) ou l'URL avec un /ca puis leurs noms commerciaux, par opposition à la manière uniforme de avoir le nom de l'entreprise juste après notre nom de domaine. Par exemple:

    • [FBLogo]/mcdonaldsCanada
    • [TwitterLogo]/mcdonalds_ca
    • [InstaLogo]/ca_mcdonalds
    • [OurLogo]/ca/​​mcdonalds

Option 2:

  • facebook.com/mcdonaldsCanada
  • Twitter.com/mcdonalds_ca
  • instagram.com/ca_mcdonalds
  • ourwebsite.com/mcdonalds (saisit cette URL et redirige vers l'une des adresses ci-dessous)
    • notrewebsite.com/ca/mcdonalds
    • notrewebsite.ca/mcdonalds
    • ca.ourwebsite.com/mcdonalds

Dans cette option, l'utilisateur tape le nom de l'entreprise, la page du restaurant la plus proche de lui en fonction de son emplacement GPS ou de son adresse IP s'ouvrira, mais d'abord un modal apparaîtra lui demandant de confirmer l'emplacement du restaurant avec une case à cocher fournie pour se souvenir de son choix. S'il confirme son emplacement, le modal disparaît simplement car il est déjà sur la page, sinon, cela le mènerait à la page de l'autre emplacement qu'il a choisi. Sur la page, il y aurait toujours une option disponible pour changer d'emplacement, si l'utilisateur souhaite le faire à son retour, s'il a activé l'option "se souvenir".

Avantages:

  • Ressemble plus similaire, mais mieux que les autres liens de médias sociaux. (A l'air bien à côté d'un logo)
  • Plus court.
  • Plus facile pour l'utilisateur de se souvenir et d'utiliser l'URL.
  • Plus de choix pour différencier l'emplacement via l'URL (peut être via tld, sous-domaine ou sous-dossier "/").

Contre:

  • L'adresse IP et le suivi GPS ne sont pas toujours garantis.
  • Clic supplémentaire pour les utilisateurs lors de la première visite car il les invite à confirmer l'emplacement.
  • Plus difficile à mettre en œuvre.
  • Les utilisateurs pourraient penser que deux entreprises sont identiques si elles utilisent toutes les deux la même URL, même si elles auront le choix de confirmer l'emplacement lors de la visite.
1
yaharga

Je viens du point de vue d'un développeur Web, donc je suis un peu biaisé, mais voici mes deux cents:

Les domaines locaux sont excellents, mais difficiles à retenir, si vous utilisez différents pays, j'irais avec website.com/ca/mcdonalds. Cela facilite également l'intégration d'autres sites Web, car il s'agit d'une interface RESTful simple. Le/ca/​​désigne une partie distincte de votre site Web, dans ce cas pour le Canada. Pour cela, vous devez utiliser un code pays à deux lettres standard. Ensuite, qui utilise le service met simplement le nom après, assez simple (connu sous le nom d'id dans une interface RESTful).

Cela a également l'avantage d'un meilleur référencement que certaines des autres options, car le moteur de recherche peut comprendre ce que signifie chaque partie de l'URL.

Enfin, et c'est assez important: lorsqu'un utilisateur visite website.com/mcdonalds, vous devez essayer de deviner quel pays il veut en fonction de son adresse IP et le rediriger vers le site de ce pays, cela dit, vous devez également fournir un lien sur cette page retour à tous les autres website.com/??/mcdonalds.

2
erikpartridge

Une URL doit identifier de manière unique une page.

Il s'agit simplement d'un principe de base et vous devez ignorer toute option qui le rompt. Notez l'exigence que vous mentionnez dans votre question:

J'ai besoin que les entreprises puissent poster les URL de leurs pages ...

Il ne sera pas acceptable pour les entreprises si la seule URL disponible va à une page où l'utilisateur sélectionne parmi plusieurs entreprises portant le même nom.

Pourquoi l'hypothèse qu'un seul restaurant dans un pays aura le même nom?

Cela semble étrange ... d'autant plus que vous avez choisi McDonalds comme exemple! Je ne pense pas que cette hypothèse soit justifiée. Si l'ensemble de votre système de dénomination unique est construit autour de noms de restaurants uniques par pays, il est voué à l'échec si le site Web est un succès.

Et si un restaurant veut changer de nom?

Cela pourrait également poser un problème. Interdisez-vous simplement les changements de nom? S'ils changent le nom, leur URL change-t-elle? Ce n'est peut-être pas souhaitable.

Conclusion

Vous avez besoin d'un système robuste qui peut fournir des URL uniques de manière flexible, sans compter sur des hypothèses de noms qui ne se chevauchent pas. Il existe de nombreuses options - jetez un œil à ce que font les autres sites.

La solution que je préfère est celle que ce site utilise lui-même: il y a un numéro unique pour identifier la page, puis le titre de la page vient après cela (mais le titre n'a pas besoin d'être unique, et il pourrait changer sans casser l'URL, car le numéro unique est la seule partie réellement utilisée pour la navigation). Voir cette discussion pour en savoir plus.

Vous pourriez donc avoir: votresite.com/39481/mcdonalds

1
user31143