我的 sitemap.xml 和 robots.txt 之间似乎有冲突
我网站上的所有图像都存储在文件夹 /pubstore 中,当谷歌抓取该文件夹时,它什么也没找到,因为我不包括该文件夹中的文件列表。
这反过来会在谷歌搜索控制台中产生数百个 404 错误。
我决定做的是通过添加以下内容来阻止谷歌抓取文件夹:
Disallow: '/pubstore/'
Run Code Online (Sandbox Code Playgroud)
现在发生的是该文件夹中或该文件夹中子目录中的文件被谷歌阻止,因此谷歌没有索引我的图像。
所以一个示例场景,
我有一个使用图像 /pubstore/12345/image.jpg 的页面
Google 无法获取它,因为 /pubstore 已被阻止。
我的最终结果是我希望实际文件是可抓取的,但不是文件夹或其子目录。
允许:
/pubstore/file.jpg
/pubstore/1234/file.jpg
/pubstore/1234/543/file.jpg
/pubstore/1234/543/132/file.jpg
Run Code Online (Sandbox Code Playgroud)
不允许:
/pubstore/
/pubstore/1234/
/pubstore/1234/543/
/pubstore/1234/543/132/
Run Code Online (Sandbox Code Playgroud)
如何做到这一点?
如果您没有链接到您的网站/pubstore/并/pubstore/folder/在您的网站上,通常没有理由为他们关心 404。这是对此类 URL 的正确响应(因为没有内容)。
如果您仍想使用 robots.txt 来防止对这些内容进行任何抓取,则必须使用Allow,它不是原始 robots.txt 规范的一部分,但受 Google 支持。
例如:
User-agent: Googlebot
Disallow: /pubstore/
Allow: /pubstore/*.jpg$
Allow: /pubstore/*.JPG$
Run Code Online (Sandbox Code Playgroud)
或者,如果您想允许许多不同的文件类型,也许只是:
User-agent: Googlebot
Disallow: /pubstore/
Allow: /pubstore/*.
Run Code Online (Sandbox Code Playgroud)
这将允许所有路径以 开头/pubstore/,后跟任何字符串,后跟 a .,后跟任何字符串的URL 。