Accueil du site > Le Geek Lab > SEO & Spip : robots et sitemap désormais en natif !

SEO & Spip : robots et sitemap désormais en natif !

Et dynamiques, avec ça !

vendredi 27 février 2009, par Loiseau2nuit

Les fan(atique)s de la SEO apprécieront. En quète du positionnement idéal de vos pages web dans les moteurs de recherche, vous serez certainement heureux de savoir que grâce à Fil, les templates de Spip sont désormais dotés en natif de nouvelles composantes très utiles en terme de référencement web. :-)

Suite à un échange de mails sur la mailing-list "Spip-zone" [1], et deux "commits" [2] de Fil (ici et ), Les fichiers du dossier /squelettes-dist, templates par défaut livré avec Spip (depuis la version 2.0.5) embarquent donc un fichier robots.txt standard et un sitemap.xml géré dynamiquement sous forme de squelettes, ainsi qu’un .htaccess, légèrement revu pour intégrer et normaliser ces nouveautés (urls ré-écrites notament)

Au risque de brûler un peu les étapes, je pars du principe que vous savez déjà ce qu’est un favicon, un sitemap et un fichier robots.txt, c’est pourquoi je serai bref ici quand aux rôles de chacun, quite à faire un article dédié un peu plus tard, ce que la section de Google pour les Webmasters fait déjà très bien, soit-dit en passant.

favicon.ico

Le favicon, ce petit logo qui se place dans la barre d’URL à côté de l’adresse de votre site sera donc désormais paramétré dans un squelette favicon.ico.html pour afficher de base le logo de Spip ( le petit écureuil dit "polatouche" dessiné par IZO. ) en miniature, si à tout hasard un fichier favicon.ico personnalisé n’est pas présent à la racine de votre site.

Rien de bien révolutionnaire, j’en viens donc à la suite qui elle m’intéresse au plus haut point :

Google Sitemap

A l’origine, cette fonctionnalité faisait l’objet d’un filtre pour Spip 1.8.x, puis avait été portée en plugin. Une chose avait cependant sauté pendant le portage, c’est le "ping" du sitemap vers Google et ses moteurs partenaires, désormais capables d’analyser ce type de fichier (Yahoo et Ask, notamment !)

Le fichier Sitemap sera donc maintenant généré dynamiquement par défaut grâce à un fichier-squelette sitemap.xml.html, et l’ajout d’un article dans Spip provoquera automatiquement le ping vers les moteurs ayant eu vent de l’existence de votre sitemap. (EDIT : sous réserve qu’un plugin l’implémente un jour...)

L’adresse du sitemap Spip reste inchangée :
http://www.votre-site-spip.truc/spip.php?page=sitemap

robots.txt

Le robots.txt est un de ces fichiers placé en racine également et qui permet de spécifier quelques règles de conduite pour les robots d’indexation des moteurs de recherche (*en très gros* : "Robot X, tu peux référencer ça. Robot Y, tu dois pas indexer ça, et Robot Z, tu passes ton chemin merci")

Assez pratique pour affiner en aval les résultats de recherche en ne les polluant pas avec des pages inutiles et sans réel intérêt du site (vous conviendrez qu’indexer une page de recherche vide ou une rubriques de tests typographiques pleine de Lorem Ipsum, ca fait pas sérieux !) il permet maintenant, chose énorme, d’annoncer son sitemap, évitant ainsi la soumission manuelle de celui-ci aux moteurs de recherches !

Spip l’intègre donc sous la forme d’un fichier-squelette robots.txt.html dans lequel il pourrait même être envisageable de mettre des BOUCLES comme dans n’importe quel autre squelette : on pourrait par exemple imaginer une boucle de mot-clé conditionnant l’indexation ou non d’un article, d’une rubrique... par l’ajout d’un mot clé technique "Allow" ou "Disallow"... vraiment par exemple ! [3]

L’URL finale du fichier :
http://www.votre-site-sppip.truc/spip.php?page=robots.txt

PS : Vous constaterez ici et que la syntaxe à suivre pour le fichier robots.txt est quand même vachement rigoureuse ! Attention donc si vous modifier ce fichier "à la mano" !!!

.htaccess

Pour normaliser un peu tout ceci, quelques règles nouvelles dites "RewriteRules" font leur apparition dans le htaccess.txt (à renommer en .htaccess une fois le fichier uploadé sur le serveur). Il faut donc pour cela que ModRewrite soit activé chez votre hébergeur

Ces règles, basées sur le principe de celles qui transforment vos URLs standards (spip.php ?article=1234) en URL propres (/ma-rubrique/mon-article) ont pour seul but de convertir les adresses au format Spip de ces fichiers, en adresses que tous les moteurs vont comprendre.

