Reactとプラグインで実現するWordPressヘッドレス化Webサイトの作り方

Reactとプラグインで実現するWordPressヘッドレス化Webサイトの作り方

WordPressのヘッドレス化システムは、webデザイナーや開発者がより効率的にWebサイトを構築・運用するための手助けとなります。ただし、この概念に初めて触れる場合、その仕組みを理解するのに苦労するかもしれません。さらに、自分のプロジェクトにとって本当に適したソリューションなのかどうか、迷っている方もいるでしょう。

そこで本記事では、WordPressのヘッドレス化について簡単に理解できるガイドをご用意しました。バックエンド専用のコンテンツ管理システム(CMS)の世界を深掘りすることで、ヘッドレス構成がご自身のweb開発プロジェクトに適しているかどうか判断できるようになります。

この記事では、WordPressヘッドレス化の仕組みを詳しく解説し、そのメリットとデメリットについてもご紹介します。さらに、実際に始めるための手順や、活用できるツールもいくつか取り上げます。それでは、さっそく見ていきましょう。

WordPressヘッドレス化とは?

ほとんどのCMSには、フロントエンドとバックエンドの両方が存在します。WordPressのWebサイトでは、バックエンドは管理パネルやコンテンツ管理ツールで構成されています:

一方、フロントエンドとは、訪問者がWebサイトにアクセスしたときに目にするすべての要素を指します。通常、このコンテンツはアクティブなWordPressテーマによって表示されます:

WordPressをヘッドレス化すると、「ヘッド(フロントエンド)」を「ボディ(バックエンド)」から切り離すことになります。このようにすることで、慣れ親しんだダッシュボードはそのまま使いながら、WordPress特有のフロントエンドの制約から解放されます。

ヘッドレスCMS構成では、WordPressがコンテンツをデータとして提供します。これは、(REST)アプリケーションプログラミングインターフェース(API)を通じて実現されます。WordPressに組み込まれたREST APIエンドポイントにネットワークリクエストを送ることで、この情報にアクセスできます。その結果、コンテンツを自由にカスタマイズしたフロントエンドで表示することが可能になります。

WordPressのデータは、モバイルアプリやシングルページアプリケーション(SPA)など、ユニークな環境でも活用することができます。次のセクションでは、ヘッドレスシステムを導入することによるメリットを詳しく見ていきましょう。

WordPressをヘッドレス化すべきかどうか判断する方法

複数のプラットフォームで同じコンテンツを使い回すことは、決して珍しいことではありません。例えば、大手eコマース企業のAmazonは、オンラインストアと専用モバイルアプリの両方を運営しています。これら2つのチャネルでは、同じコンテンツが表示されています:

ヘッドレス型のeコマース構成を採用すれば、同じデータを複数のプラットフォームで共有することができます。これにより、複数のチャネルで一貫した運用を維持しやすくなります。

ヘッドレス化されたWordPressは、すべてのプラットフォームにおける中央リポジトリとしても機能します。これにより、すべてのチャネルでコンテンツの一貫性を保つことができます。さらに、一度コンテンツを編集すれば、その変更内容は他のチャネルにも自動的に反映されるため、管理の手間を大幅に削減できます。

ヘッドレス構成では、コンテンツがAPI経由で提供されるため、好みのフロントエンドツールを自由に使用できます。すでに使い慣れたツールを選べば、ページの設計や開発にかかる時間を短縮することができます。

プロジェクトの進行に伴い、新しいツールの導入や別の技術への切り替えが必要になる場合があります。その点、ヘッドレス構成であれば、CMSに影響を与えることなく、使用する技術スタックの一部を変更したり、別のフレームワークへ移行したりすることが可能です。これにより、変化するニーズに応じて、プロジェクトを柔軟に調整し続けることができます。

この柔軟性は、バックエンドに限った話ではありません。WordPressのフロントエンドを切り離すことで、テーマやプラグインへの依存も排除できます。たしかに、WordPressには豊富なサードパーティ製ソフトウェアのエコシステムがありますが、テーマやプラグインはあくまでWordPressのフロントエンドの仕様に制約されています。これらの制限を取り除くことで、コンテンツの見た目やWebサイトの機能性をはるかに自由にコントロールできるようになります。

WordPressヘッドレス化に伴う課題の見極めと対処法

ヘッドレス化されたWordPressは、デザイン面でも開発面でも高い自由度を提供してくれます。しかし、その柔軟性には代償も伴います。

フロントエンドを自作するには、時間がかかる上に、ストレスを感じる場面も少なくありません。また、相応の技術的知識が求められ、膨大なコードを書く必要があることもあります。

WordPressには、そうした作業の大部分を担ってくれるWordPressフレームワークやツールも存在しますが、それでも既成のWordPress機能を使うのに比べると、フロントエンド構築はやや複雑です。

