Wordpressの終わりの始まりが見えた?(気がする)
自分のサイトを育てるという意味でも前から記事を書かないと、、と思いつつ、すでに数年。
年末も近づいてきて比較的時間に余裕が出来てきたので、今のうちに1つだけでも記事を書こうと決心。
記念すべき1発目の記事のテーマは「Wordpressの終わりの始まりが見えたことについて」。
2021.12.20時点で、W3Techsによると世界中で4割のシェア率、そして日本国内でも8割以上のシェア率を誇るwordpressが終わるとは考えらないかもしれない。
長年CMSの頂点として君臨するWordpressが終わるということはどういうことなのか。
なぜ僕がWordpressの終わりの始まりが見えたと思ったのかを初心者の方でも分かるように考察していきたい。
Wordpressの終わりが見えたきっかけ
いつもWordpressには非常にお世話になっている。いろんな企業様の新規事業やサービス開発時には開発コストがかけられないため、安価でスピーディにプロトタイプを作成する場合はWordpressを採用することがある。
いまでこそHerokuやVercelなどWebサービスの開発を促進してくれるサービスが世の中には出てきており、比較的安価にスピーディにプロトタイプのサービスを作成することができるが、Wordpressとそのプラグインの組み合わせで作成できるものについては、GUIのみで対応ができるWordpressの方がやはり手間が少なく、野毛で浴びるようにお酒を飲んだ泥酔中でも対応ができる。
それくらいWordpressは簡単にいろんなものが作成でき、それ所以に世界中で人気ということだ。
しかしGoogle Trendで世界規模でWordpressのトレンドを見てみると、2014年をピークに現在は下降中だ。
ではなぜ僕がWordpressが終わるかもと思ったのかというと、Wordpressそれ自体に問題があるのではなく、新しい技術としてのNuxtやNextでSSG、ISRという技術が成熟してきたからだ。
SSG、ISRとは
Wordpressの話の先にSSGとISRを説明をしたいと思う。
SSGとISRというのはWeb業界にいる人間でも、まだ聞いたことがない、または聞いたことはあるけどどういうものかは知らないという方がいると思う。
自分も初めてこの3文字に出会ってから理解するまでには苦労した。
というのも、この3文字の前にはさらにCSR、SSRというものがあり、順を追っていかないと理解ができないからだ。
これら合計4つの単語についての詳細説明は別記事で説明をするが、誤解を恐れずざっくりと説明をすると
CSR < SSR < SSG
の順でサイトの表示速度が早いのだ。
(※ISRについては速さとは無関係だが、あえて上記の関係に入れるのであれば SSG=ISR だろう)
CSRについて
CSRとは「クライアントサイドレンダリング」といい、自身のPC上のブラウザ上で実行されるJavaScriptをきっかけにサイトの描画に必要なデータを取得し、描画(レンダリング)されていく。
要はIKEAのように机を組み立てるための材料を買ってきてから、家で組み立てるようなものだ。
ちなみにSPA(シングルページアプリケーション)などはこれに該当するため、1ページを開くのに猛烈に時間がかかる。
※別ページへ遷移する際は必要なデータのみを取得するだけなのでかなり早い。
SSRについて
続いてSSRについて。
SSRはサーバーサイドレンダリングと呼ばれ、自身のPC上のブラウザから、とあるウェブサイトにアクセスをすると、サーバー上でJavaScriptが実行され、必要なデータを取得しhtmlを作成、そしてブラウザに完成されたhtmlとして返ってくる。
PC(ブラウザ)には完成したhtmlとして返ってくるため、CSRと異なり1ページ目の表示が早く、CSRでよくあるデータ取得の待ち時間中のレイアウト崩れがない。
こちらは IKEAで例えると、お店で材料を調達し、お店でスタッフに組み立てもらって配送する感じだろう。※IKEAの「組み立て配送パック」に該当。
SSGについて
そして最後にSSGだ。
SSGというのはサイトを開発した後、本番サーバーにアップするファイル群を作る作業時(ビルド時)にJavaScriptが実行される。
具体的にはビルド時にJavaScriptが実行され、必要なデータを取得、取得したデータを元にhtmlを作成する。
つまり、本番サーバーにアップするhtmlファイルには、すでに必要なデータが埋め込まれた状態でhtmlが作成されている。
このファイルを本番サーバーにアップしていると、ブラウザからとあるサイトにアクセスがあった場合、サーバー側はすでにデータが埋め込まれた状態のhtmlファイルをブラウザに返すだけなので、サイトにアクセスした後の無駄な処理がなく極めて最速なのだ。
そして、このSSGを可能にしているものがフロントエンドフレームワークのNuxtやNextになるのだ。
ちなみにISRというのは Incremental Static Regeneration (インクリメンタル・スタティック・リジェネレーション)という、ただただ入力するのも発音するのも嫌になるようなものだ。
ざっくりと説明をすると、例えばブログ上で新しい記事を作成した後、SSGでは毎回ビルドをしないとhtmlを作成してくれないが、ISRでは追加した記事に該当するhtmlファイルを自動でビルドして作成してくれるのだ。
SSGは最速でユーザー側には魅力的だけど、記事を書くたびに毎回ビルドしないといけないから運営側からしたら実は結構めんどうだよねってことで考えられたのがISRだ。
これにより、ユーザー側にも運営側にも優しい環境ができ、2021年現在のフロントエンド界隈ではこの環境が一番魅力的だよねとなっている。
そしてWordpressの立ち位置
Wordpressに入る前にかなり長くなってしまったが、Wordpressでは上記の4つのCSR, SSR, SSG, ISRの中ではCSR, SSR の中間に位置すると思われる。
Wordpressではブラウザからウェブサイトにアクセスがあったタイミングで、アクセスを起点にサーバー上でphpによるhtmlファイルの生成が始まる。
そしてサーバー上でJavaScriptは実行されないので、生成されたhtmlファイルとjsファイルが一緒にブラウザに返ってくる。そしてブラウザ上(クライアントサイド)でJavaScriptが別途実行される。
この一連の処理がWordpressの流れだ。
レンタルサーバー最強のxserverや国内にリージョンのあるAWS等であればサーバー側の処理はあまり気にならないが、ブラウザ上(クライアントサイド)でのデータ取得の処理の遅さはやはり気になる。
Google サイトの表示速度を求めるってよ。
SEOの専門家などであれば常識だと思うが、近年のGoogleはサイトの表示速度もSEOのランキング要素の1つとしてアルゴリズムに組み込んでいるらしい。
一方でただでさえ近年のサイトはデータ量が増えているにもかかわらず、Wordpressではプラグインによる不要なコードが表示されたり、またサーバー側で実行される無駄な処理を完全にコントロールするのが非常に難しい。
汚い話だか、お金をもらえれば時間や手間をかけて改善することは可能だろうけど、そこまでしてWordpressを利用する理由もないし、コントロールが難しいものについては、エンジニアであっても良い結果を出すことが難しい場合もある。
もし、SEO対策のためにサイト表示速度の改善をされたいのであれば、それこそNuxtやNextに移行するのが良いだろう。
※もちろんNextなどを利用しても不要なコードを書いていれば、PageSpeed Insights では点数が下がるが。
今後はCMSはWordpressである必要がない
これまではブラウザからサイトにアクセスをすることで、サーバー上(wordpress側)でhtmlファイルの生成がされ、ブラウザにhtmlが返却されており、Wordpressとhtmlファイルの生成が密の関係だった。
しかしNextやNuxtを利用する場合は、開発後のビルド時にhtmlを作成してしまうのでWordpressとhtmlファイルの生成は無関係となる。
つまりCMS側はWordpressである必要がなくなるため、ユーザーが記事の投稿がしやすいCMSに移行することができる。
いまではContentfulやmicroCMSなどがある。記事の投稿だけであれば Wordpressよりも優れたUIをしているので、今後の有力な選択肢となる可能性がある。
Wordpressセキュリティ
これは避けては通れない話だ。
Wordpressは世界中で人気のCMSだ。素晴らしいオープンソース。
逆に言えば世界で一番ハッキング(クラッキング)に恐れのあるCMSでもある。
僕もたまにハッキングを受けたWordpressベースのサイトの復旧対応をすることがあるが、ほとんどの原因はWordpress本体、もしくはプラグインの更新の怠りだ。
そりゃあ開発者が制作後もずっと管理をしてくれるのであれば問題はないだろう。ただ、その分管理費を依頼者は払い続けないければいけない。ほとんどの依頼者は毎月の管理費の支払いをするのは嫌がる。(自分も無駄だと思う保険料は払い続けたくないから気持ちは凄く理解できる。)
昔、僕が復旧対応した案件で、とある官公庁主催のサイトがハッキングを受け、そのサイトの運営をしていた会社が責任を取らされそうになったことがある。聞いたところ復旧ができなかった場合の損害賠償は億単位にもなる恐れがあったという。
これは極端な話にはなるが、普通の企業であってもサイト上で集客などが盛んであればハッキングを受けた際の被害額は数万〜数百万になることがあるだろう。
それであれば企業側もちゃんと自身で定期的にサイトを更新するか、プロに任せて管理を任せるのが一番安心で安上がりだ。
これは宝くじと期待値の関係の話と似ている。
宝くじを購入し続けることで大体の購入者は基本的には負け続けるが、もし大きい金額が1発当たったらそれまでの負け金額をひっくり返すことができる。
負け続ける確率と勝つ確率を慣らした確率としての期待値はそうやってバランスをとっているらしい。
同じように、サイトの保守費をケチってサイトを放置するのも、一見お金が出ていないので勝ち続けているように見えるが、1発大きなハッキングを受けた場合、それを復旧する場合の費用と復旧できなかったお金に変えられないデータは、それまでの勝ちを一気に負けへとひっくり返す。
話が外れてしまったが、前述のようにCMSを変えられるということはセキュリティがちゃんとしたCMSへ乗り換えることができるということだ。
プロの制作側としてはその点も踏まえてWordpress以外の選択肢もクライアントに提案はするべきだろう。
制作側とクライアント側の問題
以上が僕が思うWordpressの終わりが見えた理由だ。
技術面から見てみるとWordpressで高品質なサイトを目指すのはかなり難しいことが分かる。
また、セキュリティ面についても保守管理せずに安全を担保することは難しいだろう。
もちろん厳密には異なるが、これまではサイトを制作しようと考えた時に、Wordpressしか選択肢がない状態だった。それは制作側もクライアント側にとってもだ。
Wordpressは手っ取り早くサイトを制作できるし、自由度も高くカスタマイズをすることができる。(もっとも本気でカスタマイズをするのであればLaravelやDjangoなどを利用するが。)
ただ、Wordpress以外の選択肢が出てきた今では目的にあった選択肢を選ぶべきだし、制作側は技術不足を理由にWordpressのみの提案をすべきではない。
これは僕ら制作側の問題が大きい。
制作側は知っていると思うが、NextはReact、NuxtはVueを元にしたフロントエンド側のフレームワークだ。そしてReact, VueはJavascriptをゴリゴリにかけなければいけない。
これまでにいろんな制作会社と仕事をしてきたが、会社によっても技術の差はかなり開いており、Wordpressも満足にカスタマイズできない制作会社もあれば、NextやNuxtを手足のように扱ってるような会社もある。(どちらも少数だが。)
NextやNuxtを取り扱えるようになるまでには、押さえておかなければならない知識や技術が多く、Wordpressに比べて難易度もはるかに高いため、今後は制作会社としてもできる企業とできない企業とで二分されていくだろう。
クライアント側もこの企業を見分けられれば良いが、なかなか難しいだろう。
そういった場合はぜひ Butter's Design に技術相談だけでもして欲しい。なんなら依頼してください。
泥酔状態ではたぶん作りません。
今後のWordpressの利用方法
さて、後半はWordpressの微妙な点が目白押しとなってしまったが、冒頭にも述べたようにやはりWordpressは安価でスピーディにサイトを制作できるため、とりあえずサイトを作りたいという希望をもったクライアント様にとっては最適解になるだろう。
また、Wordpressを取り扱えるエンジニアの方はかなり多いので、困ったことがあればすぐに助けを求めることができることも魅力的だ。
個人的な見解にはなるが、ざっくりと
- 安価で早期納期を希望 → Wordpress
- Webサービスのビジネスモデルを確認するためのプロトタイプの開発 → wordpress
- セキュリティや表示速度の早い高品質なサイトを希望 → NextやNuxtなどを利用したサイト
と、こんな感じに分けるのを1つの目安として欲しい。
長くなったが、僕は決して反Wordpress派ではないし、これからも利用することはある。ただ、これまでに述べたようにWordpressでは速度面でもセキュリティ面でも、カスタマイズ性の面からでも限界がある。
僕らはクライアントの希望する仕様やビジネスの目的に沿った提案を可能にするために、日々勉強をして自分のスキルを持ってクライアントのお手伝いをさせていただいている。
この記事が誰に向けた記事というものでもないが、ひとまず僕が思っていたWordpressを一辺倒に提案する制作者とWordpressしか選択肢がないと思っている方の目に入り、自分の行っていること、やろうとしていることが本当にそれで良いのかと考えるきっかけとなれば良いなと思う。