阿贾克斯网址由谷歌访问(Ajax Url accessed by Google)

2019-09-22 12:57发布

我们遇到由于一些URL编码问题与Googlebot在试图访问一个Ajax功能的URL和失败的问题。 首先,我们有点困惑,为什么Googlebot在试图访问URL的JS函数中的JS脚本。

JS代码:

 ajaxFunction(siteid) {
   $.get(location.protocol + '//' + location.hostname + '/ajax/?ajaxscript=detail&siteid='+ siteid, function() { ... });
}

上述功能是JS脚本包括我们的网页上点击一个链接/按钮时被调用。 Googlebot在某种程度上试图去通过上述功能,直接和获取由于错误产生的URL“?”的编码,因此SITEID值未获得通过的字符是URL。

例如URL,谷歌正试图访问:

 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,这是越来越记录在我们的服务器错误日志中的错误。

Answer 1:

谷歌正在对这些JavaScript重定向很好奇,他知道这些URL一个完整的网页渲染(包括JS),谷歌工具栏的数据或Chrome数据。

我总是用一个前缀我所有的AJAX请求,例如http://domain.com/_ajax/xxxxx ,然后我禁止所有漫游器抓取网址,开始/ _ajax /使用robots.txt

你也可以添加“NOINDEX,nofollow的”的X-机器人-Tag HTTP标头。



Answer 2:

马特·卡茨说,前一阵子是“Googlebot的不断变得更聪明” ,也看到这个博客条目甚至还有一个博客帖子上的SEOmoz早在2008年。

Googlebot在试图做什么你的用户做的,看到的内容至今无法访问。 如果不这样做包括在内。

如果这是不可能为你改变的参数你可能能够解析与心目中的双编码的服务器端请求之前?



文章来源: Ajax Url accessed by Google
标签: ajax url seo