昔のブログからの記事の移行(Hugo→WordPressへ)
新しくブログを開設するときに、以前のブログ記事を移行させました。この記事では、Hugoという静的サイトジェネレータで作成したものをWordPressの新しいブログへ移行させた時の手順について書いています。
内容的にはMarkdownで書かれたサイトの記事のWordPressへの移行の記録になります。
はじめに
以前、私は静的サイトジェネレータ「Hugo」を使用してサイトを作成していました。今回、新たにブログを始めることになり、過去記事を移行することにしました。まず、過去サイトのメンテナンスが面倒になったので止めようと思ったのと、書かれている記事の内容は確率・統計に関するものなので古くならないため、サイトを止めるのと一緒に消えるのはもったいないと思ったからです。
問題ありで、google search consoleでインデックスされなくなってしまっていました。原因がパッと見えないので、これを解消するのも手間。
ここでは、HugoからWordPressへ記事を移行した手順について説明します。Hugoでなくても、Markdownの記事をWordPressへ移行させる場合の参考になればと思います。
そもそも、Hugoって何?
Hugo(ヒューゴ)は、オープンソースの静的サイトジェネレーターです。記事は、Markdownで記述しておき、それをビルド(生成処理)することで、htmlデータに変換するものです。他の静的ジェネレータと比較してとにかく高速という点がポイントです。
また、netlifyなどのサービスと連携させると、記事を書く→GitHubに登録→ビルド→公開を自動で行うことができてかなり便利でした。
ただ、コードを直に修正・追加して設定する部分もあり、1年ほど記事追加だけしてコードを見ていない、どうやって変更するのかを思い出すのが大変だったり、色々トラブルが発生した場合に修正た大変だったり以外とデメリットも多かったです。
トラブルシューティングのWeb記事を探すのも結構大変でした。WordPressは、とにかくWebに情報が溢れているので、困った時に検索すればすぐにわかるというのは大きな利点だと思います。
移行の手順
GitHubから記事のmarkdownファイルを貼り付け
WordPressの記事を新たに作成し、そこにGitHubで.md
ファイルをCodeで表示して記事を直接貼り付けます。WorkPressのブロックエディタは、markdownをコピペすることができるみたいで、この状態で装飾を含めてある程度は再現されます。
自分の場合は、数式を大量に使っていたのでSimple MathJaxというプラグインをWordPressにインストールして追加する必要がありました。markdown側もMathJaxで数式を表示していたので、ほぼそのまま再現できますが、一部改行などがおかしくなる部分があったので、手修正しました。
Simple Mathjaxで数式がおかしくなる理由は、もともとの数式の書き方がおかしかったというのもあります。Hugoの方では正しく表示されているように見えたので気づかなかった感じです。
プレビューしながら修正
Hugoには、Shortcode(以下、ショートコード)という機能があって、Markdown内に{{< ショートコード名 >}}
と記述することで、定義したテンプレートを埋め込むことができる機能があります。この部分はコピペで反映されませんので、これを直していく必要がありました。
ショートコードは、自身でカスタムしていることもあり、さすがに移行は簡単ではありませんでした。
例えば以下のコードは「box4枠で、文章を囲む」という指示になりますが、このような部分を全て修正していく必要があります。
{{<box4 title="独立って">}}
ふつうは、コインの表が出たからといって、サイコロの目の出やすさが変わることはありません。簡単に言えば、このようにそれぞれが関係を持たないものが独立となります。
一方、サイコロの偶数がでる・でないと、6の目がでる・でないには、関係があります。例えば、奇数がでた場合は、その目が6であることはありません。こういう場合は、独立ではないことになります。
{{</box4>}}
作業的には、プレビューをしながらおかしくなった部分を探し、それを1つずつ修正していくという作業になります。凝ったサイトであればかなり大変かもしれません。
ただ、Markdownの基本的な部分は、ペーストするだけで反映されるので、ある程度は自動でいけます。
まとめ
私のブログの場合、Markdownで書かれた記事を、WordPressに移行するのはそれほど大変ではありませんでした。
「画像などがほとんどない」「独自の装飾はあまりしていなかった」というのもあったかと思います。
懸念していた数式もサクッと移行することができたのには驚きました。また、表もそのまま移行可能でした。WordPress側がMarkdownに対応(?)してくれているのはかなりありがたいです。