普通にSitemap.xmlを返すんでもいいけど、毎回何かデータが更新されるたびに手動で更新するのは嫌なので、おそらく多くの人は、自動で更新されるようにしているかと思います。

以下では、sitemap.xmlを返すときにrouter.getで必要なデータを引っ張り出して、sitemapのviewに返します。xmlを返すので、Content-Typeにtext/xmlにします

あとはviewのsitemapを設定すれば、自動でデータベースが更新されるたびに最新の情報にした状態のsitemap.xmlを返すようになります。sitemap.xmlは形式が決まっているので、結構簡単にかける.

以下では毎日更新されるページを想定しているので、lastmodを常に最新の日時に変更しています。実際に変更される頻度が少なければ頻繁にしない方がよいかもしれません。あくまで目安としてしか検索エンジンからは見られないはずなので、神経質にならなくてもいいと思いますが。

以下はsitemapをrenderするejsファイル例です。

おわりに

以上です。xmlを返すのはContent-Typeを返せば良いだけ。Sitemap.xmlを