L'Art du référencement Web

Les techniques d'optimisation

La structure sémantique de la page

Comme nous avons pu le voir précédemment la structure HTML d'une page apporte un sens sémantique pris en compte par les moteurs de recherches.
Afin d'améliorer la structure semantique d'une page, voici quelques consignes à respecter :

Il faut tout d'abord commencer par décrire la balise <title> de manière à ce qu'elle fasse ressortir le contenu de la page. Pour une page d'accueil, le terme "Accueil" est inadapté car il ne référence en aucun cas votre contenu et beaucoup trop de monde se référencerait sur ce mot. Par conséquent, cela augmenterai le taux de rebond. Ainsi préférez un titre concis entre 2 et 3 mots se rapportant au contenu de la page.

Ensuite en ce qui concerne les images, la balise <img> est fournie avec des attributs dont l'attribut alt. Il permet de préciser le descriptif de l'image. Renseigner cet attribut permet à Google de comprendre ce qu'elle représente. Par ailleurs, cela revient aussi à réaliser un site compatible avec la norme WAI dont l'objectif est de rendre les sites accessibles aux personnes handicapés.

Les balises <meta> sont nombreuses et ont longtemps étaient utilisées pour le référencement de sites Web. Nous distinguons plusieurs types de balises <meta>. La balise <meta name="title" content="titre"> est utilisé par l'algorithme de Google. Elle permet de renseigner le titre de la page. La balise <meta name="keywords" content="mots-clés"> est devenue obsolète. En effet, trop de sites l'utilisaient afin de saisir une liste de mots-clés n'ayant aucun rapport avec le contenu de la page. Elle est donc dépréciée. La balise <meta name="robots"> est utilisée par Google. Elle possède de nombreux attributs permettant de manipuler la manière dont le robot indexe le site.
Voici une liste incomplète des valeurs autorisées par cette balise :

L'URL-Rewriting

Les sites dynamiques génèrent la plupart du temps des pages aux URLs longues et complexes, du fait de la présence de variables. Avec des pages dynamiques, un seul script permet de créer dynamiquement des centaines ou des milliers de pages. Une fois la réécriture d'URLs mise en place sur un site, les pages seront accessibles grâce à des URL « propres », que ce soit pour les internautes ou pour les robots des moteurs de recherche. Ainsi, une page qui était accessible à l'adresse :

http://www.notre-site.com/articles/article.php?id=12&page=2&rubrique=5

sera accessible après URL rewriting à l'adresse (par exemple) :

http://www.notre-site.com/articles/article-12-2-5.html

Ces URL dites « propres » (débarrassées de caractères spéciaux comme « ? » ou « & ») facilitent l'indexation des sites dynamiques, et donc leur référencement dans les moteurs.
En plus de cet avantage indéniable, la réécriture d'URL permet également de renforcer la sécurité du site en masquant les noms des variables passées dans l'URL. Si l'extension des URL « propres » est neutre (par exemple .html ou .htm), il est même possible de masquer le langage utilisé sur le serveur (PHP dans notre exemple).
La mise en place de l'URL Rewriting se fait en amont de la conception du site. Il faut ensuite veiller à ce que les liens des pages du site utilisent le format d'URL réécrite.

Ci-dessous, un exemple de réécriture d'URL :

RewriteRule ^.*/img(.)/(.*)$ /img$1/$2 RewriteRule ^/t([0-9]+)/.*\.htm$ /theme.3.1315.$1.htm [QSA,L]

La première règle remplacera par exemple une url de la forme monsite.fr/img1/mapage.html en /img1/mapage.html supprimant ainsi tout ce qui préfixe "/img".
La seconde règle remplace les URLs de la forme /t1523/titi.htm en /theme.3.1315.1523.htm.
Nous comprenons que la règle de réécriture est plus permissive que ce seul exemple. Ces règles sont néanmoins peu adaptées au référencement, lors de la ré-écriture, il serait plus pertinent d'utiliser des mots-clés en rapport avec le site plutôt que de ré-écrire des chiffres.

