Edited at

ブログはWordpressは辞めて、全て静的サイトジェネレーターに移行したい


概要

簡単にブログを作ることができる静的サイトジェネレーターが沢山あるのに、使いづらいWordPressを使った案件が多いのと、静的サイトジェネレーターの魅力を紹介している記事が少ないかな?と思ったので、今回記事を書いてみました。

ちなみに、私のポートフォリオサイトはHUGOで実装していますが、無料で運用出来ています(正確には、HUGO + PostCSS + Netlify)

かかっているお金はドメイン代のみです(独自ドメインじゃなければ、全て無料で利用可能)

ポートフォリオサイト

2019/01に、認証を導入したいと思ったので、GatsbyJSにリプレースしました。

昔のHUGOのポートフォリオサイトは、GithubのRepositoryに移動させました。


なぜWordPressを辞めたいのか


定期アップデートが面倒・やりにくい

まず一番これが問題だと思っています。

WordPressはプラグインを追加すればするほど、本体のアップデート・更新が行いにくくなります。

何故なら、本体のバージョンを上げるだけで、入れているプラグインが動作しなくなることがあるからです。

アップデートを行うことができないと言うことは、DBと紐づいているシステムでは、セキュリティを上げることができないと言うことです。


無駄にお金がかかる(コスパが悪い)

サーバーを契約する料金や、制作会社によってはアップデートを行うだけでお金を取られます。

静的サイトジェネレーターはDBいらずなので、サーバーの料金もかからないし、

DBと紐づいていないのでセキュリティの心配をする必要はありません。静的サイトジェネレーターのバージョンを上げるとすれば、新しく追加された機能を使いたい時ぐらいです。

静的サイトジェネレーターなら必要がない、アップデートを行うだけで年間数万円、一回のアップデートでも何千円も払う必要があります。


プラグインにバグがある事がある

全てではありませんが、プラグインそのものにバグがあることがあります。

また、WordPressは元々簡単にブログが作れるツールで、Webサービスを作るために作られたものではないので、

無理にプラグインを入れたら、動作がおかしくなることがあります。


マイグレーション機能がない

マイグレーションとは、SQLを書くことなくテーブルを書き換えてくれる機能です。

これにより、ローカルとリモートのDBを合わせることができます。

WordPressにはマイグレーション機能がないので、ローカルとリモートのDBを合わせる場合は、全て手動で行わなければいけません。

マイグレーションについては、詳しくはこちらをご覧ください。

Rails初心者がつまずきやすい「マイグレーション」


本格的なWebサービスが作れない

これも上記のマイグレーション機能と関係があるのですが、本格的なWebサービスを作るのには向いていません。

例えば、「多言語対応」「ログイン・認証機能」等はプラグインを追加しないといけませんが、プラグインがバグる事があるので、オススメできません。


最新のサービスと照らし合わせて、あらゆる機能・プラグインが中途半端

昔は難しかったサービスが、他社が提供しているライブラリを使えば、簡単に使うことができるようになっています。



  • フォーム


    • ContactFormなんか使わなくても、Googleが提供しているGoogleFormがある。


      • 当然、個人が開発しているContactFormより、セキュアであり開発も活発。




    • NetlifyFormsを使う。




  • 多言語対応


    • HUGOがデフォで対応。




  • 認証




  • サイト内検索


    • 実装コストの割に、必要性を感じない。



      • 30%のユーザーしかサイト内検索は使わない


        • 検索ファーストなサービスは別(ECサイトとか)



      • その30%はその後どうするのかというと、オーガニック検索で欲しい情報を探す(と、思う。これは主観です。HUGO install で検索とか)



    • それでも導入したい場合は。






  • タグ・カテゴリー検索(リンク検索)


    • 大体の静的サイトジェネレーターが、デフォで対応している。




  • 管理画面



上記に挙げたものは、私が実際に環境を構築し、ライブラリを導入。きちんと動く事を確認したものに限らせて頂きましたので、他にもやり方は沢山あると思います。


