我需要控制允许对哪些 URL 进行索引。为此,我希望允许谷歌仅索引我的站点地图中列出的 URL,并禁止谷歌索引其他任何内容。
解决这个问题的最简单方法是,如果有办法将 robots.txt 配置为禁止所有内容:
用户代理: *
不允许: /
同时允许列出的每个 URL:
站点地图:sitemap1.xml
站点地图:sitemap2.xml
可以将 robots.txt 配置为执行此操作吗?或者还有其他解决方法吗?
我需要控制允许对哪些 URL 进行索引。为此,我希望允许谷歌仅索引我的站点地图中列出的 URL,并禁止谷歌索引其他任何内容。
解决这个问题的最简单方法是,如果有办法将 robots.txt 配置为禁止所有内容:
用户代理: *
不允许: /
同时允许列出的每个 URL:
站点地图:sitemap1.xml
站点地图:sitemap2.xml
可以将 robots.txt 配置为执行此操作吗?或者还有其他解决方法吗?
这不是 robots.txt 相关的答案,它与整个 Robots 协议有关,我过去非常经常使用这种技术,它就像一个魅力。
据我了解,您的网站是动态的,那么为什么不使用robots 元标记呢?正如 x0n 所说,一个 30MB 的文件可能会给您和爬虫带来问题,而且在 30MB 的文件中添加新行是一个 I/O 难题。无论如何,在我看来,你最好的选择是注入你不想被索引的页面,比如:
<META NAME="ROBOTS" CONTENT="NOINDEX" />
该页面仍会被抓取,但不会被编入索引。您仍然可以通过 robots.txt 中的站点地图参考提交站点地图,您不必注意不要包含在使用元标记自动删除的站点地图页面中,并且所有主要搜索引擎都支持它,据我记得百度也是。
您必须为Allow
站点地图中的每个元素添加一个条目。这很麻烦,但是很容易通过在站点地图中读取的内容以编程方式执行某些操作,或者如果站点地图本身是通过编程方式创建的,则将其基于相同的代码。
请注意,这Allow
是 robots.txt 协议的扩展,并非所有搜索引擎都支持,尽管谷歌支持它。
通过登录http://www.google.com/webmasters/,您可以将站点地图直接提交到 google 的搜索引擎。