たとえWebサイトを正常に公開できたとしても、ヘッドレス化されたWordPressサイトは、通常より多くの継続的なメンテナンスを必要とします。フロントエンドを手動で構築しているため、変更作業もすべて手動で実装しなければなりません。新しいコンテンツの公開や、デザインの編集も例外ではありません。

WordPressにおいて、テーマやプラグインは重要な存在です。しかし、WordPressをヘッドレス化すると、それらの追加ソフトウェアはすべて使えなくなります。新しい機能を追加したり、デザインを変更したりする場合も、すべてコードで実装する必要があります。

独自に仕組みを開発しない限り、ヘッドレス化されたWordPressには、WYSIWYG(見たまま編集)エディターやライブプレビュー機能がありません。そのため、コンテンツがフロントエンドでどのように表示されるかを事前に把握するのが難しくなります。

ヘッドレスWordPressサイトの作り方

フロントエンドを自作するのは、決して簡単な作業ではありません。とはいえ、それをサポートしてくれる便利なツールも存在します。ここからは、できるだけ手間をかけずにWordPressをヘッドレス化する2つの方法をご紹介します。

ReactフレームワークでヘッドレスWordPressサイトを構築する方法

WordPressのCMSに対応したフロントエンドを構築するのは、時間がかかり、かつ複雑な作業になることがあります。そのため、多くの開発者はフレームワークの活用を選択しています。

ReactというJavaScriptライブラリを使えば、カスタムのWordPressフロントエンドを構築できます。この人気ライブラリには、WordPress REST APIを介してCMS内のデータにアクセスするための機能が一通りそろっています:

Reactフレームワークは、再レンダリングの必要性を排除することで、ヘッドレスプロジェクトのパフォーマンスを大幅に向上させることができます。つまり、プロジェクトの基盤となるコードは最初に一度だけ読み込まれます。

コンポーネントの状態が変化した場合、Reactフレームワークは影響を受けた部分だけを再レンダリングします。この仕組みにより、Reactベースのフレームワークは、SPA(シングルページアプリケーション)を構築しようとしている開発者に特に人気があります。

もともとはFacebook向けに開発されたReactですが、現在では多くの大手企業にも採用されています。その中には、Airbnb、Dropbox、Netflix、Redditといった企業も含まれます。

これだけ多くのグローバル企業に支持されていることから、Reactには公式ドキュメント役に立つチュートリアルをはじめとした、非常に充実したオンラインサポートが整備されています。

問題に直面した場合でも、関連する回答や解決策は簡単に見つけられるはずです。

Reactを初めて使う方や、そもそもフレームワークの利用が初めてという方にとっては、これは大きな安心材料です。

Reactライブラリそのものを使う選択肢もありますが、Reactベースのフレームワークもいくつか存在します。その中には、WordPressユーザー向けに最適化された構成があらかじめ用意されているFrontityプロジェクトなども含まれています。

他にも、Reactベースの人気フレームワークには、オープンソースプロジェクトのGatsby.jsや、Vercelが開発しているNext.jsなどがあります。このように多くの選択肢があるため、ご自身のプロジェクトに最適なものを比較検討して選ぶことができます。

プラグインを使ってヘッドレスWordPress Webサイトを構築する方法

WordPressには、ほとんどあらゆる作業を支援するプラグインが用意されています。ヘッドレス化の設定においても、導入をスムーズに進めるための優れたプラグインがいくつか存在します。

ここでは、活用できる強力なプラグインを2つご紹介します。

1. WPGraphQL

WPGraphQLは、ヘッドレス化されたWordPressからデータを取得するための無料プラグインです。このプラグインには、GraphQLの統合開発環境(IDE)が組み込まれており、プロジェクトのGraphQLスキーマを閲覧したり、クエリやミューテーションのテストを行ったりすることができます。

WPGraphQLは、内部的にWordPressのWebサイトをGraphQL APIへと変換します。

つまり、GraphQLエンドポイントにHTTPリクエストを送ることができる任意のクライアントから、このプラグインとやり取りできるということです。

WPGraphQLは、Apollo Client、Next.js、Gatsby.jsなどのフレームワークと組み合わせて使用することを前提に設計されています。Gatsbyを利用している場合は、Gatsby source plugin for WordPressもあわせて確認するとよいでしょう。

このソースプラグインを使えば、インクリメンタルビルドを高速で実行できるほか、CMS内のコンテンツをプレビューすることも可能です。そのため、Gatsby.jsを使う予定がある場合は、WPGraphQLの利用を検討するとよいでしょう。

