410 GONE

Besoin d'un conseil e-Commerce / Magento? SEO ? les deux? Contactez moi!

Comment corriger les erreurs 404 et garder le seo lors d'une migration de site?

Dans cet article nous allons étudier les différentes astuces pour ne pas perdre le power ou le jus qui nous est transmis par d'autres sites. Une refonte de site, si elle est mal gérée peut facilement mettre à mal toute une stratégie de netlinking qui a été longue à mettre en place. Ces préconisation s'appliquent donc y compris dans le cas d'un passage de http à https.

Prévention des problèmes d’URL

Tout d'abord rappelons nous qu'une URL redirigée apporte moins de jus SEO qu'une URL en direct. Plus vous limiter les rebonds de redirection mieux c'est. Concrêtement l'enchainement Site externe -> page en http ->page en https sera plus puissante que Site externe -> old page en http -> old page en https -> new page en https

Les URLs ne doivent pas changer

N'oubliez jamais que vous ne devez jamais changer vos urls, plus une url est ancienne plus elle est pertinente pour google. Les sites e-commerce les plus efficaces ont des pages du type : www.site.com/solde.html et non pas www.site.com/soldes-2013.html c'est pour eux la garantie que les liens qui pointent vers la page restent valable d'une saison à l'autre et d'une année sur l'autre.

Garder une copie de votre sitemap

Le fait de conserver votre site map avant une migration ou changement de stratégie d'url est pour vous la possibilité de garder une liste des url's potentielles à rediriger, nous verrons plus loin comment exploiter ce fichier.

Attention aux modules seo

Suivant le cms que vous utilisez il vous sera probablement suggéré un module seo lié. Celui-ci vous proposera sans doute son ou ses modèles d'urls favoris. Cela n'est pas un mal en sois si vous l'installez au moment du démarrage de votre site, mais si vous aviez déjà plusieurs articles et catégories sur votre site, un plan de migration des urls peu s'imposer.

Comment réussir un plan de migration d'urls?

Que l'on change de Notre objectif va être de transmettre un maximum de jus à nos nouvelles pages. On structurera donc notre .htaccess ainsi
  1. /ancienne-url-key-relative -> https://www.ndd.com/new-url-precise [L,R=301]
  2. http * -> https * //on redirige ensuite les urls qui n'ont pas été traitées au point 1.
  3. règles de redirection par défaut du cms ou règles métiers de votre projet

Eviter les paramètres php dans les urls

Comme nous le verrons plus loin il est possible de rediriger une url en erreur vers une seconde url. Seulement il n'est pas possible de passer en paramètre de redirection apache les paramètres php. La version ci-dessous est courante
RedirectPermanent /1/article.php /article-1.html
Nota bene: Dans la mesure du possible, essayer d'envoyer les paramètres d'urls en POST et non pas en GET mais celle-ci n'est pas possible car le paramètre en variable est situé après l'extension php. On l'appele QSA : Query String Append. Ce paramètre précisé dans les drapeaux de réécriture force la conservation des paramètres dans l'url. Exemple: RewriteRule ^page.php?param=toto       /toto.html      [QSA,NC,L,R=301] #renvoie vers /toto.html?param=toto pour éviter l'inclusion des paramètres on utilisera cette syntaxe: RewriteRule ^page.php?param=toto       /toto.html?      [NC,L,R=301] #renvoie vers /toto.html (en ajoutant le ? à la fin) A partir de Apache 2.4 on peut ajouter le paramètre QSD query string discard. RewriteRule ^page.php?param=toto       /toto.html      [QSD,NC,L,R=301] #renvoie vers /toto.html

Détection des urls en erreur 404 ou autre

Les erreurs de maillage interne

Vous pouvez par exemple utiliser Xenu, screaming frog ou netpeak spider (j'ai une petite préférence pour ce dernier) pour repérer les erreurs de maillage interne. C'est une fréquente source d'erreur 404, pourtant l'optimisation du maillage interne est un très bon point pour votre seo.

Rapport d'analyse du maillage interne de xenu

Xenu vous permettra également de détecter grâce à la colonne level les liens circulaires, qui sont une grosse source de duplicate content. Un lien circulaire est un lien dont l'url relative n'est pas correctement définie. Il aura donc tendance à s'ajouter à lui même : exemple :
  1. http://www.monsite.com/article/commentaire/
  2. http://www.monsite.com/article/commentaire/article/commentaire/
  3. http://www.monsite.com/article/commentaire/article/commentaire/article/commentaire/
  4. etc...

Les erreurs internes / externes

Avec google Webmaster tools

La section erreur d'exploration de google webmaster tools vous permettra de rapidement analyser les erreurs détecter par google sur votre site. L'avantage c'est qu'il ne s'agira ici que des urls indexées par google. Attention cependant, votre objectif sera de les détecter en amont. Mieux vaut prévenir que guérir. Utilisation du rapport d'erreur de google webmaster tools

Avec un module spécifique

Vous pouvez développer votre propre module d'analyse, c'est ce que j'ai fait pour ma part dans magento, j'ai créé un module qui détecte tous les accès en page 404 du site et me propose de revérifier, et de rediriger mes pages. Il sera bientôt disponible sur magento connect. Aperçu du module ci-dessous: Prévisualisation du module magento de détection des urls défectueuses

En exploitant les logs erreurs apache

Une troisième solution consiste à surveiller les logs apaches pour scruter les pages en erreurs 404. Idéalement vous pouvez même séparer les erreurs de navigation des erreurs de robots des moteurs de recherche. L'analyse de logs, qu'elle soit faite à la main ou via un outil comme oncrawl ou botify, vous permettra également de suivre les mauvaises redirections.

Correction des erreurs 404

Quelle que soit la méthode que vous choisirez, surtout privilégiez la redirection 301, c'est elle qui fera suivre le pagerank et la qualité du seo acquis sur l'url précèdente.

Comparaison de sitemaps

La première solution consiste à comparer votre ancien site map avec le nouveau, ainsi vous saurez si vos urls ont changé et selon quel schéma. Dans la mesure du possible paramétrer votre stratégie d'URL pour rester identique à la précédente. Ensuite vous pourrez réécrire vos urls dans votre .htaccess (voir ci-dessous)

Module spécifique

Magento comme d'autre cms, vous propose un module de réécriture d'url vous pourrez donc saisir les urls à rediriger dans celui-ci. Cette solution a pour avantage de ne pas nécessiter de connaissance en url rewriting mais génère un accès base de données pour chaque erreur. Le temps d'affichage de la nouvelle page est donc plus long.

Rewrite rules dans votre .htaccess

La réécriture d'url est un outil très puissant qui peut permettre de rediriger des dossier complets. Bien que complexe à appréhender, il a pour avantage de déclencher la réécriture au niveau apache, et donc d'optimiser la vitesse d'affichage de chaque page malgré la redirection. Une redirection 301 simple se présente ainsi:
RedirectPermanent /magento/index.php /magento.html