在 robots.txt 文件中列出站点地图和站点地图索引文件?

11

我的网站由三个主要部分组成:评论、论坛和博客。我已经为论坛和博客安装了插件,可以自动生成它们的站点地图。论坛插件生成一个站点地图索引文件,指向多个索引,而博客插件生成一个包含所有博客内容的常规站点地图文件。以下是它们在robots.txt中的条目:

Sitemap: http://www.datesphere.com/forum/sitemap-index.xml
Sitemap: http://www.datesphere.com/blog/sitemap.xml

我刚刚创建了一个评论sitemap.xml文件,其中包含了评论部分的所有内容。我计划只需在robots.txt中添加一行即可,使整个过程看起来像这样:

Sitemap: http://www.datesphere.com/forum/sitemap-index.xml
Sitemap: http://www.datesphere.com/blog/sitemap.xml
Sitemap: http://www.datesphere.com/reviews-sitemap.xml

这里是我的问题: 我知道你可以在robots.txt中列出多个站点地图,但是是否可以同时有一个站点地图索引文件和多个站点地图列表?如果在robots.txt中找到了sitemap-index.xml文件,Googlebot会忽略其他站点地图文件吗?如果是这样的话,我是否需要将我的博客和评论站点地图放在另一个站点地图索引文件中,并在robots.txt中只列出那个文件?我已经查过了,但只能找到关于“我可以列出多个站点地图吗?”的答案。

3
伙计,我认为你应该接受你得到的“官方”答案 :) - WonderLand
2个回答

21

即使您在 robots.txt 文件中列出它们的父 Sitemap 索引,Googlebot 也不会忽略您列出的任何 Sitemaps。我们会跟踪几乎每个我们发现的链接,如果允许,我们将对其进行抓取。 就我个人而言,为了易于管理,我可能只会列出 Sitemap 索引,但这取决于您,如果您同时列出索引和 Sitemaps,Googlebot 不会介意。


2
当您拥有多个网站地图时,您可以像下面的示例一样在robots.txt文件中指定您的网站地图索引文件URL:
// robots.txt
Sitemap: http://www.example.com/sitemap_index.xml 
User-agent:* 
Disallow: /some/disallowed/path

或者,您可以像下面的示例一样指定多个站点地图文件的各个URL:
// robots.txt
Sitemap: http://www.example.com/sitemap_host1.xml 
Sitemap: http://www.example.com/sitemap_host2.xml 
User-agent:* 
Disallow: /some/disallowed/path

最后,当您将Sitemap指令添加到robots.txt文件中时,需要注意以下内容。


那个东西是什么? - Dan
2
@Sebastian,请从你的示例中删除以下内容: User-agent:* Disallow 否则,复制和粘贴你的代码的人将告诉所有机器人不要索引你的网站。 - Paolo Mioni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接