Précautions de gestion des urls

Les urls constituent la référence de base de l'indexation de votre site par les moteurs de recherche. Leurs robots parcourent tout ou partie de votre site, à une fréquence régulière. Votre site peut être non indexé, partiellement indexé, totalement indexé, indexé avec des urls non souhaitées.
L'indexation d'urls non souhaitées va déclencher des actions de votre part pour soit demander la suppression des urls sous Google Search Console, soit mettre en place leur redirection vers des urls opérationnelles.

Avant d'évoquer ces démarches, voyons quelques conseils pour éviter des urls non souhaitées, et donc évier une situation de redirection:

1- Lors du développement de votre site, si possible le réaliser sous un sous-domaine "test.monsite.fr" en no-index/no-follow; sinon bien mettre dès le premier jour du développement "monsite.fr" en no-index/no-follow.

2- Lors de la phase de développement bien réfléchir à la structure du site : menu principal, sous-menus, menu secondaire... de manière à éviter les modifications de structure en production, et donc les modifications d'urls pour un même contenu.

3- Également si le site est multi-langues, prendre des décisions définitives lors de la phase de développement : si on met en production avec une langue XX, puis qu'on abandonne cette langue XX alors que toutes ses urls sont indexées, cela générera des pages 404 (inconnues) pour toutes les pages de la langue XX. Pour rappel, pour un contenu traduit en 3 langues on a forcément 3 pages donc 3 urls, par exemple : monsite.fr/produits, monsite.fr/en/products et monsite.fr/es/productos.

4- Avant mise en production, il faut bien étudier la structure des urls et la rendre définitive. Il arrive souvent que les sites des boutiques avec des catégories et numéros identifiants génèrent des urls intégrant ces identifiants. Normalement un paramètre du composant concerné permet d'éliminer ces identifiants. Exemple:
<> url avec identifiants : https://www.monsite.fr/4-nom-categorie/7-nom-produit
<> url sans identifiant (plus efficace pour le référencement, donc à privilégier) : https://www.monsite.fr/nom-categorie/nom-produit