主な機能:

  • WordPress Webサイトに対応した拡張可能なGraphQLスキーマとAPI
  • 複数のルートリソースへのアクセス
  • 関連リソース間の参照をたどる機能
  • 豊富なドキュメント

料金: このプラグインは無料でインストールできます。

2. CoCart – ヘッドレスeコマース向けプラグイン

オンラインショッピングは、かつてのようにパソコンだけで完結するものではなくなっています。

2020年第3四半期には、アメリカにおけるオンライン注文のうち56%がスマートフォン経由で行われました。このことから、現在多くのオンラインストアがモバイルアプリを開発している理由がよく分かります。

複数のプラットフォームでオンラインストアを展開する場合、WooCommerceのようなソリューションをヘッドレス構成の一部として活用するのも有効です。ただし、WooCommerceにはREST API経由でのカート機能のサポートが標準では備わっていません。

そこで活躍するのが、CoCartという無料プラグインです。このプラグインは、WooCommerceのカートにアクセスできるAPIを提供しており、ヘッドレス構成の一部として簡単に組み込むことが可能です。ゲストとしてのチェックアウトにも対応しており、基本的な認証機能も備えています。

管理者やショップマネージャーであれば、CoCartを使ってセッション中のカートを確認することができ、顧客がショッピングカートに追加した商品も把握できます。こうした点から、CoCartはヘッドレスeコマース構成において非常におすすめできるプラグインです。

主な機能:

  • WooCommerceのカートにシンプル商品、バリエーション商品、グループ化商品を追加可能
  • 商品アイテムの更新、削除、復元に対応
  • 複数のドメイン間でソフトウェアを利用可能
  • 100種類以上のCoCartフィルターおよびアクションフックを利用可能

料金: このプラグインは無料でダウンロードして利用できます。

WordPressヘッドレス化におけるベストプラクティスの実装方法

ヘッドレスWordPressサイトには、多くの利点があります。特に、柔軟性や再利用性の面で優れています。しかし、その利点を最大限に活かすためには、いくつかのステップを踏む必要があります。

従来、WordPressサイトの運営者は、Yoast SEOのような専用プラグインを使って検索エンジン最適化(SEO)を管理していました。しかし、ヘッドレスWordPressでは、SEOプラグインにあるような簡単に導入できる仕組み(プラグアンドプレイの簡便さ)は利用できません。

検索エンジンでコンテンツを上位に表示させるには、Schema.orgが提供する構造化データマークアップを活用することが重要です。構造化マークアップを使用することで、検索エンジンがコンテンツの内容を正しく理解し、それに基づいて適切に評価・表示してくれるようになります。

WordPressをヘッドレスCMSとして使用する場合、必要なのはシンプルなMySQLとPHPのスタックだけであり、非常に軽量かつ高パフォーマンスな選択肢となります。

とはいえ、「読み込みが速すぎるコンテンツ」というものは存在しません。そのため、さらなるWordPressの高速化を目指すのであれば、コンテンツ配信ネットワーク(CDN)を利用してレイテンシーを抑えるのがおすすめです。

また、WordPressの画像を最適化することも重要です。

例えば、TinyPNGのような圧縮ツールを使うと効果的です。すべてのコンテンツがパフォーマンス重視で最適化されていれば、ヘッドレス化されたWordPressの速度をさらに引き上げることができます。

まとめ

初めてWordPressをヘッドレス化する際には、多少難しさを感じるかもしれません。

しかし、適切なツールを活用すれば、複雑な作業を大量にこなすことなく、柔軟でマルチプラットフォーム対応のヘッドレス構成を実現できます。

この記事では、ヘッドレスWordPressを始めるために役立つ主なツールを3つご紹介しました:

  • Reactベースのフレームワーク: Frontityなど、WordPress向けに特化して設計されたフレームワークが含まれます。  
  • WPGraphQL:Gatsbyフレームワークを使用している場合におすすめの無料プラグインです。
  • CoCartによるヘッドレスWooCommerce:WooCommerceのカート機能にヘッドレス対応を追加するeコマース向けプラグインです。

ヘッドレスWordPressの始め方や、本記事で紹介したツールについてご不明な点はありますか?ぜひ下のコメント欄でご質問・ご意見をお聞かせください!

Author
著者

Yukako Washisaka

こんにちは、Yukaです。バイリンガルの翻訳者として15年以上活動しています。アメリカではグラフィックデザインを学び、そこから翻訳の道に進みました。言葉を通じて文化と人をつなぐことにやりがいを感じていて、「伝わる」翻訳を大切にしています。 プライベートでは、家族とドライブに出かけたり、美しい景色を写真に収めたり、愛犬のトイプードルとのんびりお散歩するのが好きです。 このプロジェクトに関われることをうれしく思っています。私の翻訳が少しでもお役に立てれば光栄です。