Si vous souhaitez en connaître plus sur l'URL Rewriting, je vous renvoi à la documentation apache pour plus d'information.

Les redirections

Les redirections ont vu le jour dans le protocole HTTP, elles ont un rôle important dans le cadre du référencement des sites Web. En effet, pour que les robots des moteurs de recherches interprètent correctement la redirection, il faut que l'entête HTTP envoyé avec la page corresponde au statut de la page.
Par exemple, si une page a changé d'emplacement dans votre site, il faut que l'ancienne URL fasse une redirection vers la nouvelle en utilisant un entête HTTP qui précise que cette page a changé définitivement d'adresse. Cela permettra aux robots de ne plus venir indexer l'ancienne URL, et de mettre à jour sa base de données en affectant la nouvelle URL à la page.
Si vous ne mettez pas de redirection depuis l'ancienne URL, le robot obtiendra une erreur 404 indiquant que la ressource n'a pas pu être trouvée. Il existe deux types de redirections, les redirections permanentes associées au code HTTP 301 et les redirections temporaires avec le code HTTP 302. Ces redirections peuvent être mises en place à la fois côté serveur (script PHP, fichier de configuration d'Apache) ou côté client (Javascript).

Les redirections permanentes sont utilisé lorsqu'une ressource disponible à une URL a définitivement été déplacée. Les moteurs de recherche suppriment alors de leur index les anciennes pages et les remplacent par les nouvelles.

Les redirections temporaires s'avèrent utiles lorsqu'un site est en cours de maintenance. Elles permettent alors d'indiquer aux moteurs de recherches de rediriger l'internaute vers la nouvelle page sans pour autant supprimer de leur index les anciennes pages. Cela permet de conserver le travail effectuée en référencement.

Voici un exemple de redirection mise en place sur le serveur Web Apache :

RedirectPermanent /rep http://www.mes-rep.fr

Dans cet exemple, nous redirigeons de manière permante le répertoire /rep vers le site http://www.mes-rep.fr. Afin de déterminer si la redirection s'applique correctement, il suffit de surveiller les entête HTTP envoyées et reçues par votre navigateur.
Pour Firefox, le plugin Live HTTP Header convient parfaitement, quant aux utilisateurs d'Internet Explorer, le plugin ieHTTPHeaders gratuit est disponible.

La technologie Flash

Au jour d'aujourd'hui, il subsiste des techniques pour remédier aux problèmes liés au référencement des sites conçus en Flash. Adobe propose une solution avec Flex 3 et son implémentation du Deep Linking. Le principe est de réaliser du cloaking. Cela consiste à présenter un contenu différent en fonction de l'utilisateur (Robots, internautes) qui visite le site.

Imaginons que nous avons un site réalisé entièrement en Flash, nous voulons le référencer dans l'index Google. Google ne sachant pas indexer le Flash, il nous faut trouver une solution. La réponse à cette problématique est de construire un site similaire s'appuyant sur la technologie HTML. Bien que cett technique soit fastidieuse, elle demeure néanmoins la seule valable à ce jour.

Ainsi, en analysant les entêtes HTTP reçus par le navigateur Web, il est possible de déterminer s'il s'agit du Google Bot ou bien d'un navigateur. Lorsqu'il s'agit de Google, nous le redirigeons vers notre version HTML du site que nous avons précédemment pris le soin de construire et de référencer. Au contraire, s'il s'agit d'un navigateur, alors nous envoyons à l'internaute le contenu Flash.

Ceci peut paraître évident, mais nous voyons bien qu'un problème majeur s'impose. Nous avons dis à Google de référencer notre version HTML du site. Lors d'une recherche sur le moteur, les pages de résultats rédirigerons vers notre version HTML car ce sont elles qui sont effectivement indéxées.

C'est à ce niveau qu'entre en jeux la technique de Deep Linking. Elle va nous permettre de créer une relation entre nos pages HTML et nos pages (au sens Flash) de notre animation. Ainsi, il sera possible d'ammener l'utilisateur directement vers un contenu interne à notre Flash, le Flex va nous permettre de conserver une notion d'états.

Flex 3 s'appuie sur la partie intitulée fragment de l'URL. Cette partie est celle située derrière le caractère "#", en HTML, ce qui suit est intitulé une ancre. Lorsqu'un lien est effectué avec une ancre, cela permet de déplacer la vue du navigateur à un endroit spécifique de la page sans rechargement. Flex 3 propose un mécanisme d'interception de modification du fragment d'une URL. Une fois intercepté, l'application Flash est en mesure d'adopter le comportement souhaité. Pour plus d'information sur cette technogies, je vous encourage à visiter le site d'Abode.

Le fichier Robots.txt

Ce fichier indique aux moteurs de recherche le contenu qu'ils peuvent ou ne peuvent pas indexer. En revanche, ces derniers ne sont pas dus de respecter ce fichier, le fichier robots.txt doit donc être utilisé avec précaution. Il est placé à la racine du site Web. Dans un fichier robots.txt nous retrouvons les directives suivantes : Cette directive permet de préciser à quel(s) robot(s) la directive disallow qui suit s'applique. Cette directive précise une liste d'URL à interdire. Voici un exemple de fichiers robots.txt qui interdit un unique robot et autorise tous les autres à accéder au site.

User-Agent: NomDuRobot Disallow: / User-Agent: * Disallow:

Les Sitemaps

Google SiteMaps est une initiative de Google dans le but d'taméliorer la façon dont les moteurs de recherche indexent les pages web. Les webmasters qui y participent en plaçant un fichier SiteMap sur leur site permettent à Google de connaître plus facilement les nouvelles pages à indexer, ainsi que la fréquence d'indexation optimale pour les pages déjà dans l'index. Les sitemaps viennent en complément de la phase de crawling habituel, il n'est donc pas indispensable d'utiliser ce système pour être indexé dans Google, par contre il peut éventuellement aider à mieux indexer les sites. Un sitemap se présente sous la forme d'un document XML codé en UTF-8.

Voici un exemple de sitemap avec plusieurs URLs :

   1. <?xml version="1.0" encoding="UTF-8"?>
   2.   <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   3.   <url>
   4.    <loc>http://www.monsite.com/mapage.htm</loc>
   5.     <lastmod>2006-12-12</lastmod>
   6.    <changefreq>weekly</changefreq>
   7.    <priority>1.0</priority>
   8.   </url>
   9.   <url>
   10.    ....
   13. </url>
   14. </urlset>

Les seules balises obligatoires sont urlset, qui doit ouvrir et fermer le fichier, url pour chaque entrée, et loc pour chaque URL.
Trois autres sont optionnelles : changefreq peut prendre sept valeurs : yearly, monthly, weekly, daily, hourly, always et never, les deux dernières étant respectivement réservées aux pages dynamiques qui changent de contenu à chaque chargement, et aux pages d'archive figées. Les autres valeurs sont purement indicatives, et ne seront pas forcément respectées à la lettre par les robots.

Comme pour tout document XML, les caractères spéciaux doivent être remplacés par leurs entités correspondantes.
Un fichier sitemap ne doit pas contenir plus de 50 000 URLs, ni dépasser les 10 Mo - il est possible de zipper le fichier pour gagner de la place.
De fait, il est possible de disposer de plusieurs fichiers sitemap pour un site, et pour les recenser, il existe un format Sitemap Index - dont le fichier ne doit pas contenir plus de 1000 fichiers sitemap ni dépasser les 10 Mo. Sa syntaxe est proche de celle du fichier sitemap.

La soumission de SiteMaps peut se faire de plusieurs manières :