我可以使用正则表达式在robots.txt文件中阻止这些网址吗?
#1 楼
正则表达式在robots.txt中无效,但是Google,Bing和其他一些漫游器确实可以识别出某些模式匹配。如果要阻止所有在URL中任何位置带有
example
的URL,您可以使用通配符条目* User-agent: *
Disallow: /*example
还可以使用美元符号$来指定URL必须以这种方式结束。因此,如果您想阻止所有以
example
结尾的URL,但不阻止在URL中其他位置具有example
的URL,则可以使用:User-agent: *
Disallow: /*example$
更多详细信息可以在以下位置找到适用于Google的信息:Robots.txt规范,必应Bing:如何创建Robots.txt文件,并且在Moz上有一个交互式指南
评论
完美,*工作正常,已在网络主工具中进行了测试。。谢谢马克斯... :)
– Sudheera Njs
2014年12月8日下午5:39
我不建议在robots.txt文件中使用过于花哨的指令;这些真的很难在以后进行调试。尝试使事情尽可能简单。还要记住,robots.txt区分大小写,因此您可能需要根据您的站点添加指令的备用版本。
–约翰·穆勒(John Mueller)
2014年12月10日12:01
如果支持正则表达式会很好
– SuperUberDuper
16年4月14日在12:55
#2 楼
要通过正则表达式阻止网址(而不是进行爬网(下载),而不是在搜索引擎中建立索引),可以使用https://developers.google.com/search/reference/robots_meta_tag
X-Robots-Tag动态添加到广泛支持正则表达式的Apache(或nginx)的mod_rewrite规则中。
评论
在您不希望对其进行爬网/编制索引的页面上设置漫游器元标记也是值得的。@AndrewLott就我而言,我的页面超过500页,因此我认为在robots.txt中使用正则表达式。.
然后,您的站点代码中的规则可能会更有帮助。