静的サイトジェネレータで比較的難しいのが関連記事や人気記事の表示です。
静的サイトジェネレータとは、htmlやjavascriptのような静的コンテンツのみで構築されたwebサイトを生成するプログラムのことです。Wordpressと異なり、デメリットとなるのは動的なページが生成できるphpが使えないことです。
tea dugong | Sony A7R2 + Sonnar T* FE 55mm F1.8 ZA ©
今回は、静的ジェネレータで関連記事や人気記事を生成するプラグインを作ってみましたので、静的サイトジェネレータで生成するアイディアを簡単にまとめてみたいと思います。
タグの一致する記事を関連記事とする
静的ジェネレータのHugoやJekyllで度々話題になっているのが各記事のタグの一致を調べる方法です。最も手軽に実装できる方法です。
Googleアナリティクスのアクセス情報を活用する
Googleアナリティクスのページビュー数を取得して人気記事を選び出したり、関連度の参考にします。node.jsではga-analyticsでGoogle アナリティクスの情報を取得することができます。また外部サービスではZenbackやRankletをJavascriptから利用することもできます。
投稿記事本文の関連性を調べる
本文中の内容と関連する記事を選び出す方法です。WordpressではWordPress Related PostsやYet Another Related Posts Plugin YARPPが本文に共通する記事を選び出してくれるので有名ですね。静的サイトジェネレータでも同じ要領で本文の内容を解析し、関連記事を選び出すことができます。本文の解析は形態素解析の技術を使います。静的ジェネレータのMiddlemanにはmiddleman-blog-similarというプラグインが形態素解析してくれるみたいです。
まとめ
いかがだったでしょうか。静的サイトジェネレータでも関連記事や人気記事はアイディア次第ではWordpressに遜色なく表示させる事ができます。GUIが備わってるブログシステムの方がとっつきやすい印象ではありますが、静的サイトジェネレータはそれを上回るメリットが沢山あるのが魅力です。HugoやJekyll、gatsby、octopressをお使いの方にも何か参考になりましたら幸いです。