我有一个具有以下结构的网站:
http://www.example.com/folder1/folder2/folder3
我想禁止在folder1
和folder2
中建立索引。
但我希望机器人能够为folder3
下的所有内容编制索引。
有没有办法用robots.txt做到这一点?
对于我所阅读的内容,我认为不允许指定文件夹中的所有内容。
以下是否会实现我的目标?
user-agent: *
Crawl-delay: 0
Sitemap: <Sitemap url>
Allow: /folder1/folder2/folder3
Disallow: /folder1/folder2/
Disallow: /folder1/
Allow: /
答案 0 :(得分:0)
您只需要:
user-agent: *
Crawl-delay: 0
Sitemap:
Allow: /folder1/folder2/folder3
Disallow: /folder1/
Allow: /
至少googlebot会看到更具体的允许该目录,并禁止folder1
之内的任何内容。这由Google员工post支持。
答案 1 :(得分:0)
是的,它有效...但谷歌有一个工具来测试你的robots.txt文件
您只需要使用Google网站管理员工具(https://www.google.com/webmasters/tools/)
并打开“网站配置 - &gt;抓取工具访问权限”
部分答案 2 :(得分:0)
不允许记录中的换行符,因此您的原始robots.txt应如下所示:
user-agent: *
Crawl-delay: 0
Sitemap: <Sitemap url>
Allow: /folder1/folder2/folder3
Disallow: /folder1/folder2/
Disallow: /folder1/
Allow: /
可能的改进:
指定Allow: /
是多余的,因为它仍然是默认值。
指定Disallow: /folder1/folder2/
是多余的,因为Disallow: /folder1/
就足够了。
由于Sitemap
不是每条记录,但对于所有机器人,您可以将其指定为单独的块。
所以你的robots.txt看起来像这样:
User-agent: *
Crawl-delay: 0
Allow: /folder1/folder2/folder3
Disallow: /folder1/
Sitemap: http://example.com/sitemap
(请注意,Allow
字段不是原始robots.txt specification的一部分,所以不要指望所有机器人都能理解它。)