このブログをご覧のみなさん、こんにちは。

決して、WordPress をディスるわけではないのですが、以下の点を何とかしたいなと思っていました。

  1. 管理画面を晒し続けるセキュリティ面でのリスクおよびメンテナンスコスト
  2. 投稿するまでの心理的障壁

管理画面を晒し続けるセキュリティ面でのリスクおよびメンテナンスコスト

個人ブログで表から見えるところに管理画面を置く必要性がどこまであるのか?というのが疑問に思えていました。これはリンクや表示を消したとしても知っている人は容易にアクセスできます。 しかも、大して1書かないのにメンテナンスコストはずっとかかるわけですよ!

投稿するまでの心理的障壁

管理画面が表にあれば、ログインしてから記事を書くことになります。ブラウザを開いて、ログインして、記事を書いて、推敲して、WordPress の勝手な変換をされないように注意して……ってなっているとなんか途中で気が滅入って、面倒になってきてってなって、何個もの記事がお蔵入りしてしまったという事態に。

で、どうするか?

WordPress の Azure への移行を契機にこの辺りを変えてしまおうと思い立ちました。課題を解決するためにもう静的サイトジェネレータ (Static Site Generator) の何れかを使うことはほぼ決まっていたのですが、どうせ使うなら使ったことが一切ない Hugo がいいなぁと思って、WordPress から Hugo への移行を検討し始めました。

移行条件

という具合にあれこれ検討し始めていると、例のごとくやりたいことがどんどん積み重なっていって、それに夢中になるという始末で、一旦以下の条件を定めました。

  • Git ですべて管理する
  • 既存のすべての記事を移行する
    • 詳細は後述しますが、あまりにも量が多いので順次移行

以下は移行作業をしている最中に思いついた追加条件

  • Azure Content Delivery Network(CDN) を利用する
  • Azure DNS を利用する

WordPress から Hugo へのエクスポート

[WordPress to Hugo Exporter][2] を使うと画像までひっくるめて zip ファイルにまとめてくれます。

Hugo へのインポート

Hugo をローカルにインストールして閲覧できるようにします。

$ brew install hugo

その後、インポート用に Hugo でサイトを生成します。

$ hugo new site blog
$ cd blog
  • まず全体設定を config.toml に記載
  • 移行した各記事内容を content 配下に入れ、Markdown で記述
  • 記事のリソースを static 配下に移動

[WordPress to Hugo Exporter][2] を使って移行したところ、私が使用していた WordPress のプラグインと相性が悪いようで、一部の Slide へのリンクなどが綺麗さっぱり消えていたため、順次記事内容をチェックしつつ移行している最中です。


  1. これは私が悪いんですが [2]: https://github.com/SchumacherFM/wordpress-to-hugo-exporter ↩︎