Voici mon premier middleware KoaJS disponible publiquement sur npm: il nettoie les URL en entrées, et au besoin redirige vers les Urls propres.

Pourquoi est-ce important d’avoir des URLS propres ?

Avoir des urls mal formatées avec des caractères illisibles, des slash en double ou plus, des majuscules, des minuscules… est néfaste à plusieurs niveaux. Au delà du simple désagrément visuel, mal formatées, plusieurs urls vous mènent à une même page de contenu.

Exemple:
http://tilap.net/article et http://tilap.net/ArtiCLE mèneront à la même page
http://tilap.net/mon/article et http://tilap.net/mon///article/

Le problème ? D’une part pour votre référencement: une même page avec plusieurs urls, ça s’appelle du duplicate content, et ça vous flingue dans le classement de Google.

D’autre part, lorsque vous partagez une URL sur un compte social (twitter, facebook, …), le décompte de ces urls et de leurs partage se base sur un hash de l’url. Et donc, vous ne pouvez pas suivre correctement vos partages…

Koa Sanitize URI

Le middleware Koa Sanitize URI est simple: il intercepte l’URI de la requête entrante, la compare à la même URI nettoyée, et si elles diffèrent, redirige vers l’URI propre.

Je l’ai fournit avec quelques options pratiques :
– définir des chemins à ignorer, notamment pour les chemins dont vous ne maitrisez pas forcément le format ou pour des fichiers finaux
– définir le code header de redirection (301 par défaut)
– définir les options de « nettoyage », disponibles dans le paquet dépendant Piggy-sanitize-uri fait à l’occasion et pouvant être utilisé indépendamment.

Pour le mettre en oeuvre, ça se fait très simplement. Tout est expliqué sur les 2 pages du projet:

Page Github du projetLe paquet NPM