誰でも簡単に出来るから

WordPressは誰でも簡単に出来るので(技術者じゃない事務の方でも出来ます)、今更出来たとしても、大してスキルになりません。

という事は、個人のレベル上げにもなりません(スキルが貯まらない)。

「車もあるし、もしかしたらもっと便利なものがあるかもしれないのに、馬車でも動くからいいじゃん」

なんて言ってるようなものです。

PHPでレベル上げしたいなら、普通はLaravelを使います(それでもGolangに押されてる感はしますが・・・)

Single Page Applicationでもありません。


近い将来Reactに移行する可能性が高いから

WordPress5.0になると、エディターがGutenbergになります。

GutenbergはReactベースで開発されており、さらにWordPressがReactでの開発を進めています。

当初はライセンスはFacebookだった為開発が中断されていましたが、MITに変更された為、再度Reactで開発を進めているそうです


  • Reactに移行したら、おそらく既存の制作会社はついていけない。


    • 恐れずにあえて言うなら、個人的には、枯れた技術に頼っている制作会社が淘汰されるなら、新陳代謝が高まって非常にいい事だと思っているので、早くWordPressはReactに移行して欲しい。



  • PHPなのだから、裏側は「Larabel」、表側は「React」とかになってくれたら、めちゃくちゃ最高だと思っている!


    • だがそうなるとコスト高すぎるので、コーポレートサイトとかはやっぱり静的サイトジェネレーターとかで実装したい。




何故静的サイトジェネレーターをオススメするのか


セキュリティの心配をする事がほぼない

静的サイトジェネレーターは、WordPressと違いDBと紐づく事なく、記事の作成・更新が可能。

そもそもDB自体がないので、セキュリティの心配をすることはほぼありません。


動作が早い

WordPressは記事を表示するために、一度PHPがDBへアクセスをして、記事を動的に表示させるため、記事の表示が遅いです。

静的サイトジェネレーターはDBと紐づいていないので、記事の表示がとても早いです。

記事の表示速度は、SEOでも非常に重要な要素です。


バックアップを取る必要がない

なぜバックアップを取る必要がないかというと、「Repositoryに記事データが全て格納されているから」です。

WordPressは記事データはDBにあるので、ハックされて記事を削除されたら終わりです。

Repositoryに全てのデータが格納されているので、過去に戻りたい場合はbranchを掘り起こせばいいですし、

仮にデータを削除されたとしても、自分のPCにデータが全て残っています。


種類が多い

これは沢山ツールがあるので迷ってしまうと言うこともあるのですが、静的サイトジェネレーターは種類が多いので、目的の用途にあったものを使う事ができます。

種類は、ここで色々と見る事ができます(GithubのStar付き)https://www.staticgen.com/


サーバー構築が簡単

大体の静的サイトジェネレーターが、無料でGithub PagesもしくはNetlifyでサーバーを構築できます。

また、DBと紐づいていないので、buildしたものをアップロードするだけで、簡単にブログを更新する事ができます。

DBを使わない為、サーバーの料金もほぼ全て無料で利用できるので、お財布にも優しいです。


応用範囲が広い

全ての静的サイトジェネレーターには、元となる言語・およびその言語で作られたフレームワークがあります(VuePressなら、Javascript・Vue.js)

よって、静的サイトジェネレーターの技術を習得すれば、他の技術にも転用が可能です(VuePressなら、Vue.js製なのでもちろんVueのプロジェクトにも、Nuxt.jsにも技術転用が可能)

HUGOであればGolang製なので、開発に必要なパッケージはdepで取ってくる経験も出来るでしょうし、

GatsbyJSであれば、React.js製なので、Reactのプロジェクトでも技術転用が出来るでしょう。


まとめ

まとめますと、WordPressは

中途半端過ぎて本格的なWebサービスが作れず、技術の習得範囲がかなり狭く(またかなり古い)、かつ今なら容易にブログを構築できる静的サイトジェネレーターが豊富にある為、

そろそろWordPressの案件は辞めたいな〜と思っています。