用于图像加载的Ajax导致404错误

时间:2015-06-24 10:41:39

标签: ajax web-crawler http-status-code-404 googlebot

我们有一个超过1000个图像的页面,我们在每个页面上只显示10个,我们用ajax加载它们,当人们看到图像"时,也使用数据表。 一切正常,但在Google网站管理员工具中,我只收到了数千个404错误,其中的网页如下: http://example.com/ajax/%5C%22http:%5C/%5C/example.com%5C/image%5C/1937%5C/image-name%5C%22 当然,如果我转到此页面,我会收到404错误,因为没有这样的页面存在,但我不明白为什么Google会提取这样的网址。 卡片网址如下所示:example.com/image/a此处有4位数字/ image-name

当它加载了ajax时,它会创建那种url,你(作为访问者)从来没有看到过,但Google会以某种方式获取它。

现在我将/ ajax添加到robots.txt以禁止抓取它,但我不确定这是否是最好的主意。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

最可能的原因是您的ajax目录(以及可能的其他目录)是可读的并列出了您的PHP文件,Google可以访问和解析更多URL。

例如,如果您的某个脚本使用如下字符串回显JSON,Google将会找到

<a class=\"quality1\" href=\"http:\/\/example.com\/card\/22\/inner-rage\">

并尝试导航到解析为

的链接
http://example.com/%22http:////example.com//card//22//inner-rage/%22

这是404。

您应该停止http://example.com/ajax/使用.htaccess显示目录内容,或者在那里删除空index.html

您还在/ajax中禁止使用robots.txt,因此这也应该有效。试试两个。