Routage d'URL : gestion des espaces et des caractères illégaux lors de la création d'URL conviviales
J'ai vu beaucoup de discussions sur le routage d'URL et BEAUCOUP de bonnes suggestions... mais dans le monde réel, une chose que je n'ai pas vue discutée est :
Supposons que vous construisez un site médical, qui contient des articles avec une catégorie et une sous- catégorie facultative. (1 à plusieurs). ( J'aurais pu utiliser n'importe quel exemple, mais le domaine médical a beaucoup de longs mots )
Exemple de catégories/structure de sous-articles/d'articles :
- Santé naturelle (sous-catégorie)
- Le système immunitaire de votre corps et pourquoi il a besoin d'aide. (Article)
- Les plantes et les herbes sont-elles vraiment la solution?
- Dois-je manger des aliments enrichis?
- Troubles auto-immuns (sous-catégorie)
- Le tueur #1 de personnes est une maladie
- Comment obtenir de l'aide
Dans une structure comme celle-ci, vous allez avoir des URL LOOONG si vous y allez : /{Category}/{subcategory}/{Article Title}
De plus, il existe de nombreux caractères illégaux, comme #!? 'é' etc.
ALORS, LA OU LES QUESTIONS SONT :
- En d'autres termes, feriez-vous confiance à la base de données pour trouver l'élément, en transmettant le titre, ou extrayez-vous tous les titres et trouvez la clé dans le code pour obtenir la clé à transmettre à la base de données (deux appels à la base de données) ?
note : je vois toujours de jolis exemples comme /products/beverages/Short-Product-Name/ que diriez-vous de gérer certains exemples laids ^ _ ^
Solution du problème
Je préfère moi-même _ à - pour des raisons de lisibilité (vous mettez un soulignement dessus et le _
s'en va virtuellement), si vous allez supprimer les espaces.
Vous voudrez peut-être essayer de convertir des caractères étendus, c'est-à-dire ü, en équivalents ascii proches lorsque cela est possible, c'est-à-dire :
ü -> u
Cependant, d'après mon expérience, le plus gros problème avec les problèmes liés au référencement réel n'est pas que l'URL contient tout le beau texte, c'est que lorsque les gens changent le texte du lien, tout votre travail de référencement se transforme en merde parce que vous avez maintenant des LIENS MORTS dans le index.
Pour cela, je suggérerais ce que fait stackoverflow, et avoir une partie numérique qui fait référence à une entité constante, et ignorer totalement le reste du texte (et/ou le mettre à jour quand il est faux)
De plus, la nature grossièrement héroïque rend simplement la mauvaise utilisation par les humains. Les humains détestent les URL longues. Les copier-coller est nul et ils sont juste plus enclins à se casser. Si vous pouvez le subdiviser en teirs inférieurs, c'est-à-dire
/article/1/Some_Article_Title_Here
/article/1/Section/5/Section_Title_Here
/section/19023/Section_Title_here ( == above link )
De cette façon, le seul moment où vous devez faire de la magie vaudou est lorsque l'article numéroté a été supprimé, moment auquel vous utilisez la partie texte comme chaîne de recherche pour essayer de trouver le véritable article ou quelque chose comme ça.
Commentaires
Enregistrer un commentaire