Wikini

PrevenirLIndexationDesRobotsDeRecherche

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-3-236-86-184.compute-1.amazonaws.com
(par CostalMartignier, DavidDelon et CharlesNepote)

Problème fonctionnel

Certaines pages HTML générées par les moteurs de wiki n'ont aucun intérêt à être indexées par un moteur de recherche.
On peut aisément constater que Google indexe des pages qui n'ont aucune utilité comme par exemple http://www.wakkawiki.com.

1. Le cas trivial de la page d'édition d'une page

La page d'édition d'une page, par exemple http://www.wikini.net/wakka.php?wiki=PrevenirLIndexationDesRobotsDeRecherche/edit pour cette présente, n'a aucun intérêt à être indexée du fait qu'elle ne fait que reprendre les informations de la page originelle.

2. Les cas plus discutables des autres types de page "techniques"



Le cas précis du moteur WikiNi

A mon sens, certaines données peuvent être exclues de facto :
Certaines pages posent des questions de fond :
-- CharlesNepote


Réalisation technique dans le moteur WikiNi

Plusieurs méthodes sont envisageables.

1. La création d'un fichier robots.txt à la racine du site

Pas si simple que ça, à mon avis, puisqu'il s'agit de créer un fichier contenant des directives pour les robots or,
Note also that regular expression are not supported in either the User-agent or Disallow lines. The '*' in the User-agent field is a special value meaning "any robot". Specifically, you cannot have lines like "Disallow: /tmp/*" or "Disallow: *.gif". (http://www.robotstxt.org/wc/exclusion.html ).
En clair il n'est pas possible de donner une instruction du style :
Disallow: .*\/edit
-- DavidDelon

Je me demande s'il n'est pas possible d'écrire en revanche :
Google possède une pour permettre l'exclusion avec des expressions rationnelles.

2. L'utilisation de balises "meta"

Par ailleurs, on peut toujours utiliser les balises meta pour gérer les exclusions (http://www.robotstxt.org/wc/meta-user.html). Je sais qu'elles ne sont pas encore gérées par tous les moteurs d'indexation, mais cette technique semble gagner du terrain :
Google semble cette méthode ; l'outil wget, aussi.
-- CharlesNepote

C'est cette methode (les Meta) qui me semble la plus simple à mettre en place; google la reconnait, si j'ai bien compris.
On peut déja la mettre en place pour edit et claim.
Le code à mettre est le suivant :
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
-- DavidDelon

Le code php est assez simple. Pour prévenir l'indexation des pages éditées, par exemple, il suffit d'ajouter dans /actions/header.php :
<?php $method explode ("/"$_REQUEST["wiki"]); if ($method[1]=="edit") { echo "<meta name=\"robots\" content=\"noindex, nofollow\" />\n"; } ?>

-- CharlesNepote

3. Code JavaScript

La seule chose qui arrête les robots, en dehors des exclusions spécifiées dans le fichier de directive, se sont les formulaires et le javascript.
(à suivre ...)


salut tout le monde, j'ai realise cela avec ce code.........

../actions/header.php
<?php
if ($this->GetMethod() == 'show')
  echo 
"<META NAME=\"ROBOTS\" CONTENT=\"INDEX, FOLLOW\" />";
else
  echo 
"<META NAME=\"ROBOTS\" CONTENT=\"NOINDEX, NOFOLLOW\" />";
?>

je ne sais pas encore si ca marche, parceque google etait pas encore une autre fois
sur ma site :-)
mais en veras.........

--CostalMartignier

Pourquoi pas, après tout seul le resultat de la méthode show est interressant ... Si tous le monde est d'accord on retient cette solution pour WikiNi. Merci Costal pour cette idée.
-- DavidDelon

D'accord. Sauf que XHTML requiert d'utiliser des minuscules dans le code (<meta name="robots" content="index, follow" />). -- CharlesNepote

La solution définitive adoptée sur WikiNi est le code suivant :
<?php if ($this->GetMethod() != 'show')
    echo 
"<meta name=\"robots\" content=\"noindex, nofollow\"/>\n";
?>


WikiNi a encore des progrès à faire en terme de qualité d'indexation.
Je vais réfléchir à une meilleure méthode de "filtrage".
-- CharlesNepote

Voici ma première proposition après quelques test : dans /actions/header.php, il faut remplacer :
<?php if ($this->GetMethod() != 'show') echo "\n";?>
par
<?php if (($this->GetMethod() != 'show') or (isset($_REQUEST['phrase'])) or ($_REQUEST['show_comments'] == '0') or (isset($_REQUEST['time'])) echo "\n";?>
De cette manière, sont indexées les pages
mais pas les pages :
On limite donc les dégats. Qu'en pensez-vous ? Pour moi, j'ai une seule certitude, c'est qu'il ne sert strictement à rien d'indéxer :
Les referrers, qu'on ne filtre pas actuellement, peuvent aussi contenir du SPAM : il faudrait que les pages de referrers ne soit pas indexée, au moins en attendant qu'on trouve une solution de filtrage des referrers.
Je me demande aussi dans quelle mesure on ne devrait pas aussi ne pas indexer les commentaires, qui reprennent la page dans son intégralité : websemantique.org/PagePrincipale?show_comments=1
S'il n'y a pas d'objection, je passerai la modif en CVS d'ici lundi 31 mai 2004 (AIntegrerAuCVS).
-- CharlesNepote

Pour éviter que les liens "edit", revision (la date/heure), etc ne soient suivis par les robots, pourquoi tout simplement ne pas les afficher quand ils visitent? Il serait facile de faire un cas special si user_agent est un robot connu, et ne pas afficher les liens qui de toute façon ne leur servirait à rien?


Comment vérifier ce qui est pris en compte par les robots ?

Le logiciel "wget" est un robot aspirateur de site qui reconnaît . L'aspiration d'un site par "wget" permet donc de se faire une idée assez précise de ce qu'un robot va parcourir.
Stéphane Le Solliec mentionne dans son article une commande qui permet de télécharger un site et donc de savoir ce qui est parcouru :
wget -rkpE http://nom-de-site.org/
Télécharge en local, en peu de temps, tout le site nom-de-site.org. Explication des options :
-r : récursif
-k : corrige les chemins pour que les liens en local ne soient pas cassés (très utile pour moi qui commence toujours mes liens par un / pour recevnir à la racine du site)
-p : page : se débrouille pour télécharger un max de trucs qui font que la page html sera correctement visible. (j’ai pas tout compris mais ça semble aider à avoir un bon mirroir local)
-E : rajoute .html à la fin de tout ce qui est téléchargé avec un type text/html mais dont le nom ne termine pas par .html. C’est formidable, car cela permet qu’un site tel que le miens, dont les pages n’affichent pas leur extentions, soient consultables off-line, depuis un disque dur.

Attention cependant à ne pas abuser de wget : wget provoque le téléchargement massif de toutes les pages d'un site ; il peut, à ce titre, provoquer des ralentissements pour les autres utilisateurs ; dans certains cas, il peut mettre le site à genoux ; nous vous recommandons l'usage de l'option -w seconds ou "seconds" représente le nombre de secondes entre chaque téléchargement de page (nous recommandons l'usage de -w 4 qui correspond à 15 pages par minutes soit 900 pages heures, ce qui est largement suffisant pour un petit site.
-- CharlesNepote



Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]