我们遇到了一个问题,Googlebot试图访问Ajax功能上的某个网址,并且由于某些网址编码问题而失败。首先我们有点困惑,为什么googlebot试图访问JS脚本中JS函数内的URL。Ajax通过Google访问的网址
JS代码:
ajaxFunction(siteid) {
$.get(location.protocol + '//' + location.hostname + '/ajax/?ajaxscript=detail&siteid='+ siteid, function() { ... });
}
以上函数是在JS脚本包括我们的网页上点击一个链接/按钮时被调用。 Googlebot以某种方式尝试直接转到由上述函数生成的URL,并且由于“?”字符被URL编码而导致错误,所以siteid值没有通过。
示例网址,谷歌正试图访问:
http://www.google.com/url?sa=t&rct=j&q=duo%2Bboots&source=web&cd=4&ved=0CDQQFjAD&url=http%3A%2F%2Fwww.MYSITE.com%2Fajax%2F%253Fajaxscript%3Ddetail%26siteid%3D1
你有任何想法,为什么Googlebot的直接试图访问由JS函数生成的URL,并有可能是Googlebot的访问基于AJAX功能,网址直接?基本上主要的问题是,正在转换为%2F,因此它不会将所需的数据传递给我的脚本,并且在我们的服务器错误日志中记录为错误。
谢谢,我已经修复了您定义的人 –
不错,标记为已解决! –