可以在robots.txt中使用相对的站点地图网址吗?


191

我可以在robots.txt中为站点地图文件写以下相对URL吗?

sitemap: /sitemap.ashx

还是我必须使用站点地图文件的完整(绝对)URL,例如:

sitemap: http://subdomain.domain.com/sitemap.ashx

为什么我想知道:

  • 我拥有一个新的博客服务www.domain.com,该服务允许用户在accountname.domain.com上进行博客。
  • 我使用通配符,因此所有子域(帐户)都指向:“ blog.domain.com”。

在blog.domain.com中,我放置了robots.txt,以便搜索引擎找到站点地图。但是由于通配符,所有用户帐户共享相同的robots.txt文件,这就是为什么我不能使用第二种选择的原因。现在,我无法对txt文件使用url重写。(我想IIS的更高版本可以解决这个问题?)

Answers:


318

根据sitemaps.org上的官方文档,它必须是完整的URL:

您可以使用robots.txt文件指定站点地图的位置。为此,只需将包含完整URL的以下行添加到站点地图中:

Sitemap: http://www.example.com/sitemap.xml

31
请注意@unor的示例具有:站点地图的大写字母S。这很重要,因为Robots.txt区分大小写。
BodgeIT '16

19
而就本案的话题,robotstxt.org指定文件被命名为robots.txt没有大写R.
khargoosh

如果网站正在加载https,则带有http的Sitemap URL。这样好吗 还是我们必须根据协议放置站点地图URL?
Shams

4
@Shams:站点地图中列出的URL必须使用与站点地图文件相同的协议和相同的主机。如果您的网站可在http 下找到https则应仅提供一个站点地图(具有规范的变体)
UNOR

2

Google搜寻器不够智能,它们无法搜寻相对URL,这就是为什么始终建议使用绝对URL以获得更好的可爬行性和可索引性的原因。

因此,您不能使用此变体

> sitemap: /sitemap.xml

推荐的语法是

Sitemap: https://www.yourdomain.com/sitemap.xml

注意:

  • 不要忘记将“站点地图”中的首字母大写
  • 不要忘记在“ Sitemap:”之后放置空格

-2

好的技术和逻辑问题,亲爱的朋友。在robots.txt文件中不能使用站点地图的相对URL。您需要使用站点地图的完整URL。

最好选择“ sitemap:https : //www.example.com/sitemap_index.xml

在上面的URL中,冒号后面有空格。我也喜欢支持Deepak。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.