WordPress APIとは?何ができる?取得方法まで解説

WordPress データをJSON形式で外部サイトやアプリに提供したい。API を使うと何ができるのか、どうやって設定すればよいのか分からず困っていませんか?この記事では、WordPress API の仕組みから実装手順まで、初心者向けに詳しく解説します。読み終えたら、あなたのサイトのコンテンツを外部アプリやサービスと自動連携させられるようになります。

WordPress APIとは?結論を先に

APIを一言でいうと

WordPress REST APIはJSON(JavaScript Object Notation)というデータフォーマットを使用しており、開発者はPHP以外の言語でもWordPressを使用できるようになります。API(Application Programming Interface)は、WordPress のデータを外部に提供するための「窓口」です。エンドポイントは、APIを通じて特定のリソースにアクセスするための「住所」のようなもので、例えば「https://あなたのサイト/wp-json/wp/v2/posts」にアクセスすると、投稿データが取得できます。

REST APIとその他のAPIの違い

REST APIはWordPress 4.7(2016年12月)から標準搭載されており、プラグインは不要で、ブロックエディターも動作しています。一方、GraphQL は別の方法です。GraphQLでは単一のテーラーメイドクエリを1つのエンドポイントに送信し、必要なフィールドを説明して、1つのリクエストでそれらだけを取得できます。REST API は複数のエンドポイント(住所)を使い分けるのに対し、GraphQL は1つのエンドポイントで柔軟に対応します。

項目 REST API GraphQL
エンドポイント 複数(例:/posts、/users) 1つ(/graphql)
セットアップ 不要(標準搭載) プラグイン必須
データ取得 サーバーが形式を決定 クライアントが必要な項目を指定
学習難易度 低い 高い
小~中規模サイト
複雑なデータ連携

WordPress APIで何ができるのか

外部サイトから記事を取得・投稿する

WordPress の REST API を使うと、別サイトから投稿データを取得して表示させることができます。例えば、EC サイトのトップページに WordPress の新着ブログ記事を埋め込むといった使い方が可能です。データは JSON 形式で返るため、JavaScript や PHP など複数の言語で処理できます。また、逆にプログラムからデータを新規投稿することも実現できます。

アプリやスマホと連携する

スマホアプリ開発で WordPress の記事一覧を表示してメディアアプリを開発するといった実装例があります。API を使えば、WordPress の管理画面の手間をかけずに、外部アプリ側でコンテンツを操作できます。一度設定すれば、自動でデータが同期されるため、複数プラットフォームの運用効率が上がります。

他ツールと自動で連携する

WordPress REST API は WordPress と他の外部ウェブアプリケーションを接続し、より容易なコミュニケーションを促進し、CMS プラットフォームと統合されたシームレスな Web 体験を構築するのに役立ちます。チャットボットツール、データベース、CRM など、さまざまなサービスと WordPress を結びつけることで、作業の自動化や効率化が実現します。

WordPress APIの取得・使い方の手順

エンドポイントを確認する

最も簡単な方法は、ブラウザのアドレスバーにエンドポイント URL を直接入力することです。例えば「https://あなたのサイト/wp-json/wp/v2/posts」にアクセスすると、投稿データが JSON 形式で表示されます。JSON は複数行で見づらいため、ブラウザの拡張機能(JSON Formatter など)を入れると読みやすくなります。

代表的なエンドポイント:

  • `/wp-json/wp/v2/posts` :投稿一覧
  • `/wp-json/wp/v2/pages` :固定ページ一覧
  • `/wp-json/wp/v2/categories` :カテゴリー一覧
  • `/wp-json/wp/v2/users` :ユーザー一覧

認証キーを設定する

OAuth認証は WordPress REST API でのセキュリティを強化する方法で、OAuth 1.0a を使用してアクセストークンを取得し、そのトークンを使用して API にアクセスします。認証が不要なデータ取得(公開記事の閲覧など)なら設定は不要ですが、投稿・削除・更新といった操作には認証が必須です。

WordPressの管理画面で認証キーを設定する手順:

1. 左メニューから「ユーザー」→「プロフィール」を開く

2. 下の「アプリケーションパスワード」セクションまでスクロールする

 

3. アプリ名を入力(例:「外部連携アプリ」)して「パスワードを生成」をクリック

 

4. 表示されたキーをメモして、外部アプリに貼り付ける

 

たった1日で基本が身に付く! WordPress 超入門 [改訂2版]

たった1日でWordPressが使えるようなる本の第2版が登場しました。1日8時間の勤務時間内に読むことができる程度に解説内容を絞り込み、初心者・新人が最初の1冊目として読むのにふさわしい内容です。

