我的客户有一堆他们不想被谷歌索引的页面 - 他们都被称为
http://example.com/page-xxx
Run Code Online (Sandbox Code Playgroud)
所以他们是/ page-123或/ page-2或/ page-25等
有没有办法停止谷歌索引使用robots.txt以/ page-xxx开头的任何页面
会不会有这项工作?
Disallow: /page-*
Run Code Online (Sandbox Code Playgroud)
谢谢
Jim*_*hel 14
首先,一条线说Disallow: /post-*不会做任何事情来阻止抓取"/ page-xxx"形式的页面.你的意思是将"页面"放在你的Disallow行中,而不是"发布"吗?
Disallow实质上说,"不允许以此文本开头的网址".因此,您的示例行将禁止以"/ post-"开头的任何网址.(也就是说,文件位于根目录中,其名称以"post-"开头.)在这种情况下,星号是多余的,因为它是隐含的.
您的问题不清楚页面的位置.如果它们都在根目录中,那么简单Disallow: /page-就可以了.如果它们分散在许多不同地方的目录中,那么事情就会变得更加困难.
正如@ user728345指出的那样,处理此问题的最简单方法是将您不想抓取的所有页面收集到一个目录中,并禁止访问该目录.但我明白,如果你不能移动所有这些页面.
对于Googlebot,以及支持相同通配符语义的其他机器人(其中包括我的数量惊人的数量),以下内容应该有效:
Disallow: /*page-
这将匹配任何包含"page-"的内容.但是,这也会阻止类似"/test/thispage-123.html"的内容.如果你想防止这种情况,那么我认为(我不确定,因为我还没有尝试过),这会起作用:
Disallow: */page-
您可以将所有不想访问的页面放在一个文件夹中,然后使用 disallow 告诉机器人不要访问该文件夹中的页面。
禁止:/私人/
我对 robots.txt 不太了解,所以我不确定如何使用这样的通配符在这里,它说“您不能在用户代理或禁止行中使用通配符模式或正则表达式。” http://www.robotstxt.org/faq/robotstxt.html