Google 机器人在一个完全正常的 robots.txt 上绊倒,然后在一个不存在的 robots.txt 上绊倒

Google 机器人在一个完全正常的 robots.txt 上绊倒,然后在一个不存在的 robots.txt 上绊倒

我有两个域名指向同一个虚拟服务器。其中一个http://ilarikaila.com,是我为朋友制作的一个宣传册网站。我用的是另一个,http://teemuleisti.com,在网站公开之前对其进行测试——现在回想起来,这可能是一个坏主意。

很长一段时间以来,Google-bot 在搜索“ilari kaila”时都会遇到两种困惑,但在我写这篇文章的时候,第二个问题似乎消失了(编辑时添加:没有。

困惑第一

Google 上搜索“ilari kaila”的结果确实包含 ilarikaila.com,但仅在结果的第三页,并且结果中没有来自网站的摘要,而是包含文字“由于此网站的 robots.txt,无法提供此结果的描述 - 了解更多。”。

该文件的内容robots.txt很简单

User-agent: *
Allow: /

这当然不应该阻止任何机器人列出该网站的内容。事实上,当搜索词“ilari kaila”被输入到bing.com,该网站作为第一个搜索结果出现(并且仍然如此),并且显示了正确的片段。

几天前,我将robots.txt其全部删除(或者更确切地说,将其重命名not_robots.txt),但 Google 仍然显示相同的结果,引用 robots.txt。(这可能是该网站仅出现在搜索结果第三页的原因。)

第二次困惑

最初,对 teemuleisti.com 的请求显示与 ilarikaila.com 相同的页面,因为我没有server在文件中为前者编写单独的块nginx.conf。几周前我这样做了,并为前者网站编写了一个非常简单的 HTML 页面。

尽管如此,在我执行上述操作大约两周后,以及一个小时前,谷歌搜索“ilari kaila”的结果仍显示指向网站 teemuleisti.com 的链接。不过,这个问题似乎已经解决了(编辑时添加:没有),当我写这个问题时,也许是因为我刚刚在服务器的nginx.conf文件中添加了以下重定向:

server {
    listen              80;
    server_name         teemuleisti.com www.teemuleisti.com;
    ...
    location = /index.html {
        break;
    }
    location ~* ^/(.+)$ {
        rewrite ^ http://teemuleisti.com redirect;
    }
}

重定向搜索结果,例如http://teemuleisti.com/press(其中显示了一段实际上http://ilarikaila.com/press) 到 teemuleisti.com 的唯一页面,该页面现在会告知访问者 Google 索引存在问题,并提供指向正确网站的链接。

这似乎已经让 Google-bot 正确解决了该问题 —— 尽管我看不出这有什么区别,因为数周以来 teemuleisti.com 下都没有子页面 —— 但令人困惑的是robots.txt

编辑时添加:如果我谷歌搜索“ilari kaila composer”,搜索结果的第二页仍然指向 teemuleisti.com,所以这个问题也还没有解决。

答案1

Allowrobots.txt 中没有诸如此类的内容,因此您的robots.txt内容无效。这会让机器人感到困惑,因为它只期望AgentDisallow描述。如果您希望索引所有上下文,则应该删除 robots.txt 或将其清空。

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

相关内容