【问题标题】:Guarantee Search Engines Don't Scrape One Subdir of Site保证搜索引擎不会抓取网站的一个子目录
【发布时间】:2011-11-22 19:21:51
【问题描述】:

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

请看,在站点的根目录中,我安装了一个名为 Pinnacle Cart 的产品目录。他们想要一个从 CMS 中提取内容的新闻页面。我将 WordPress 放到了一个名为 /cms 的子目录中,创建了一些帖子,然后使用以下代码将其带入了我的 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 下的任何内容。

还要注意,在 WordPress 的 /cms 中,我勾选了“不要让 Google、Technorati 等网站索引此网站”设置。

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

【问题讨论】:

    标签: php wordpress .htaccess wordpress-theming


    【解决方案1】:

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

    Disallow: /cms/
    

    http://www.robotstxt.org/robotstxt.html了解更多信息

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        为什么不使用 robots.txt 这是您放置在根目录中的文件,所有机器人在抓取您的网站之前都会读取该文件。在此文件中,您可以指定不想被抓取的目录。几个链接让你开始 http://www.robotstxt.org/robotstxt.htmlhttp://codex.wordpress.org/Search_Engine_Optimization_for_WordPress#Robots.txt_Optimization

        【讨论】:

          【解决方案4】:

          robots.txt 是一种选择,如此处其他答案所述。

          Disallow: /cms/
          

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-02-24
            • 1970-01-01
            • 2014-08-25
            • 1970-01-01
            • 2010-11-13
            • 2014-12-05
            • 1970-01-01
            相关资源
            最近更新 更多