WordPressからnanocへ移行した

今までのブログは、オーソドックスにWordPressと無料で配布されているテーマファイルで書いていた。 ふと思ったのが、Web系の仕事をしているのに無料のテーマをカスタマイズもせずにただ使っているのって、いまいち健全な状態では無い気がするということだ。 自分のブログのデザインくらいは自分でやるべきだろう、ということである。

WordPressで使われているのはPHPで、個人的にあまり好きな言語ではない。頻繁なアップデートもあり、安易な改造は他の不具合を生み出す。また多機能であるが故に私には少々長大すぎるのだ。このブログのような、ちょっとしたメモ書きみたいなブログには愚鈍な感じがする。

もちろんCMSとしてはこれ以上無く優秀だ。でも、せっかくだからブログのデザインをオリジナルで作るついでにもっと別のブログ制作の体制を模索してみた。

ブログサービスはたくさんある。しかし自前のデザインを適用できて、かつ投稿した内容のバックアップ等ができ、広告がなく、文章の投稿がやりやすいサービスとなると意外と少ない。tumblrくらいだ。 自分でアップロードしてブログシステムを立ち上げる方法がベストなのだろうか。

軽く、ブログとしての機能だけで十分。気に入らない部分を好きに改造できるようにRubyで実装されているブログシステムを探してみると、LokkaというCMSがあった。でも最終更新日は2011年。活気がなさそうなのでこれはやめた。

このブログをWordpressに移行する前はTumblrを使っていた。使いやすいしかっこいいサービスなのだが、これでも多機能すぎた。投稿画面が普通のtextareaじゃない時点でめんどくさい。 理想的にはデスクトップ上のテキストエディタを使えるのが最高だ。

そんなとき、ひとつのアイデアがひらめいた。静的にhtmlページを生成して、それをアップロードすればいいんだ。 調べてみるとJekyllnanocが有名みたいだ。今回はnanocでブログを作ってみた。

静的サイトのメリットとは何だろう。第一には非常に高速であることだ。WordPressはアクセスの度にオン・ザ・フライ方式で新たなページを生成しているので、良くできたキャッシング機構でも無い限り大量のアクセスを無料、もしくは安価なサーバーで裁くことはむずかしい。私のブログは大した量のアクセスが無いのでこの部分はそれほど大きなメリットでは無いものの、月に数百円をサーバー会社に支払う必要を生んでいる。 静的なサイトであれば広告もなく、無料で使用できるホスティングサービスはたくさんある。この点は見逃せない。PHPもデータベースも必要ないのだからさくらインターネットの一番安いレンタルサーバーでも、ネットオウルの無料サーバーでも十分なのだ。

次に、セキュリティの面に関して鉄壁という点だ。動的なサイトはそれだけで攻撃の対象になる。SQLインジェクションだとかクロスサイトリクエストフォージェリといった攻撃は、動的であるが故になされる。静的サイトであれば、HTTPサーバーに重大な脆弱性が見つからない限りは安全だといえる。

運用面では、普段使っている愛用のテキストエディタをそのまま使えることも魅力だ。WordPressではブラウザ上の(非常に使いにくい)テキストボックスを使わなければならないが、nanocでは何を使っても自由だ。私はこの文章をSublime Textというエディタで書いている。

不便な点ももちろんある。静的サイトなのでブラウザからの記事検索やコメント投稿ができない点が大きい。この点に関してはいくつかの回避方法がある。コメントはDISQUSのような外部サービスを使って解決した。検索はどうせ使う人がいないだろうからまだおいていないが、Googleカスタム検索でも使っておけばいいと思う。 ブログのトップページのページネーションは、タグと年月別のアーカイブリンクがあれば必要ないような気がする。ページネーションは一つの投稿が、大量のページの再生成のトリガーになってしまうのが難点なのだ。

画像の貼り付け方法が変わってしまった。WordPressではブラウザ上から投稿時にアップロードできたけど、これも楽だったかと聞かれるとそうでもない。スマホで撮った画像をDropboxにアップロードして、そこからまたWordPressに上げていたのだが、これからはSmugmugにアップロードし、画像の直リンクをつかってブログ上に画像を置く。これも専用のAndroidアプリがあるので手間は変わっていない。

なんにせよ移行したばかりなのでなんとも言えないが、しばらくはこの感じでいきたい。 いつかやろうと思っていた、プロフィールサイトとブログのデザイン上の統合も行えたので満足している。まだタグ機能とかできてないし、細かいところは追々直していこうかな。