WordPressでは、API(Application Programming Interface)により、異なるソフトウェアシステムやアプリケーションが相互に通信できるようになります。これにより、サイトやソフトウェア自体で情報を共有したり、特定のタスクを実行したりすることができます。
WordPressは、プラグインやテーマの開発者が簡単にプラットフォームとやりとりし、新しい機能や統合機能を追加できるように、いくつかのAPIを提供しています。
サードパーティのAPIを使用して、WordPressサイトと他のオンラインサービスを接続することもできます。例えば、APIを利用することで、サイト上に地図や天気データを表示したり、WordPressでより信頼性の高いメールサービスを利用したりすることができます。
APIの仕組み
APIとは「アプリケーション・プログラミング・インターフェース」のことである。言い換えれば、異なるソフトウェア・プログラムが互いに会話するためのルールとツールのセットを提供するものである。一方のプログラムが情報を要求し、もう一方がそれを提供する。
レストランのウェイターを思い浮かべてほしい。彼らはあなたの注文(リクエスト)を厨房に運び、料理(レスポンシブ)を持ち帰る。
APIは同じように、アプリケーション間の橋渡しの役割を果たす。アプリケーション間でデータを共有し、一緒にタスクを実行できるようにする。
APIはインターネット上で一般的に使用されており、パワフルでユーザーフレンドリーなソフトウェアを構築するために不可欠である。APIを利用することで、開発者はすべてをゼロから構築することなく、新しいアプリケーションやサービスを簡単に作ることができる。
特にWordPressは、APIを使用してコア機能以外の機能を拡張している。
固有のAPIキーは、APIへのアクセスを認証しコントロールするために使用される。APIにアクセスするユーザー、開発者、アプリケーションはそれぞれ独自のキーを必須とする。これらのキーは通常、APIプロバイダーによって生成され、WordPressやプラグインの設定に貼り付ける必要があります。
WordPressが使用するAPI
WordPressのコア開発チームはいくつかのAPIを提供しています。これらにより、他の開発者はWordPressに新しい機能を追加したり、他のシステムと統合したりすることができます。
WordPressの最も重要なAPIを見てみましょう。
REST API
REST APIは最も重要なWordPress APIです。開発者はこれを使用して、WordPressのコンテンツにリモートでアクセスし、作成、更新、削除することができます。データはJSON形式で共有される。
例えば、REST APIはURLをリダイレクトする際に無料のRedirectionプラグインによって使用され、WordPress自体も完全なサイトエディターに使用しています。
REST APIが無効化されている場合、完全なサイトエディターを使用しようとすると、空白のサイトエディターの問題が発生します。セットアップの間、リダイレクトプラグインはREST APIが有効化されているかどうかをチェックし、正しく動作することを確認します。
REST APIは、カスタムテーマの作成、モバイルアプリの構築、WordPressのコンテンツの他のサイトへの統合などに使用できます。
XML-RPC API
XML-RPC APIは長い間WordPressの一部であり、リモート通信の古い方法として機能してきた。
外部サービスがWordPressサイトとやりとりすることを有効化し、投稿を公開したり、コメントを管理したり、ユーザー情報にリモートアクセスしたりすることができます。WordPressのモバイルアプリでも使用されています。
しかし、そのセキュリティ上の脆弱性から、より近代的なREST APIに取って代わられ、その使用はあまり普及していない。
ハートビートAPI
Heartbeat APIはWordPress 3.6で導入され、サイトが単発または定期的なイベントをスケジュールできるようになりました。初期設定では、このAPIは60秒ごとに期限切れのイベントをチェックして実行します。
例えば、投稿の自動保存、投稿のスケジュール設定、他の投稿者が投稿日: に取り組んでいるときの表示、プラグイン開発者がリアルタイムで通知を表示する有効化など、様々な用途に使用できます。
ウィジェットAPI
Widgets APIにより、開発者はユーザーがWordPressテーマに簡単に追加・カスタマイズできるカスタムウィジェットを作成できる。
ウィジェットを作成、管理、表示するための標準化された方法を提供し、WordPressテーマ内のユーザーエクスペリエンスとカスタマイズ設定を強化します。
サードパーティAPI
これらのWordPress API以外にも、WordPressはサードパーティのAPIを使用して他のウェブサービスと接続し、情報を共有することができます。これには、ソーシャルメディアプラットフォーム、決済ゲートウェイ、その他のサードパーティアプリケーションが含まれます。
WordPressに必要な機能を追加するためにAPIをどのように使うことができるのか、実際に見てみましょう。
WordPressでAPIを使う
APIを使ってWordPressサイトに新しい機能を追加する方法は無限にあります。ここでは、何が可能かを知ることができるいくつかのチュートリアルを紹介します:
- Google Places APIを使えば、WordPressにGoogleマップを追加することができます。
- Google reCAPTCHA APIを使用すると、WordPressのコメントフォームでスパムを避けることができます。
- Google Cloud Platform APIでは、Googleカレンダーや カスタマレビューページを 追加することができます。
- OpenWeather APIを使えば、WordPressで天気予報を表示できます。
- SendLayer APIを使えばWordPressでメールが送信されない問題を解決できます。
- IndexNow APIを使えば、SEOの結果をスピードアップできます。
- GTmetrix APIを使用すると、WordPressサイトのパフォーマンスを向上させることができます。
- WPFormsとZapier APIを使えば、WordPressフォームからSMSテキストメッセージを取得できます。
不要なAPIを無効化することでWordPressのセキュリティを向上できる
WordPressのAPIは、サードパーティのプラグインやツールにサイトへのアクセスを提供するので便利です。
しかし、DDoS攻撃でウェブサイトを無効化する膨大な数のリクエストを送信するなど、ハッカーがウェブサイトをダウンさせるために使用する可能性もあります。
そのため、サイトで使用されていないAPIを無効化することで、WordPressのセキュリティを向上させることをお勧めします。
WordPressでXML-RPC APIを無効化する
XML-RPC API は、一部の古いプラグインと WordPress モバイルアプリで使用されています。これらのプラグインを使用していない場合は、安全にAPIを無効化できます。
WordPressでXML-RPCを無効化するには、WPCodeスニペットを有効化したり、プラグインをインストールするなど、いくつかの方法があります。
WordPressでREST APIを無効化する
REST APIを無効化することもできるが、その前に、どのテーマやプラグインもREST APIに依存していないことを確認する必要がある。
XML-RPC APIと同様に、WPCodeを使用するかプラグインをインストールすることで無効化できます。
Disable REST APIプラグインメソッドを使用する利点は、APIを完全に無効化しないことです。その代わりに、許可されていないソースからのリクエストをブロックします。
ハートビートAPIコールの削減
Heartbeat APIを無効化することはお勧めしませんが、WP RocketまたはスタンドアロンのHeartbeat Controlプラグインを使用することで、その活動を抑えることができます。
初期設定では、heartbeat APIは60秒ごとにピンバックします。これを少なくとも120秒に短縮することをお勧めします。
この方法は、WordPressダッシュボードの読み込みが遅い場合の対処法をご覧ください。
WordPressのAPIについて、この投稿がお役に立てれば幸いです。また、WordPress の便利なヒントやトリック、アイデアに関する関連投稿は、以下の「Additional Reading」リストをご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.