【问题标题】:Google showing error in Cakephp website description谷歌在 Cakephp 网站描述中显示错误
【发布时间】:2012-01-03 18:02:37
【问题描述】:

我有一个 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 现在出现同样的问题,仍然遇到同样的问题。

如果有人能帮我一把,我将不胜感激。

【问题讨论】:

  • 但您确实将调试设置为 0,不是吗?

标签: debugging cakephp google-crawlers


【解决方案1】:
  1. 对于可能被索引的网站,您应该始终将调试设置为零,否则可能会记录错误(不过,您可以仅为您的 IP 将调试设置为 1)。
  2. 现在您的网站已被元描述中的错误索引,首先检查错误是否仍然存在并修复它。它可能已经解决了,但仍然在 google 的缓存中。之后,让谷歌重新索引你的网站(看看Google Web Master Programme,它很有帮助)。如果您还没有的话,还可以考虑一些基本的 SEO 内容,例如 sitemap.xml。

【讨论】:

  • 我要检查一下,在调试设置为零之间,因为我不希望用户看到他们不应该看到的任何东西。我会阅读页面,看看我是否可以使用一些东西。
【解决方案2】:

当您将浏览器的 UserAgent 字符串设置为与 GoogleBot's 相同并且浏览您的网站时禁用 cookie 会发生什么?如果您有任何取决于 cookie 值或 UserAgent 的服务器端逻辑,则很可能您没有收到错误,但 Google 的爬虫却收到了错误。

搜索结果是否链接到只有登录用户才能访问的页面?如果您的 Cake 应用程序试图根据不存在的登录用户身份查找数据,这将导致问题。

哦,将调试设置为零!

【讨论】:

  • 主页是谷歌通常获取描述的地方。 Cookie 已设置,但我认为它们与它没有任何关系,但感谢您的回复。每个人都可以访问主页。
【解决方案3】:

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

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

问题发生在爬虫访问页面时,由于条件找不到浏览器标头,因此输出错误消息。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 2015-03-25
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    相关资源
    最近更新 更多