如何在heroku上生成站点地图?

时间:2011-04-27 18:24:16

标签: amazon-s3 heroku sitemap

我已经看到一些较旧的线程在heroku上生成站点地图......需要将它存储在S3上并进行配置以使站点地图合法,因为它是在其他地方托管的。

我没有看到任何确定的,但是,一些对话和建议的补丁。

是否有开箱即用的功能可以与heroku一起使用?

4 个答案:

答案 0 :(得分:9)

基于https://github.com/kjvarga/sitemap_generator

的文章
  

您应该将站点地图索引文件的网址添加到public / robots.txt,以帮助搜索引擎>找到您的站点地图。 URL应该是站点地图索引的完整URL。例如:

     

站点地图:http://www.example.com/sitemap_index.xml.gz

如果你使用谷歌网站管理员工具,只允许你指定你的主机的网址,也许你可以创建一个控制器&只需重定向到S3上的sitemap.xml的操作。然后在网站管理员工具中指定该网址。 http://www.billrowell.com/2012/02/01/create-an-xml-sitemap-on-heroku-via-amazon-s3/

如果您要上传到S3,这应该会有所帮助: https://github.com/kjvarga/sitemap_generator/wiki/Generate-Sitemaps-on-read-only-filesystems-like-Heroku

答案 1 :(得分:1)

我以前通过名为sitemap.xml的路由到动态构建站点地图的控制器完成此操作 - 而不是抓取站点并拥有必须存储在某处的硬编码sitemap.xml。我想这取决于您的应用和网址更改的频率。

答案 2 :(得分:0)

我正在等待站点地图生成器的s3版本,如果它完成了它的说法,那应该是它。

答案 3 :(得分:0)

我不会说英语。 但是解释一下我的代码。 xml是使用' xmlbuilder'。

创建的
CreateXmlFile(request, response, next, function(request, response, next, xml){
      response.type('text/xml');
      response.send(xml);
      if(typeof next == "function"){
        next();
      }
    });