WordPress : Garantir que les moteurs de recherche ne grattent pas un sous-répertoire du site

Publié par Jean-Michel le

On a Linux, Apache, PHP site, I need to make certain that a subdirectory /cms, on my website is not crawlable by the search engines.

See, in the root of the site, I have installed a product catalog called Pinnacle Cart. They wanted a News page that pulls content from a CMS. I brought WordPress online in a subdirectory called /cms, created some posts, and then used the following code to bring that into my Pinnacle Cart theme:

<?php require_once('../../../cms/wp-blog-header.php'); ?>
<?php $i = 1; $MAX_ARTICLES_TO_SHOW = 5; ?>
<?php while (have_posts()): the_post(); ?>
    <div <?php post_class() ?> id="post-<?php the_id(); ?>">
        <h2><?php the_title(); ?></h2>
        <div class="entry">
            <?php the_content(); ?>
        </div><!-- .entry -->
        <div style="clear:both;">&nbsp;</div>
        <small><?php the_time('F j, Y') ?></small>
    </div><!-- #post-... -->
<?php ++$i; if ($i > $MAX_ARTICLES_TO_SHOW) { break; } ?>
<?php endwhile; ?>

Note that some of the images used in the posts will pull from /cms, and I want those to load okay, but I don’t want Google or any search engine to follow anything under /cms.

Note also in WordPress in /cms, I checked off the setting « Do not let sites like Google, Technorati, etc. index this site. »

Je pense que je devrai soit ajuster le thème par défaut de WordPress sous /cms/wp-content/themes, soit mettre une sorte de paramètre .htaccess dans le dossier /cms ou / (racine) du site.

Solution n°1 trouvée

robots.txt est une option, comme indiqué dans les autres réponses ici.

Disallow: /cms/

Le principal inconvénient d’un fichier robots.txt est qu’il peut être ignoré ou simplement ignoré selon le robot.

  • http://www.google.com/support/webmasters/bin/answer.py?answer=156449
  • http://www.robotstxt.org/robotstxt.html

Vous avez également la possibilité de protéger le répertoire par mot de passe, ce qui empêchera les moteurs de recherche d’indexer la page (Exemples d’articles de Google et Bing). Selon l’environnement de votre serveur, vous pouvez également interdire l’accès au dossier CMS à l’aide de .htaccess et .htpasswd. Cette méthode permet aux utilisateurs de visiter l’installation de WordPress, mais pas les bots/utilisateurs non authentifiés.

  • http://httpd.apache.org/docs/2.0/howto/htaccess.html#auth

Une autre option serait de configurer les en-têtes 404 ou 301 pour ce répertoire particulier, en utilisant à nouveau .htaccess. Cela empêcherait évidemment les utilisateurs de le visiter également, donc si vous vouliez le bloquer uniquement pour les bots, vous pouvez mettre en liste blanche certaines adresses IP ou chaînes d’agent utilisateur pour permettre aux vrais utilisateurs de voir la page et aux bots de recevoir un en-tête 404 qui empêcherait l’indexation de la page.

Solution n°2 trouvée

Vous pouvez l’ajouter à votre fichier robots.txt.

Disallow: /cms/

En savoir plus à ce sujet sur http://www.robotstxt.org/robotstxt.html

Les moteurs de recherche et les scrapers peuvent toujours ignorer cela (la plupart des grands moteurs de recherche suivront les règles). Vous pouvez $_SERVER['HTTP_USER_AGENT']également vérifier, mais cela peut être truqué. Il n’y a pas de moyen d’arrêter à 100% les grattoirs.

Solution n°3 trouvée

Regardez dans le fichier robots.txt. C’est un fichier lu par les moteurs de recherche avant d’explorer votre site. Dans ce fichier, vous pouvez leur demander d’ignorer complètement certains répertoires.

Catégories : Wordpress

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *