robots.txt - 禁止文件夹但允许文件夹内的文件

Mic*_*ich 1 robots.txt

我的 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)

如何做到这一点?

uno*_*nor 5

如果您没有链接到您的网站/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 。