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

robots.txt - Disallow folder but allow files within folder

我的 sitemap.xml 和 robots.txt

之间似乎有冲突

我网站上的所有图片都存储在文件夹 /pubstore 中 当 google 爬取该文件夹时,它什么也没找到,因为我没有在该文件夹中包含文件列表。

这反过来会在 google 搜索控制台中产生数百个 404 错误。

我决定做的是阻止 google 通过添加以下内容抓取文件夹:

Disallow: '/pubstore/'

现在发生的是该文件夹或该文件夹的子目录中的文件被 google 阻止,因此 Google 没有为我的图像编制索引。

举个例子,

我有一个使用图像 /pubstore/12345/image.jpg

的页面

Google 无法获取它,因为 /pubstore 已被阻止。

我的最终结果是我希望实际文件可抓取,但文件夹或其子目录不可抓取。

允许:

/pubstore/file.jpg
/pubstore/1234/file.jpg
/pubstore/1234/543/file.jpg
/pubstore/1234/543/132/file.jpg

不允许:

/pubstore/
/pubstore/1234/
/pubstore/1234/543/
/pubstore/1234/543/132/

如何实现?

如果您的网站上没有 link 到 /pubstore//pubstore/folder/,通常没有理由关心它们的 404。这是对此类 URL 的正确响应(因为没有内容)。

如果您仍想使用 robots.txt 来防止对这些内容进行任何抓取,则必须使用 Allow,它不是原始 robots.txt 规范的一部分,但受Google.

例如:

User-agent: Googlebot
Disallow: /pubstore/
Allow: /pubstore/*.jpg$
Allow: /pubstore/*.JPG$

或者,如果您想允许多种不同的文件类型,也许只是:

User-agent: Googlebot
Disallow: /pubstore/
Allow: /pubstore/*.

这将允许路径以 /pubstore/ 开头的所有 URL,后跟任何字符串,然后是 .,再后跟任何字符串。