2015-10-07

sitemap.xml

グーグルに正しくインデックスしてもらうため、作成したNodeアプリケーションへsitemap.xmlを追加したい。
清く正しくsitemap.xmlを理解するなら以下を参照。

普段は以下のオンラインジェネレーターを利用し配備していた。

これを利用すれば静的コンテンツは自動的にクロールをし追加してくれるが、動的に追加されるコンテンツはそのたびに作成しなおさなければならないため難儀である。
そこでsitemap.jsを利用しアプリ内でリクエストがあったさいに動的にxmlを作成し発行する仕組みを作った。

ExapmpeにExpressでの使用例が書かれており、Koaでもほぼそのまま流用できた。
Promiseでラップし、Yiedableにすればほぼ完了である。

あとはDBへアクセスしヒットしたコンテンツをsitemap.xmlへ追加すれば完了である。