実際にデータを取得してみる

ブラウザで `https://example.com/wp-json/wp/v2/posts?per_page=5` にアクセスすると、最新5件の投稿がJSON形式で返ります。以下はコマンドラインでの取得例です。

```bash curl -X GET "https://example.com/wp-json/wp/v2/posts" ```

JavaScriptを使う場合:

```javascript fetch('https://example.com/wp-json/wp/v2/posts') .then(response => response.json()) .then(posts => console.log(posts)); ```

認証が必要な場合は、ユーザー名とアプリケーションパスワードをBase64エンコードして送信します。

使うときの注意点とよくある失敗

セキュリティ対策を忘れない

匿名でも /wp-json/wp/v2/users を叩くと、投稿者の slug(ログイン名と同じケースが多い)が一覧で返り、これはブルートフォース攻撃の前段になります。REST API を有効にするだけで、意図せず情報が露出する可能性があります。セキュリティプラグインで特定のエンドポイント(ユーザー情報など)のアクセスを制限することをお勧めします。

これからのWordPressセキュリティ本格講座 「月1回・30分」のメンテナンスでサイトを安全に保つ!

本書は、共用レンタルサーバーでWordPressサイトを運用している制作者・管理者向けに、「最低限やっておくべきセキュリティ対策」を分かりやすく、実践的に解説する初級者~中級者向けの手引き書です。

APIを無効化すべきケース

API 機能が必要ない場合は、完全に無効化することで攻撃面を減らせます。ただし、ブロックエディターは REST API に依存しているため、無効化するとエディターが動作しなくなります。セキュリティと利便性のバランスを取って、特定エンドポイントだけを制限する方法が無難です。

動かないときの確認点

  • エンドポイント URL の入力ミス(`/wp-json/`の有無、スペルなど)
  • リライト設定が無効になっていないか(WordPress設定の「パーマリンク」を確認)
  • 認証キーが期限切れになっていないか
  • ファイアウォールやセキュリティプラグインが API リクエストをブロックしていないか

よくある質問

WordPress APIは無料で使えますか?

はい、REST API は WordPress に組み込まれており、追加料金はかかりません。GraphQL を使う場合も、WPGraphQL プラグインは無料で利用できます。ただし、外部サービスと連携する際は、そのサービスの料金体系により変わります。

REST APIとGraphQLはどちらを使うべきですか?

シンプルなブログやニュースサイトなら REST API で充分です。REST API はシンプルで安定しており、ほとんどの開発者に馴染みがあります。一方、複数のカテゴリー、タグ、著者、カスタムフィールドなど関連データが多い場合や、フロントエンドが React・Vue などの最新フレームワークの場合は、GraphQL(WPGraphQL プラグイン)の方が効率的です。

APIのキーはどこで取得しますか?

WordPress の管理画面から「ユーザー」→「プロフィール」を開き、「アプリケーションパスワード」セクションで生成します。プラグイン(Akismet など)用の API キーが必要な場合は、各プラグインの設定ページから取得手順を確認してください。

APIを使うにはプログラミングの知識が必要ですか?

基本的なデータ取得なら JavaScript の `fetch()` 関数や PHP の `wp_remote_get()` などを使うだけです。複数エンドポイントの連携やエラーハンドリングといった応用的な実装には、プログラミング経験が役立ちますが、初心者向けの解説サイトやドキュメントが豊富です。

セキュリティ上、APIは無効化すべきですか?

REST API 自体は便利な機能ですが、使わない場合は無効化が望ましいです。ただしブロックエディターが動作しなくなるため、特定エンドポイント(ユーザー情報など機密データ)だけを制限する方が実用的です。セキュリティプラグインで `/wp-json/wp/v2/users` などをブロックすれば、バランスの取れた運用ができます。

まとめ

  • REST API は WordPress 標準の仕組み:複数のエンドポイント(URL)を使ってデータをやり取りします
  • JSON 形式でデータが返る:JavaScript や PHP など言語を問わず処理できるため、連携の幅が広がります
  • GraphQL は 1 つのエンドポイントで柔軟に対応:複雑なデータ関係が必要な場合に有効です
  • 簡単に始められる:ブラウザにエンドポイント URL を入力するだけでデータ取得が確認できます
  • セキュリティ対策は必須:アクセス制限と認証キーの管理を忘れずに

次のステップとしては、実際に你のサイトの REST API にブラウザでアクセスして、データがどのように返るか確認することから始めましょう。

参考リンク

\ 最新情報をチェック /