【问题标题】:Ajax used for image loading causes 404 errors用于图像加载的 Ajax 导致 404 错误
【发布时间】:2015-09-10 12:42:40
【问题描述】:

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

当它被加载 ajax 时,它会创建那种你(作为访问者)永远看不到的 url,但 Google 会以某种方式获取它。

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

任何帮助将不胜感激。

【问题讨论】:

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


    【解决方案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 放在那里。

    您还在您的robots.txt 中禁止了/ajax,所以这也应该有效。两个都试试。

    【讨论】:

    • 我忘了提及我找到了您的网站以及 Google 链接的确切原因。如果您接受此答案,请根据您的需要编辑我的答案来更改/混淆您的网址,但请保持原意不变。
    • 感谢您的回答!
    猜你喜欢
    • 2013-08-31
    • 2017-12-11
    • 2015-01-25
    • 2020-09-20
    • 1970-01-01
    • 2016-02-22
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多