robots.txt禁止除一个以外的所有页面?他们是否覆盖和级联?

nou*_*eau 34 robots.txt

我希望我的网站的一个页面被抓取而没有其他页面.

此外,如果它与上面的答案有任何不同,我也想知道除了网站的根(索引)之外的所有语言都是禁止的.

# robots.txt for http://example.com/

User-agent: *
Disallow: /style-guide
Disallow: /splash
Disallow: /etc
Disallow: /etc
Disallow: /etc
Disallow: /etc
Disallow: /etc
Run Code Online (Sandbox Code Playgroud)

或者我可以这样做吗?

# robots.txt for http://example.com/

User-agent: *
Disallow: /
Allow: /under-construction
Run Code Online (Sandbox Code Playgroud)

另外我应该提一下这是一个WordPress安装,所以"正在构建",例如,设置为首页.所以在这种情况下它充当索引.

我认为我需要的是http://example.com拥抱,但没有其他页面.

# robots.txt for http://example.com/

User-agent: *
Disallow: /*
Run Code Online (Sandbox Code Playgroud)

这是否意味着在根之后不允许任何事情?

Jim*_*hel 66

允许访问一个页面的最简单方法是:

User-agent: *
Allow: /under-construction
Disallow: /
Run Code Online (Sandbox Code Playgroud)

原来的robots.txt规范说,爬虫应的robots.txt阅读从上到下,并使用第一个匹配规则.如果你把第Disallow一个,那么很多机器人会看到它说他们不能爬行任何东西.通过放置第Allow一个,从上到下应用规则的人将看到他们可以访问该页面.

表达式规则很简单:表达式Disallow: /表示"禁止任何以斜杠开头的东西".这意味着网站上的一切.

Disallow: /*对于Googlebot和Bingbot来说,你的意思相同,但是不支持通配符的机器人可以看到/*并认为你的意思是文字*.所以他们可以假设可以爬行/*foo/bar.html.

如果您只想抓取http://example.com,而不是其他任何内容,您可以尝试:

Allow: /$
Disallow: /
Run Code Online (Sandbox Code Playgroud)

$手段"字符串的结尾,"就像在正则表达式.同样,这适用于Google和Bing,但如果不支持通配符,则不适用于其他抓取工具.


Koh*_*ese 8

如果您登录Google网站站长工具,请从左侧面板转到抓取,然后转到Google抓取方式.在这里,您可以测试Google将如何抓取每个页面.

在阻止除主页之外的所有内容的情况下:

User-agent: *
Allow: /$
Disallow: /
Run Code Online (Sandbox Code Playgroud)

将工作.

  • 如果Googlebot需要查看robots.txt知道阻止什么,这怎么能阻止robots.txt? (3认同)
  • 这会阻止`robots.txt`文件. (2认同)