任何人都可以帮我在我的 robots.txt
文件中添加一个 disallow
规则来阻止爬虫索引任何包含 %2C
的链接,它是逗号 (,) 的 HTML URL 编码
。
我想我正在寻找的是通配符,如果 robots.txt 文件中存在的话。
到目前为止我有这个:
Disallow: %2C
但似乎看不到它起作用。
有什么建议吗? 干杯
最佳答案
针对搜索引擎测试 robots.txt 时,最好的办法是利用它们提供给您的工具。 Google Webmaster Tools在“Health > Blocked URLs”下有一个 robots.txt 测试器。如果你使用
User-agent: *
Disallow: *,*
这将阻止对 http://example.com/url%2Cpath/ 的任何请求.我试过 Disallow: *%2C*
但显然这不会阻止 Googlebot 抓取 HTML 转义路径。我的猜测是 Googlebot 在排队过程中对其进行了编码。
至于 bing,他们显然删除了他们的 robots.txt 验证工具。因此,真正唯一可靠的测试方法是在测试站点上部署 robots.txt,然后使用 Bing 网站管理员工具获取带有“,”的页面。届时它会告诉您它是否被 robots.txt 阻止。
请记住,在使用 robots.txt 时,这不会阻止搜索引擎在搜索结果中显示 URL。它只是阻止他们抓取 URL。如果您只是不想在搜索结果中出现这些类型的 URL,但不介意它们抓取页面(这意味着您不能使用 robots.txt 阻止这些 URL),您可以添加元标记或 x-robots - 在 http header 中标记 NOINDEX 值以防止将其添加到搜索结果中。
关于使用“nofollow”标准的其他评论之一。 Nofollow 实际上并没有阻止搜索引擎抓取这些 URL。它更被认为是一种拒绝对该链接到目的地的任何认可的方式。 Google 和 Bing 建议使用 nofollow 来指示赞助商链接或不受信任的 UGC 链接。
关于html - 禁止 Google 使用 robots.txt 将包含 "%2C"(逗号)的链接编入索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12298005/