Robots.txt: 允许除根目录以外的所有内容

Robots.txt: Allow everything but the root directory

我有一个网站,它应该有 http://domain.com/blog as the root directory, and any traffic to http://domain.com is redirected to http://domain.com/blog

这会导致问题,因为当我转到 Google 并执行 site:domain.com 时,我在根目录中看到页面上第一篇文章的标题。如何阻止根被抓取,从而不显示在搜索中?

在网站管理员工具中,我将站点添加为 http://domain.com,但我只在 /blog 目录和其他静态页面上以 google 的形式获取。对吗?

我通常知道如何执行此操作,但这次该网站有一个 sub-directory 作为预期的根目录,所以有点不同。

有人可以验证这是否会实现我想要实现的目标吗?

User-agent: *
Allow: /$
Disallow: /

Robots.txt 不会阻止爬虫抓取某些网页。 Robots.txt 只是一个文本文件,其中包含您要求爬虫遵循的一组准则,它不会在任何时候阻止爬虫。如果你想阻止某个网页成为 crawl/visited - 你将不得不阻止对该页面的所有访问,这包括其他不是爬虫的用户。但是由于您已经将其重定向,所以我看不出有什么问题。 $ 也不是统一标准,Allow(技术上)也不是。尝试让它专注于特定的机器人。 Google 和 Bing 识别 Allow 关键字,但许多其他机器人不识别。

您当前的 robots.txt 也是这样说的:不抓取任何页面,但抓取根目录

我推荐这个作为您的 robots.txt

User-agent: *
Disallow: /

User-agent: googlebot
Disallow: /$

这会告诉所有其他机器人,但 google 不会抓取您的网页。它告诉 google 爬虫不要在 root 中爬行,但其他一切都是允许的。