web-dev-qa-db-fra.com

Les chemins d’URL doivent-ils être sensibles à la casse?

Les URL de mon site Web sont actuellement insensibles à la casse. Par exemple, les deux liens suivants affichent exactement la même page:

  • http://example.com/about
  • http://example.com/About

Cependant, en consultant le site Web wordpress.org, j'ai remarqué que les URL étaient sensibles à la casse. Par exemple, le deuxième lien ci-dessous est une page d'erreur 404:

  • http://wordpress.org/about
  • http://wordpress.org/About

Mon objectif est de rendre les URL de mon site sensibles à la casse. Outre le problème évident d'éviter le contenu en double, quels sont les avantages et les inconvénients des URL sensibles à la casse?

Mise à jour

Google semble appliquer une stratégie d'URL sensible à la casse sur ses propres URL. Par exemple, le deuxième lien ci-dessous est un 404:

  • http://google.com/doodles
  • http://google.com/Doodles

Mise à jour 2

Merci pour vos réponses. J'ai décidé de suivre les conseils mentionnés dans la réponse acceptée et de mettre en œuvre les redirections 301 si nécessaire. Depuis que je travaille avec WordPress, ma solution de code est la suivante (au cas où quelqu'un serait intéressé):

function force_lowercase_urls() {

    if ( is_admin() )
        return;

    if ( preg_match( '/[A-Z]/', $_SERVER['REQUEST_URI'] ) ) {

        wp_redirect( strtolower( $_SERVER['REQUEST_URI'] ), 301 );
        exit();
    }

}
add_action( 'init', 'force_lowercase_urls' );
10
henrywright

Deux des systèmes de fichiers du système d'exploitation les plus utilisés pour la diffusion de contenu Web ont des paramètres très différents pour la sensibilité à la casse des URL par défaut. Que vos URL soient sensibles à la casse ou non est probablement une fonction que vous utilisez:

  • Microsoft IIS s'exécutant sur Windows - URL non sensibles à la casse - affiche le même contenu, quelle que soit la casse.
  • Apache HTTPD Server s'exécutant sous Linux - URL sensibles à la casse - renvoie une erreur 404 non trouvée pour une capitalisation incorrecte.

A mon avis, ni l'un ni l'autre par défaut n'est idéal:

  • Afficher le même contenu indépendamment de la capitalisation rend l'exploration de votre site Web plus difficile. Les moteurs de recherche considèrent le même contenu sur plusieurs URL comme un contenu dupliqué.
  • Afficher les pages d'erreur pour une capitalisation incorrecte n'est pas convivial. Les utilisateurs ne font généralement pas attention à la capitalisation lors de la frappe.

La solution idéale serait d'afficher la page uniquement lorsque l'URL est correctement mise en majuscule. Pour une capitalisation incorrecte, l'utilisateur doit être 301 redirigé vers la capitalisation préférée. Ceci peut être accompli de différentes manières:

6

Voici la position de Google à partir d'une session de discussion en direct archivée (le lien est maintenant mort):

* La capitalisation incohérente des URL entraîne-t-elle des problèmes de contenu en double et une dilution du grade de page? Par exemple, www.site.com/abc vs www.site.com/Abc. Sur les hôtes Windows, il s’agit de la même page, mais il s’agit de pages différentes sur les hôtes Unix.

JohnMu: Bonjour John, sur la base des normes existantes, les URL sont sensibles à la casse. Elles seront donc considérées comme des URL distinctes. Étant donné que le contenu des URL est identique, nous le reconnaîtrons généralement et n'en conservons qu'un. Cependant, nous vous recommandons d'essayer de conserver tous les liens vers une version de l'URL. Gardez à l'esprit que cela s'applique également aux fichiers robots.txt. *

L'équipe IE recommande de choisir une convention de conservation de fichier et de s'y conformer strictement , car cela peut améliorer les performances.

4
mvark