robots.txt如何禁止除站点地图中的网址之外的所有网址

时间:2010-10-02 10:52:09

标签: c# .net robots.txt sitemap

我需要控制哪些URL可以编入索引。为此,我想允许Google仅为我的站点地图中列出的网址编制索引,并禁止Google将其他任何内容编入索引。

解决此问题的最简单方法是,如果有办法配置robots.txt以禁止所有内容:

  

用户代理:*

     

禁止:/

同时允许列出的每个网址:

  

站点地图:sitemap1.xml

     

站点地图:sitemap2.xml

robots.txt可以配置为执行此操作吗?或者还有其他解决方法吗?

3 个答案:

答案 0 :(得分:2)

这不是robots.txt相关的答案,它与整个机器人协议有关,我过去经常使用这种技术,它就像一个魅力。

据我所知,您的网站是动态的,为什么不使用robots meta tag?正如x0n所说,一个30MB的文件可能会为你和抓取工具带来问题,并且在30MB文件中附加新行是I / O的头疼问题。 在我看来,你最好的选择是注入你不想索引的页面:

<META NAME="ROBOTS" CONTENT="NOINDEX" />

页面仍会被抓取,但不会被编入索引。您仍然可以通过robots.txt中的站点地图引用提交站点地图,您不必注意不要包含在使用元标记机械化的站点地图页面中,并且所有主要搜索引擎都支持它,据我所知,百度也是如此。

答案 1 :(得分:1)

您必须为站点地图中的每个元素添加Allow条目。这很麻烦,但很容易以编程方式使用在站点地图中读取的内容执行某些操作,或者如果以自己的方式创建站点地图,则将其基于相同的代码。

请注意,Allow是robots.txt协议的扩展程序,并不受所有搜索引擎支持,但谷歌支持它。

答案 2 :(得分:0)

登录http://www.google.com/webmasters/即可直接向Google搜索引擎提交站点地图。