5- Bien réfléchir aux alias des urls avant la mise en production. L'alias correspond à la partie de l'url après le nom de domaine (https://www.monsite.fr/alias). 
Exemple: un élément de menu s'appelle "L'équipe" dans un sous-menu "Qui sommes-nous", son url générée par le CMS sera par défaut "https://www.monsite.fr-qui-sommes-nous/l-equipe".
L'url suivante sera plus professionnelle :  "https://www.monsite.fr-qui-sommes-nous/equipe".

6- Il arrive que tout ne puisse pas être prévu dès le départ, c'est la vie d'un site, donc bien garder à l'esprit ce principe :
EN PRODUCTION, NE JAMAIS MODIFIER UNE URL SANS EFFECTUER DE REDIRECTION

 

Le principe des redirections

Le principe d'une redirection 301 est de rediriger de façon permanente une URL vers une autre. La redirection est acceptée par les moteurs de recherche, il n'y a pas de pénalisation dans le positionnement du site lorsque des redirections sont trouvées.
A l'inverse si des redirections sont nécessaires (par exemple pour urls qui n'existent plus sur le site mais qui figurent dans l'index des moteurs de recherche), et que ces redirections ne sont pas mises en place, alors le site est mal perçu par les moteurs de recherche (indice de mauvaise qualité du site).
Par exemple, on souhaite que si l'internaute tape dans la barre d'adresse www.lamaisondezelie.net ou lamaisondezelie.net, ces deux actions doivent aboutir au chargement de l'URL www.lamaisondezelie.net.
Les cas les plus fréquents de redirections 301 visent à changer le nom de domaine d'un site, orienter une page vers une autre ou gérer les différentes syntaxes des URLs.

Pourquoi est-ce important?

Cette démarche est essentielle car elle garantit :

  • une bonne expérience du visiteur sur le site (on évite l'affichage de la pages 404 ou "URL inconnue"),
  • de conserver le Page Rank/Trust Rank d'une ancienne page et d'en faire bénéficier la nouvelle page équivalente,
  • surtout cela permet d'éviter de dupliquer du contenu de façon involontaire et ne pas pénaliser de façon dommageable le positionnement du site sur les moteurs de recherche. En effet, pour les moteurs de recherche l'url https://monsite.fr est différent de https://www.monsite.fr.  Ne pas gérer la redirection de non-www vers www (ou l'inverse) va provoquer un doublon de toutes les pages dans l'index des moteurs de recherche, donc des contenus dupliqués pour toutes les pages du site. Éviter le contenu dupliqué est une préoccupation essentielle de toute stratégie SEO.

Les alertes de Google Search Console

Google Search Console va recenser les anomalies d'indexation. Par exemple, il va signaler des urls indexées mais qui ne figurent plus sur le site, soit elles ont été supprimées, soit elles ont été renommées. Une action est donc requise.

google search console pages 404

 

Les outils de redirection des urls

Hors site : le fichier .htaccess

Ce fichier majeur pour la sécurité du site, est un outil essentiel pour gérer les redirections.
Mon conseil est de le charger sur PC par FTP, de le modifier tranquillement avec un éditeur type Notepad, puis le charger à nouveau sur le serveur. 
Attention ce fichier est très sensible, toute anomalie de syntaxe fera planter ce fichier et donc le site.

Composants Joomla d'administration du site

4SEO / 4SEF (Joomla4), permet de gérer de nombreux cas de redirections, mais aussi offre de nombreux fonctions SEO, et même des audits du site.
Admin Tools, solution de sécurité et de pare-feu, offre un espace de gestion des redirections d'1 url vers 1 autre.

 

Exemples de redirections à mettre en place:

  1. www.monsite.com/index.php vers www.monsite.com

    Si votre template le permet, une solution existe dans le fichier index.php , tout en haut du fichier :

    <?php
     if($_SERVER['REQUEST_URI'] == '/index.php') {
     header("Location: /",TRUE,301);
     exit();
     }
     ?>

    Autre solution, code à placer dans le .htaccess:

    RewriteCond %{THE_REQUEST} !^POST
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$
    RewriteRule ^index\.php$ http%2://monsite.fr/ [R=301,L]
  2. monsite.com vers www.monsite.com

    Solution dans le fichier .htaccess :

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^monsite.com$
    RewriteRule ^(.*) https://www.monsite.com/$1 [QSA,L,R=301]

  3. Redirection urls avec / à la fin vers urls sans / (trailing slash)

    Solution dans le .htaccess

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

  4.  Redirection ancienne-url vers nouvelle-url

    Solution dans le .htaccess

    RedirectPermanent /accueil /  (Exemple pour rediriger vers la page d'accueil)
    RedirectPermanent /ancienne-url /nouvelle-url 

 5. Enlever la terminaison .html

Ajouter les règles suivantes juste après l’instruction"RewriteEngine On" dans le fichier .htaccess :

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} \.html$ RewriteRule ^(.*)\.html$ /$1 [R,L]

Cas particulier qui n'est pas une redirection : l'URL canonique

Prenons l'exemple d'une url de la variante d'un produit, www.monsite.com/categorie/nom-produit-variante1. Soit cette url n'a pas besoin d'être indexée soit elle doit être indexée avec les paramètres d'une URL globale, celle du produit ( www.monsite.com/categorie/nom-produit ).
L'avantage de cette  URL globale dite "canonique" est que les moteurs de recherche lisent ce paramètre dans le code source et ne considèrent pas ces nombreuses URLs comme des contenus dupliqués.
Dans le code source de la page de la variante on a <link href="/categorie/nom-produit rel="canonical" /> .
Cette fonctionnalité est proposée par la plupart des solutions de boutiques en ligne.

Une explication et documentation très claires en anglais sur le sujet des urls canoniques.

 

Quelques liens utiles:

Autres exemples de codes de redirection http://forum.webrankinfo.com/des-codes-pour-redirection-htaccess-t110832.html
Une bonne synthèse des causes techniques de contenu dupliqué et des solutions pour y remédier http://forum.webrankinfo.com/des-codes-pour-redirection-htaccess-t110832.html
Documentation Apache pour comprendre la syntaxe du fichier .htaccess et les expressions rationnelles.