Phpbb_Googlebot

[ phpBB - phpBB2 - phpBB3 ]

Comment contrôler le GoogleBot (et autres astuces)

Alors comme ça Google trouve amusant d'indexer avec un enthousiasme effréné votre forum ? Cela veut dire que le GoogleBot est susceptible de créer une nouvelle requête à chaque seconde. Cela peut poser problème sur un hébergement mutualisé, où les ressources sont en général limitées.

Ce court tutoriel sur "Comment j'ai appris à ne plus m'inquiéter et aimer le GoogleBot" est destiné n'importe qui d'autre qui souffrirait du même souci que moi.

Sommaire

  1. Google Webmaster Tools
  2. Robots.txt
  3. Balises META
  4. Bons MODs phpBB pour les robots
  5. Optimiser MYSQL (UNIQUEMENT SI VOUS SAVEZ CE QUE VOUS FAITES)
  6. Autres astuces

Google Webmaster Tools

Pour autant que je sache, Google est le seul moteur de recherche qui propose une zone très utile aux webmasters appelée Google Webmaster Tools. Vous avez besoin d'un compte google pour accéder à ce service.

Cet outil vous permet de consulter, entre autre, comment le GoogleBot voit votre site (les jeux de caractère, types de fichier), vous pouvez si c'est un facteur d'indexation suffisant (c'est GoogleBot qui décide si vous pouvez mettre en "Rapide" ou non) augmenter les allées et venues du GoogleBot sur votre site.

Vous pouvez également effectuer des demandes de suppression des pages indexées.

Et enfin, vous pouvez aussi faciliter le travail du GoogleBot en lui fournissant une liste des pages de votre site (pour lui macher le travail en fait), au cas où il y ai des pages qu'il n'a pas indexées. Google appelle ça un plan sitemap. Toutes les informations nécessaires sont disponibles dans l'aide de Google, qui possède également un générateur (en python) de plan Sitemap:

Il existe un MOD qui le génére tout seul (voir #4).

Robots.txt

Tout d'abord, créez un fichier appelé robots.txt à la racine de votre site, si ce n'est pas déjà fait. Un bon tutoriel pour cela est disponible ici: http://www.askapache.com/seo/seo-with-robotstxt.html.

Pour le GoogleBot, voici mon robots.txt

User-agent: Googlebot
Disallow: /posting.php
Disallow: /admin
Disallow: /privmsg.php
Disallow: /search.php
Disallow: /login.php
Disallow: /memberlist.php
Disallow: /images
Disallow: /includes
Disallow: /profile.php

Selon les MODs que vous avez installé, vous pourriez avoir envie d'en rajouter. Par exemple, j'ai FlashChat d'installé sur mon forum, et donc j'ai rajouté "Disallow: /flashchat". De plus, si phpBB n'est pas installé dans le répertoire de votre site, vous devrez remplacer dans l'exemple au dessus de cette façon: "/[[dossier de phpBB2]]/admin" (en remplaçant les [[ ]]).

Avec ceci dans votre robots.txt, Google ne se préoccupera plus des pages de votre site que vous ne voulez pas indexer, et se concentrera sur le contenu actuel (sujets du forum par exemple) en lui même. Une fois tout ceci fait, vérifiez dans le panneau de contrôle de votre site dans les Outils Google pour Webmasters l'analyse de votre robots.txt (la mise à jour peut prendre du temps). Je vous conseille d'essayer plusieurs URL dans Google pour vérifier que ce que vous voulez bloquer est bloqué, et ce que vous voulez autoriser est autorisé.

Dans un dernier recours, vous pouvez décider de bloquer complètement Google. Remplacez simplement les Disallow par "Disallow: /".

Balises META

Vous pouvez obtenir le même résultat que avec robot.txt avec des balises META, par exemple pour interdire l'indexation de la page:

<meta name="robots" content="noindex,follow" />

Vous pouvez aussi (même si peu de robots en tiennent compte) définir le délai de re-indexation de la page (15 jours ici):

<meta name="revisit-after" content="15 days" />

MODs pour les moteurs de recherche

Dans la plupart des cas, robots.txt règle le problème. Dans le cas contraire, quelques un des mods que j'ai trouvé sur phpBB.com pourraient aider, il y a également la possibilité d'optimiser la bas de donnée en éditant le fichier de configuration, voir section 5. De plus, ces mods permettrons aussi à Google d'être plus efficaces dans l'indexation de vos pages, et retourner de meilleurs résultats de recherche.

Cyberalien's Guest Sessions Mod: Remplace le sid:gh247th2hthh... pour les invités. De ma propore expérience, les gens qui disent que Google ignore ces informations se trompent, ce mod est important à avoir.

phpBB-SEO URL Rewriting Mod: Les moteurs de recherche apprécient plus le .html que le viewtopic.php?p=42. Un petit peu plus. Il est souvent préférable d'utiliser la "Simple Rewriting Method" parce que, à mon avis, topic42.html est mieux que quelque chose comme topic42-The-Answer-To-Life-The-Universe-And-Everything.html.

Search Bot Indexing Mod: Même s'il n'est pas encore approuvé par phpBB.com, il est très utile car il montre clairement ce que les bots indexent sur le site, et combien de pages ils visitent. J'adore toujours quand je vois sur le panneau d'administration le nombre incroyable de GoogleBot, mais seulement deux pages pour MSNBot. Vous devrez faire quelques changements lorsque vous gérez les bots depuis le panneau d'administration. Par exemple, , "Ask Jeeves" est simplement "Ask," et vous devrez ajouter "Cuill" vous même (ip: 64.1.215.162), qui est apparemment un moteur de recherche qui monte en ce moment.

phpBB-SEO Sitemaps Mod: Après tout ceci fait, soumettez un sitemap à Google (ou à d'autres moteurs de recherche). Ce mod vous crée un excellent sitemap pour vous, assurez vous bien de le configurer pour Google (sinon vous obtiendrez une erreur de Google, comme celle que j'ai eu). Vous pouvez aussi changer la directive "Default Priority" qui est à 1.0 par défaut, ce qui est, je pense, trop élevé si GoogleBot vous pose des problèmes (Changz en 0.5). Après avoir configuré tout ceci, allez dans les Outils Google pour Webmasters (voir plus haut) et soumettez le sitemap.

Optimiser la base SQL

Assurez vous d'avoir vérifié la section "Autres Astuces" avant de faire cette manipulation.

AVERTISSEMENT: N'essayez pas ceci avant d'avoir essayé TOUT ce qui est autour ! Si malgrès cela GoogleBot vous pose toujours des problèmes, alors vous pourriez considérer d'upgrader vers un hébergeur plus puissant avant de modifier la configuration de la base SQL, si vous savez ce que vous faites bien sur..

SECOND AVERTISSEMENT: Avant de faire quoi que ce soit, assurez vous d'avoir contacté votre hébergeur pour lui parler de votre problème d'abord ! Ils pourrons le faire pour vous.

Après avoir fait tout ce qui est sur cette page, GoogleBot me posais toujours des problèmes, même si cela ne génais pas mon site plus que ça. Donc, j'ai commencé à modifier le fichier de configuration de Mysql pour obtenir plus de performance. Pour cela, vous avez besoin d'éditer le fichier my.cnf , qui peu être trouvé dans le répertoire /etc/ (serveur linux) de votre serveur.. Vous ne pouvez l'éditer uniquement si vous avez un accès ssh, dans le cas contraire, contactez votre hébergeur.

Donc, tout d'abord, voici un bon site que j'ai trouvé pour m'aider à éditer mon my.cnf (en anglais): http://www.linuxweblog.com/node/231

NOTE: Avant d'éditer votre my.cnf, assurez vous d'en avoir fait un backup !

Le lien ci après est pour une machine de 2GHz avec 1Go de mémoire, donc vous devrez ajuster les variables en conséquence. De plus, assurez vous d'utiliser le profil de votre serveur dans le my.cnf. Par exemple, au lieu de dire query_cache_limit=1M, vous pourriez avoir besoin de dire set-variable = query_cache_limit=1M. Les variables critiques que j'ai trouvé sont query_cache_type, query_cache_limit, query_cache_size, key_buffer, sort_buffer, write_buffer, et read buffer. Vous pouvez aussi avoir besoin d'ajouter innod_buffer_pool_size à cette liste.

Si vous utilisez un serveur dédié, tout ceci sera facile à configurer. Mais si vous êtes comme moi sur un serveur VPS, cela vous sera un petit peu plus difficile. Finalement, ce que j'ai fait pour pouvoir éditer le my.cnf , ça a été de d'abord le chmoder à 644, puis de le copier dans un dossier avec accès FTP, l'éditer, puis le remettre en plus, en le re-chmodant à 550. Une fois terminé, vous aurez besoin de redémarrer le service mysql (service mysqld restart).

Autres astuces

Essayez de vider vos sessions le plus souvent possible. Il est nécessaire de faire ceci fréquemment pour réduire la charge mémoire, mais vider toute la table pourrais déranger les utilisateurs qui s'auto-logguent en les forçant à se re-identifier à chaque fois. Donc, préférez la requête DELETE FROM phpbb_sessions WHERE session_user_id = -1;. Cela supprimera uniquement es sessions des utilisateurs annonymes.

Optimisez votre base de donnée ! (OPTIMIZE DATABASE <votre base>) L'optimisation a pour but de "boucher les trous" créés lors des suppressions de données.

Réduisez le nombre de requêtes ! Comme une loi universelle, il est bon de n'avoir que 15 requête par page au maximum. Gardez ce niveau, et non seulement Google vous aimera, mais votre site ira aussi globalement plus vite.

Finalement, mais pas enfin, rappelez vous toujours que Google est votre ami ! Depuis que Google a commencé à indexer avec enthousiasme mon site, le nombre d'utilisateurs par jour est passé de 5 à 20. Mais gardez à l'esprit que toutes les bonnes choses ont un mauvais côté. Dans mon cas, je me suis aperçu qu'un Google zélé est un bien meilleur atout qu'un Google indifférent.

Ce tutoriel est une traduction modifiée et complétée de Knowledge Base - Thwarting The Googlebot (and other helpful tips) N'hésitez pas à me contacter par MP pour enrichir ce sujet.

Creative Commons License