WordPress : Garantir que les moteurs de recherche ne grattent pas un sous-répertoire du site
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;"> </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.
0 commentaire