我想阻止对我们网站上的 *.html 文件进行索引 - 以便只对干净的 url 进行索引。
所以我想要www.example.com/en/login
索引但不是www.example.com/en/login/index.html
目前我有:
User-agent: *
Disallow: /
Disallow: /**.html - not working
Allow: /$
Allow: /*/login*
我知道我可以禁止例如Disallow: /*/login/index.html
,但我的问题是我有一些我不想索引的 .html 文件 - 所以想知道是否有办法禁止它们而不是单独执行它们?
首先,您一直在使用“已编入索引”这个词,所以我想确保您知道 robots.txt 约定只是建议自动抓取工具避免使用您域中的某些 URL,但在robots.txt 文件仍然可以显示在搜索引擎索引上,如果他们有关于页面的其他数据。例如,谷歌明确表示他们仍会索引并列出一个 URL,即使他们不被允许抓取它。我只是想让你意识到这一点,以防你使用“索引”这个词来表示“在搜索引擎中列出”而不是“被自动化程序抓取”。
其次,没有标准的方法来完成你的要求。根据“网络机器人页面”:
还要注意,在 User-agent 或 Disallow 行中都不支持通配符和正则表达式。User-agent 字段中的“*”是一个特殊值,表示“任何机器人”。具体来说,你不能有像“User-agent: bot ”、“Disallow: /tmp/*”或“Disallow: *.gif”这样的行。
话虽如此,这是许多爬虫支持的常见添加。例如,在他们支持的指令的 Google 文档中,他们描述了模式匹配支持,该支持确实使用 * 作为通配符进行处理。因此,您可以添加Disallow: /*.html$
指令,然后 Google 不会抓取以 结尾的网址.html
,尽管它们仍可能出现在搜索结果中。
但是,如果您的主要目标是告诉搜索引擎您认为“干净”和首选的 URL,那么您实际上要查找的是指定规范 URL。您可以link rel="canonical"
在每个页面上放置一个元素以及该页面的首选 URL,使用该元素的搜索引擎将使用它来确定显示该页面时首选的路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句