Si votre site est accessible en tapant www.monsite.com, monsite.com, ou encore par exemple www.monsite.com/index.html, les moteurs de recherche verront des pages aux URL distinctes mais au contenu identique, ce qui pose un problème de contenu dupliqué et donc d’indexation.
Des liens externes naturels ou erronés pourront aussi dans ce cas pointer vers un contenu identique avec des adresses URL différentes, par exemple www.monsite.com, monsite.com, www.monsite.com/index.html ou encore www.monsite.com/index.php, ce qui n’entrainera que confusion pour les moteurs de recherche, et au minimum une perte du bénéfice de certains liens externes et donc dilution de la notoriété de la page.
Le problème est cependant bien connu des moteurs de recherche comme Google et très vraisemblablement les pénalités généralement appliquées au contenu dupliqué ne le seront pas dans ce cas. Mais le fait que des liens pointent vers des url distinctes au contenu identique conduira à un handicap certain dans l’optimisation du netlinking du site.
Afin d’optimiser le netlinking et la notoriété d’une page, on choisira l’url d’entrée en général la plus simple ou plus fréquemment utilisée, appelée encore url canonique, et on s’y tiendra. Par exemple si l’on décide d’utiliser www.monsite.com/ comme url d’entrée on s’abstiendra d’utiliser des liens internes du type www.monsite.com/index.php pour retourner à la page d’accueil.
Par ailleurs comme tôt ou tard un lien externe utilisera monsite.com/ ou /index.php il est utile de mettre en place des redirections permanentes (R301) qui sont très bien prises en compte par les moteurs de recherche.
Redirection par htaccess et url rewriting
Par exemple : Redirection d’un domaine sans “www” vers un domaine avec “www” : (Attention : pour les sous-domaines penser à ajouter RewriteBase /) En utilisant ce code de redirection dans un fichier htaccess, les utilisateurs et les moteurs de recherches seront automatiquement redirigés du domaine http://example.com/ vers le domaine http://www.example.com/
Redirection php
Une redirection permanente peut aussi s’effectuer en php, très utile notamment si le serveur ne permet pas la ré-écriture d’url. Tout en haut de la page index.php (ou autre page d’entrée par défaut definie au niveau serveur), c.-à-d.. avant le Doctype et html on peut utliser le code php suivant :
pour rediriger exemple.fr/ vers www.exemple.fr (Note: cela fonctionne bien entendu dans l’autre sens aussi
Pour le cas où 2 url différentes ont déjà été utilisées par erreur et où l’on voudrait rediriger : /répertoire/index.php vers /répertoire/ (conditions ajoutées pour éviter une boucle sans fin et/ou erreur serveur) :
Important : si les infos ci-dessus restent valables, les moteurs de recherche dont Google ont annoncé la prise en compte d’un nouvel élément standard à inclure dans le header nommé “link canonical” :
Il en ressort que l’utilisation de l’élément “link canonical” est possible entre sous-domaines (mais pas domaines différents comme une redirection 301), aussi pour éviter les erreurs utiliser des urls absolues au lieu de relatives. Eviter aussi les chaines pour cette même raison. De façon générale travailler en amont (utiliser une seule url pour liens internes, etc). Pages doivent être très proches mais pas nécessaire d’avoir 100% de contenu identique (e.g. boutiques ecommerce)
Rappel de l’écriture de l’élément dans le header comme les meta tags :
<link rel=”canonical” href=”http://www.example.com/” />
Cohérence avec sitemap i.e. penser à inclure les urls canoniques et pas les autres.