January 11, 2020

1335 letters 3 mins read

ブログをVPSにホストしたGhostからHugo+Netlifyに移行する

ブログをVPSにホストしたGhostからHugo+Netlifyに移行する

当ブログをWordPressからGhostに移行し、VPSで2年ほど運用していたが、静的サイトジェネレータのHugoに変更しNetlifyでのホスティングに移行した。移行作業や移行後の使い勝手などを記す。

移行の理由

WordPressから移行した際はセキュリティ対策の煩わしさが主な理由だったが、Ghostではそれほど大きな問題はなかった。デフォルトテーマであるCasperのデザインもよく、コンソールもシンプルで使い勝手もよかったが、いくつかの問題点もあった。

日本語入力の不安定さ

日本語での入力の際の記事エディタの動作がどうも不安定なところがあった。特にネイティブアプリ版は顕著で、ほとんど実用的に使えるものではなかった。

多言語対応の難しさ

記事によっては日英両言語で執筆しているため、Ghostはデフォルトで多言語サイトをサポートしておらず、タグなどを使いながら自分でコンテンツの分け方を考える必要があった。

Ghostのバージョンアップへの追随

デフォルトテーマのCasperをforkして日本語のコンテンツに合わせてカスタマイズしていたため、Ghost自体のバージョンアップでテーマの互換性がなくなるたびに、fork元の変更をマージする必要があった。

静的サイトジェネレータというトレンド

ブログを静的サイトジェネレータに移行したという話はもう数年前からインターネット上でもいくつも出ていて、確かにいまどきブログ程度のコンテンツをサーバーでレンダリングする必要もないのはそのとおりな気がするので、静的サイトジェネレータに移行してみることにした。 多言語にデフォルトで対応し、トレンドっぽいHugoを採用。

いまどき静的ウェブサイトホスティングサービスでサイトを無料でホストでき、Githubなどのコンテンツ管理システムと連動して自動でデプロイもできるということで、Hugo+Netlifyでブログを移行することにした。

Hugo+Netlifyに移行してよかったこと

多言語サイト対応

複数言語で記事を書いた際には、記事のページに言語切り替えボタンが自動的に表示される。記事内にわざわざEnglish article hereとか書かなくて良い。

コンテンツ管理が気楽

Markdownで書いてGithubで管理するだけなので運用が楽。さらにデータのバックアップも気にする必要がない。

サーバ管理が楽

自前サーバでないので当たり前だが、メンテ考える必要がないので楽。

ホストの移行も楽

今後Netlifyの無料枠が改悪されて有料になったとしても静的コンテンツなので移行も楽。

好きなエディタが使える

Vimでマークダウンをかけるのは良い。

Hugoのいまいちなところ

テーマの使い勝手

デフォルトのテーマが明示的に設定されていないようで、事実上デフォルトのような扱いのAnankeもデザインが微妙な気がする。他のテーマも多言語切り替え機能が実装されていなかったりと品質がまちまち。テーマのデザイン性はGhostに軍配が上がる印象。

移行を終えて

いまのところいい感じに運用できている。Netlifyの無料枠はそのうち改悪されそうな気がするけど、静的サイトのホストのために自前でWebサーバ運用する必要はもうないのかもしれない。