Car, par exemple, si Google comprend très bien http://www.votre-site-spip.truc/spip.php?page=sitemap, ce n’est en revanche pas le cas de Ask qui lui a besoin d’une terminaison standard pour un fichier xml, soit http://www.votre-site-spip.truc/sitemap.xml.
Et de surcroit, aucun robot ne comprendra http://www.votre-site-spip.truc/spip.php?page=robots.txt, à plus forte raison que celui-ci n’est pas à proprement parler à la racine de votre site alors que, comme le sitemap, pour que les moteurs le voient, il devrait l’être.

Il fallait donc simuler ces comportements, et voici le code qui remplit désormais cette tâche, à partir de la ligne 99 de votre htaccess.txt (à renommer en .htaccess après passage en production du site) :

Vous permettant alors d’avoir des adresses de la forme

  • http://www.votre-site-spip.truc/sitemap.xml
  • http://www.votre-site-spip.truc/robots.txt
  • http://www.votre-site-spip.truc/favicon.ico

Précision concernant l’hébergeur Free.fr

Certaines fonctions PHP du serveur étant délibérément bridées par l’hébergeur, le fonctionement chez Free est quelque peu altéré :

  • Mode Rewrite non disponible : les URL Réécrites par le .htaccess pour les fichiers sitemap.xml et robots.txt ne fonctioneront donc pas
  • Le sitemap et le favicon restent utilisables tout de même, même avec une URL standard au format brut de SPIP spip.php?page=sitemap.xml ...
  • Le Robots.txt embarqué ne devrait à priori pas tourner non plus mais il est tout à fait possible de le recréer proprement à la main à la racine de son site SPIP. Voir Robots.txt sur The Web Robots Pages pour plus d’information sur ce que peut/doit contenir un fichier robots.txt minimal.

Notes

[1] Spip-zone = l’espace en ligne des développeurs de plugins et autres contributions communautaires autour de Spip

[2] commit = modifications des fichiers sur l’espace de développement collaboratif en SVN de Spip

[3] Le test reste à faire... Sachant qu’il serait peut être aussi (voire plus) judicieux de créer une boucle à même son squelette article.html ou rubrique.html avec des mot-clés "index" ou "no-index" pour conditionner l’affichage dans celui-ci des balises métas du même nom... à voir...

Vos commentaires

  • Le 27 février 2009 à 23:17, par Fil

  • Le 28 février 2009 à 00:15, par Loiseau2nuit

  • Le 9 mars 2009 à 19:41, par Nicolas Loeuillet

  • Le 23 septembre 2009 à 18:11, par Arno

    Bonjour,
    si j’ai bien compris : impossible d’utiliser SEO avec free ?!

    cordialement,

    arno

  • Le 23 septembre 2009 à 18:24, par Loiseau2nuit

    Hélas ! A moins qu’il n’ait décidé de vous faire profiter du ModRewrite mais je doute. Déjà qu’il a fallu plusieurs années avant de pouvoir utiliser mail()

    En même temps, mon expérience avec Free commence à remonter donc ne pas hésiter à retster et à nous faire profiter de vos retours.

    Bonne chance.

  • Le 17 novembre 2009 à 12:28, par Loiseau2nuit

    je corrige un peu mon propos dans le commentaire du dessus :

    concernant Free, le sitemap et le favicon RESTENT UTILISABLES tout de même, ce sont bien les seules URL Ré-écrites qui ne fonctionneront pas !

    Le Robots.txt embarqué ne devrait à priori pas tourner non plus mais il est tout à fait possible de recréer à la main un fichier texte propre ’robots.txt’ à la racine de son site SPIP.

    voir Robots.txt sur The Web Robots Pages

  • Le 20 octobre 2011 à 10:54, par François Daniel Giezendanner

    Bonjour,

    Les moteurs de recherche lisent le fichier robots.txt à la racine du site :

    http://www.votre-site-sppip.truc/robots.txt

    Savent-ils trouver ce fichier robots.txt à l’URL :

    http://www.votre-site-sppip.truc/spip.php?page=robots.txt

    Pour eux, spip.php ?page=robots.txt n’est pas équivalent à robots.txt !?

    Qu’en est-il ?

    Cordialement

    FDG

  • Le 20 octobre 2011 à 16:01, par Loiseau2nuit

    Bonjour,

    De mémoire, et sous réserve que ce n’ait pas évolué depuis, me semble que Google sera capable de lire un robots.txt dont l’emplacement est passé en paramètre d’url ( donc de type spip.php ?page=robots.txt )

    En revanche, ca coince pour Bing et Yahoo qui, à l’époque où j’ai rédigé ce billet (pfiouuuu ca date !) n’était capable d’interpréter que les url "en dur" !

    Il faudrait se renseigner pour voir si ca a évolué depuis mais d’une manière générale, je préconise de préférer autant que possible des urls en dur pour ce genre de fichiers.

Répondre à cet article

modération à priori

Attention, votre message n'apparaîtra qu'après avoir été relu et approuvé.

Qui êtes-vous ?
Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom