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:
Quelle serait la meilleure option pour le choix de la structure de l'URL?
Option 1:
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:
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:
Option 2:
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:
Contre:
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.
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