web-dev-qa-db-fra.com

Pourquoi mon site reçoit-il des demandes de conversion d’URL en minuscules?

Sur mes sites, je vois des demandes d'URL valables, mais avec le chemin d'accès converti en minuscule.

Par exemple, une URL valide est example.com/some-product-CAT12P0.html.

Dans mes journaux Apache, je vois example.com/some-product-cat12p0.html.

Cela se produit sur plusieurs sites que je gère et je ne vois aucun modèle dans l'agent utilisateur.

Un exemple d'entrée de journal:

45.55.65.212 - - [24/Jan/2017:06:36:57 +0000] "GET /educational-assessments-cat12p0.html HTTP/1.1" 404 6011 "http://www.example.com" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14"

UA peut être Win/OSX/iOS/Android, etc. et de nombreux navigateurs différents.

Les sites fonctionnent tous sur la pile LAMP. J'utilise mod_rewrite pour convertir CAT12P0.html en une chaîne de requête à transmettre à un fichier PHP.

J'ai bien sûr vérifié mes sources HTML et sitemaps et tous les liens sont en majuscules à la fin, comme le souhaite mod_rewrite.

Est-ce un mauvais bot ou est-ce que je peux faire quelque chose pour dire à UA de convertir mes liens en minuscules?

5
user602088

Ce sont généralement des hits de mauvais robots. Malheureusement, il est très courant que les bots tentent de mettre toute l’URL en minuscule. J'ai un site Web avec des URL de casse mixte. Je reçois des milliers de visites par jour pour des URL mal mises en minuscules. Voici les principaux agents utilisateurs qui l'ont fait hier:

  20494 Mozilla/5.0 (compatible; Gluten Free Crawler/1.0; +http://glutenfreepleasure.com/)
    312 Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)
    281 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
    252 Mozilla/5.0 (compatible; proximic; +http://www.proximic.com/info/spider.php)
     77 Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
     55 Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0 Mobile/14C92 Safari/602.1
     20 YisouSpider
     15 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0
     14 ADmantX Platform Semantic Analyzer US - Turn - ADmantX Inc. - www.admantx.com - [email protected]
     13 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

Comme vous pouvez le constater, il y a généralement quelques gros contrevenants, mais j'avais 120 agents utilisateurs distincts qui ont touché toutes les URL minuscules sur mon site hier.

Même Googlebot a reçu quelques demandes. Ce n’est pas parce que Googlebot a ce problème, mais parce qu’il trouve tous les liens en minuscules quelque part sur le Web. Ce n'est pas exclusivement un problème de bot. Certaines personnes mettent toute l'URL en minuscule avant de créer un lien. Certains sites de raclage affichent des URL minuscules. Il existe même un logiciel de gestion de contenu occasionnel qui ne permet pas la publication d'URL de casse mixtes.

En résumé, bien que la spécification autorise les URL à casse mixte, elle nécessite en réalité un travail supplémentaire. Comme il s'agit d'un problème courant, vous devez placer les redirections "301 permanentes" des versions minuscules vers la version en casse mixte.

2
Stephen Ostermiller

L'utilisation de majuscules dans les URL est autorisée et cela fonctionne, mais le problème est que /a et /A sont deux URL différentes (comme dans votre cas).

Comme il s'agit de la norme, il n’est pas très difficile d’imaginer qu’un robot, un bot ou tout ce qui indexe appelle l’URL en minuscule ou tente de résoudre le problème s’il le fait.

Pour éviter les situations dans lesquelles vous vous trouvez et simplifier les URL, il est judicieux de toujours mettre toutes les URL en minuscules. En règle générale, vous devriez pouvoir dire une URL à une autre personne de la manière la plus simple possible ( "Non non, majuscule C. Non, pas le mot entier" ).

Même si vous souhaitez utiliser des caractères majuscules, ce qui est facile à faire, vous devez le rediriger en interne en minuscule afin que /aaa & /AaA soient traités de la même manière (sauf si vous avez une bonne raison de ne pas le faire).

1
Martijn