如何为大型 Rails 项目生成站点地图

How to generate Sitemaps for a large Rails Project

我们努力寻找生成站点地图的最佳解决方案

现在我们有以下模型需要显示在我们的站点地图中

Modification.count => 78719
User.count => 288168
Project.count => 3516
ProjectLog.count => 6165    
Category.count => 272

虽然每个站点地图只能有 50k 个链接,但我们需要多个站点地图。该应用程序 运行 在多个服务器上,因此我们需要在多个服务器上也有站点地图。

所以这是我的想法:

生成 sitemap.xml 其中包含指向 modifications_1.xmlmodifications_2.xml 等等

这根本不是问题,但遗憾的是这些条目有时会更改,因此我们需要更新 last_modification_time

我的方法是:

  1. 初始生成文件。
  2. 如果某些条目已更新,请打开 XML 文件,然后更改密钥(最好是 nokogiri)
  3. 如果添加了新条目,将它们添加到最新的xml-文件
  4. 如果删除了条目,请将其从 xml 文件中删除。
  5. 每 2 周,重新生成所有文件。

有没有更好的方法来做到这一点?

我检查了一些可用的 gem,但看起来它们不适合我们的项目大小。

似乎这样 gem 可以开箱即用。性感。

https://github.com/kjvarga/sitemap_generator