在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文件。这就是为什么我不能使用第二种选择。现在我不能用url重写txt文件。(我猜IIS的后期版本可以处理这个?)


当前回答

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

最好使用“sitemap: https://www.example.com/sitemap_index.xml”

在上面的URL中冒号后给出空格。 我也喜欢支持迪帕克。

其他回答

根据sitemaps.org上的官方文档,它需要是一个完整的URL:

您可以使用robots.txt文件指定站点地图的位置。要做到这一点,只需添加以下一行,包括完整的URL到站点地图: 网站地图:http://www.example.com/sitemap.xml

谷歌爬虫不够聪明,它们不能抓取相对URL,这就是为什么总是建议使用绝对URL以获得更好的可爬行性和可索引性。

因此,您不能使用这种变体

> sitemap: /sitemap.xml

推荐的语法为

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

注意:

“sitemap”的首字母不要忘记大写 别忘了在Sitemap后面加空格

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

最好使用“sitemap: https://www.example.com/sitemap_index.xml”

在上面的URL中冒号后给出空格。 我也喜欢支持迪帕克。