Google在Cakephp网站描述中显示错误

时间:2012-01-03 18:02:37

标签: debugging cakephp google-crawlers

我有一个Cakephp网站,当我在Google中查找时,即使网站运行良好,它也会在说明中显示错误。

显示错误:

$status = "Location: http://mywebsite.com/" header - [internal], line ?? 
Controller::header() - COREcake/libs/controller/controller.php, line 742     
Controller::redirect() ...

我用谷歌搜索“搜索互联网”的错误,发现几个CakePHP网站有同样的问题,他们工作正常,但他们的谷歌描述有错误。元标记在源页面中正确显示。

有人知道什么是错的吗?

我已将调试设置为零,上传了站点地图,robots.txt文件并且仍然遇到同样的问题,即使Bing和Yahoo现在也出现了同样的问题。

如果有任何身体可以给我一只非常感激的手。

3 个答案:

答案 0 :(得分:3)

  1. 对于可能被编入索引的网站,您应始终将调试设置为零,否则可能会记录错误(但是,您可以将调试设置为1仅用于您的IP)。
  2. 既然您的网站已在元描述中被错误编入索引,请首先检查错误是否仍然存在并进行修复。它可能已经解决了,但仍然在Google的缓存中。在那之后,让谷歌重新索引你的网站(看看Google Web Master Programme,这是非常有帮助的)。还要考虑一些基本的SEO内容,例如sitemap.xml,如果你还没有。

答案 1 :(得分:1)

将浏览器的UserAgent字符串设置为与GoogleBot's相同并浏览禁用Cookie的网站时会发生什么情况?如果你有任何服务器端逻辑,具体取决于cookie值或UserAgent,很可能你没有收到错误,但谷歌的爬虫是。

搜索结果是否链接到只能由登录用户访问的页面?如果您的Cake应用程序尝试根据不存在的登录用户标识查找数据,则会导致问题。

哦,设定调试零!

答案 2 :(得分:0)

我一周前就知道了。我使用第三方库进行浏览器检测,因为我不想重新邀请滚轮。当我浏览代码时,我注意到创建它的人可能会处理每个浏览器。他有一系列if-elseif陈述,但没有其他陈述。

if(IE){
    do this
}
elseif(Firefox)
{
  do that
}
... for all the browsers

问题发生在抓取工具访问网页时,由于条件无法找到浏览器标头,因此输出了错误消息。

解决问题我刚刚添加了一个else条件,并将每个爬虫都视为Firefox浏览器。