Blog Tool Box

noindex, follow certaines pages WordPress

D’après les consignes aux webmasters de Google :

Utilisez le fichier robots.txt pour empêcher l’exploration des pages de résultats de recherche ou d’autres pages générées automatiquement par les moteurs de recherche et qui n’offrent aucun intérêt particulier pour les internautes

WordPress génère par défaut plusieurs pages de ce type :

  • Archives par dates : http://domaine.com/2011/01/
  • Pages de résultats de recherche : http://domaine.com/?s=recherche
  • Pagination : http://domaine.com/page/2/ ou encore http://domaine.com/category/nom-de-la-categorie/page/2/
  • et, selon l’organisation du contenu du blog, les pages des catégories et des tags

Sans modification de notre thème WordPress, nous obtenons ceci dans les pages de résultats des moteurs de recherche :

Résultats de recherche

Résultats de recherche

Si nous mettons en place un fichier robots.txt pour bloquer ces pages sans intérêt pour les internautes en provenance des moteurs de recherche, celles-ci ne seront en effet plus crawlées par les moteurs mais elles pourront toujours, sous certaines conditions, être indexées.

Idéalement, nous souhaitons que ces pages restent crawlables par les moteurs de recherche mais qu’elles ne soient pas indexées et que les liens sur celles-ci soient suivis (car une page même non indexée peut accumuler du PageRank). Nous allons donc, au lieu de mettre en place un fichier robots.txt, utiliser les balises meta robots pour donner ces différentes instructions aux moteurs.

Modification du fichier functions.php du thème

Il suffit d’ajouter, et de modifier si besoin, ces quelques lignes à la fin de votre fichier functions.php :

function meta_robots(){
  if(is_date() || is_search() || (is_home() && get_query_var('paged') > 1)){
    echo '<meta name="robots" content="noindex,follow" />'."\n";
  }
}
add_action('wp_head', 'meta_robots');

Cette simple fonction permet d’ajouter notre balise meta robots noindex (pas d’indexation) follow (suivi des liens) sur les pages des archives datées, des résultats de recherche et sur la page d’accueil à partir de la /page/2/. Personnellement, j’ai également ajouté cette balise sur les pages des catégories (is_category()) et des tags (is_tag()).

Plugin WordPress : Robots Meta

Pour ceux qui préfèrent utiliser un plugin ou avoir la possibilité de gérer plus finement cette balise meta robots sur l’ensemble des pages WordPress, vous pouvez utiliser le plugin Robots Meta.

  • Damien

    Bonjour et merci pour cet article très clair quant à l’utilisation de la balise noindex avec wordpress.

    J’ai toutefois deux questions :

    1. Le code que vous proposez d’insérer dans le fichier function.php est-il toujours d’actualité en 2013 (avec tous les changements qu’ont pu connaître wordpress et google depuis 2011) ?

    2. Comment indiquer à google de ne pas indexer quelques categories ou tags en particulier, ou une page de catégorie (exemple : http://www.domaine.com/categorie/page/2) lorsque l’on utilise wordpress ?

    Merci par avance pour vos réponses.