【问题标题】:block search engines from indexing dev sites阻止搜索引擎索引开发站点
【发布时间】:2011-01-11 15:33:59
【问题描述】:

我认为我的一个网站最近被谷歌除名,因为它发现并开始索引我的开发网站。它基本上是我的主站点的复制品。 (dev.site.com & site.com)

无论如何,有没有一种方法可以创建一个 robots.txt 来防止 dev.site.com 的任何流量被编入索引,从而使 site.com 仍被完全编入索引。

我知道我可以为每个单独的机器人文件,但拥有一个涵盖两者的机器人文件会更容易。尤其是因为我与拥有开发站点的整个站点合作,并且希望有一个简单的工作流程,并且在我推送新版本的站点时不必更改机器人文件。

【问题讨论】:

    标签: apache .htaccess robots.txt


    【解决方案1】:

    也许您可以动态提供 robots.txt 文件,例如通过 PHP:

    <?php
    if ($_SERVER['HTTP_HOST'] === 'dev.site.com') {
        echo "...";
    } else {
        echo "...";
    }
    

    【讨论】:

    • 这可以工作。我实际上是这样做我的数据库参数的。我将如何回显robot.txt 文件呢?我对你的意思有点困惑。
    • 我的意思是只使用 echo 语句来输出你想要的行——例如,echo "Disallow: /" 等等......
    • 或者,您可以使用包含: if () { include "dev-robots.txt"; } else { 包括“live-robots.txt”; }
    • google 不只是在根目录中搜索 robots.txt 吗?也许我误解了它是如何工作的。
    • 当前,您的 Apache 配置为将名为 *.php 的文件作为 PHP 文件处理。您可能还以相同的方式配置了 *.phtml 或其他一些扩展。现在,如果您将 Apache 配置为也将 *.txt 文件作为 PHP 文件处理,那么您可以将 PHP 放入您的 robots.txt 文件中。
    【解决方案2】:

    另一种方法是在 .htaccess 文件中添加一行: 标头集 X-Robots-Tag "noindex, nofollow"

    这被提倡优于 robots.txt,就好像有一个指向您的开发网站的链接,搜索引擎会报告该链接(即使他们没有索引您的网站)。这里提倡: http://yoast.com/prevent-site-being-indexed/

    【讨论】:

      【解决方案3】:

      每个子域必须有自己的 robots.txt 是标准的一部分(如果从 dev.site.com 访问;对于 site.com/dev,您不需要另一个)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多