html - 禁止 Google 使用 robots.txt 将包含 "%2C"(逗号)的链接编入索引

标签 html http web-crawler robots.txt

任何人都可以帮我在我的 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/

相关文章:

javascript - 如何在jquery中选择ul的li元素?

javascript - 在 span 中将按钮视为链接

node.js - Nodejs 异常转义 try/catch block

php - 如果已发送部分响应(分块),如何将浏览器发送到错误页面

android - Android 上的 Http 持久连接以及从 wi-fi 切换到蜂窝网络

regex - 使用 xpath 或 regexp 设置 import.io 爬虫

python - 尝试在 AWS Lambda 上测试 Scrapy Web-Crawler 时出现此错误 "raise error.reactornotrestartable() "

html - Bootstrap : responsive button in grid system?

带剥离背景的 HTML 树

javascript - 如何使用关键字搜索抓取 youtube 视频链接