保证搜索引擎不要刮掉一个网站的子目录

时间:2011-11-22 19:21:52

标签: php wordpress .htaccess wordpress-theming

在Linux,Apache,PHP网站上,我需要确保我的网站上的子目录/ cms不能被搜索引擎抓取

请参阅网站的根目录,我安装了名为Pinnacle Cart的产品目录。他们想要一个从CMS中提取内容的新闻页面。我在一个名为/ cms的子目录中将WordPress联机,创建了一些帖子,然后使用以下代码将其引入我的Pinnacle Cart主题:

<?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; ?>

请注意,帖子中使用的部分图片会从/ cms中提取,我希望这些图片加载正常,但我不希望Google或任何搜索引擎关注/ cms下的任何内容。

另请注意,在/ cms的WordPress中,我检查了“不要让Google,Technorati等网站为此网站编制索引”这一设置。

我想我需要在/ cms / wp-content / themes下调整WordPress的默认主题,或者在/ cms或/(root)文件夹中设置某种.htaccess设置。站点。

4 个答案:

答案 0 :(得分:1)

您可以将其添加到robots.txt文件中。

Disallow: /cms/

http://www.robotstxt.org/robotstxt.html

了解更多相关信息

搜索引擎和抓取工具总是可以忽略这一点(大多数大型搜索引擎都会遵循这些规则)。您也可以查看$_SERVER['HTTP_USER_AGENT'],但这可能是假的。没有100%的方法可以阻止刮刀。

答案 1 :(得分:0)

查看robots.txt文件。这是搜索引擎在抓取您的网站之前读取的文件。在该文件中,您可以指示他们完全忽略某些目录。

答案 2 :(得分:0)

为什么不使用robots.txt 这是您放置在根目录中的文件,所有机器人都会在抓取您的网站之前将其读取。在此文件中,您可以指定不希望被爬网的目录。一些链接可以帮助您入门 http://www.robotstxt.org/robotstxt.html http://codex.wordpress.org/Search_Engine_Optimization_for_WordPress#Robots.txt_Optimization

答案 3 :(得分:0)

robots.txt是一个选项,如此处的其他答案中所述。

Disallow: /cms/

robots.txt文件的主要缺点是它们可以被忽略,或者仅仅被忽略,具体取决于机器人。

您还可以选择使用密码保护目录,这会阻止搜索引擎将页面编入索引(来自GoogleBing的示例文章)。根据您的服务器环境,您还可以禁止使用.htaccess和.htpasswd访问CMS文件夹。此方法允许用户访问Wordpress安装,但不允许访问机器人/未经身份验证的用户。

另一种选择是再次使用.htaccess为该特定目录设置标题404或301。这显然会阻止用户访问它,所以如果你想阻止它只为机器人你可以将某些IP或用户代理字符串列入白名单,以允许真实用户看到页面和机器人接收404标题,这将阻止索引页面。