web-dev-qa-db-fra.com

Mes URL doivent-elles être en minuscules?

Selon ce blog ("Comprendre les pratiques de syntaxe des URL conviviales pour le référencement") Je devrais changer

http://example.com/Hello-Dolly

À

http://example.com/hello-dolly

Les raisons données sont:

  • Les URL, en général, sont sensibles à la casse
  • cela simplifiera les rapports d'analyse et de référencement sensibles à la casse

Selon ce GIF que j'ai trouvé dans l'article de Wikipedia sur Normalisation d'URL , je devrais convertir mes URL de toutes les majuscules en minuscules.

Cependant, j'utilise ASP.NET MVC et par défaut, mes URL sont structurées comme suit ( CamelCase ):

http://www.example.com/Controller/Action/Parameter

http://www.example.com/Categories/List/Bicycles

J'ai parcouru le RFC1738 mais je n'ai pas vu de réponses définitives à cela.

Devrais-je faire tout mon possible pour forcer le cadre à tout changer en minuscule? Pourquoi Microsoft a-t-il choisi de concevoir son cadre de cette manière si tout le monde me dit d’utiliser des minuscules?

17
Rowan Freeman

Should I go out of my way to force the framework to change everything to lower case?

Non, ce n'est pas nécessaire. Les systèmes d'exploitation Windows sont insensibles à la casse, y compris les systèmes d'exploitation de leurs serveurs et leurs applications-cadre. Les systèmes d'exploitation Linux/Unix sont toutefois sensibles à la casse.

Les applications Internet (par exemple, les navigateurs) doivent normaliser URL, comme indiqué à la section 6 de RFC 3986 :

L'une des opérations les plus courantes sur les URI est la comparaison simple: déterminer si deux URI sont équivalents sans utiliser les URI pour accéder à leurs ressources respectives. Une comparaison est effectuée chaque fois qu'un accès au cache de réponses est effectué, un navigateur vérifie son historique pour colorer un lien ou un analyseur XML traite les balises dans un espace-noms. Les spiders et les moteurs d'indexation utilisent souvent une normalisation poussée avant la comparaison des adresses URI pour modifier un espace de recherche ou réduire la duplication des actions de requête et du stockage des réponses.

Étant donné que vous utiliserez sans aucun doute un serveur Windows, les URL et les URI demandés seront correctement renvoyés aux applications client.


En ce qui concerne les moteurs de recherche, comme indiqué dans le RFC ci-dessus, et dans votre lien Wikipedia sur Normalisation d'URL :

Les moteurs de recherche ont recours à la normalisation des URL pour attribuer une importance aux pages Web et réduire l'indexation des pages en double.

Et comme sources comme this rapport sur le sujet:

Plus récemment, Google a commencé à mieux comprendre que /page1.html et /Page1.html n'étaient que deux instances du même contenu.


Why did Microsoft choose to design their framework like this if everybody is telling me to use lowercase?

Il est compatible avec leur système d'exploitation et techniquement non incorrect selon les RFC. Ils ont également leur propre façon de faire les choses, ce qui empêche les webmasters de deviner :-)

10
dan

Je ne sais pas si vous devriez le changer, mais vous devez vous assurer d'être cohérent.

J'ai étudié la question il y a quelques années et la norme de Google était la suivante: le cas avant que le TLD n'ait plus d'importance, mais après le TLD.

À l'époque, je travaillais sur un ancien site appelé BusinessForPhotographers.com; apparemment, cela est systématiquement traité comme étant insensible à la casse.

Après le .com est une autre affaire. Google considère /Great-Article comme différent de /great-article, même si votre serveur les achemine au même endroit.

Cela pourrait avoir une incidence sur la canonisation et les problèmes de contenu en double. Je pense que la méthode la plus sûre serait de forcer une redirection 301 vers la version correcte.

Bien que cela puisse sembler inutile de penser à un service comme YouTube, /A1B2C3 est-il la même URL que /a1b2c3?

Pas aux yeux de Google.

4
adam-asdf

Les chemins d’URI sont sensibles à la casse (s’ils ne sont pas définis autrement). Voir le Norme URI STD 66, section 6.2.2.1. Normalisation de cas :

Les autres composants syntaxiques génériques sont supposés être sensibles à la casse, sauf indication contraire du schéma.

Si les lettres majuscules dans les chemins d'accès HTTP URI posent problème à certains utilisateurs, le nom de Wikipédia serait rompu. Ces deux URI HTTP (ne différant que par des minuscules o par rapport à des majuscules O) conduisent à des pages différentes:

Donc, non, vous n'avez pas pour changer vos URI.

Cependant, si possible (si vous n’utilisez pas l’affaire, comme le fait Wikipedia), il serait de bonne pratique d’autoriser tout les variantes de casse et 301 sont redirigés vers une variante canonique.

3
unor