WordPress REST APIで覗かれてしまうURL一覧

WordPressで会員限定サイトやページを作成してアクセス制御をかけても、REST APIを通せばコンテンツが丸見えということがあります。どういったURLでコンテンツが覗かれてしまうのでしょうか。

REST APIの基本

WP-API は、HTTP クライアントから、Posts, Pages, Comments, Users, Terms などのリソースに対する CRUD の実行(Create, Read, Update, Delete)ができます。

WordPressで構築されたWebサイトのドメインに続けて、次のリクエスト URLを指定すると、リクエストに応じたコンテンツが表示されます。

基本のエンドポイント

// パーマリンク設定済み
https://sample.com/wp-json/wp/v2/

// パーマリンク未設定
https://sample.com/?rest_route=/wp/v2/

投稿のエンドポイント

// 投稿のベースルート
https://sample.com/wp-json/wp/v2/posts

// 公開されている全投稿を取得
https://sample.com/wp-json/wp/v2/posts/?status=published

// 最新の投稿を取得
https://sample.com/wp-json/wp/v2/posts/?per_page=1

// IDが123の投稿を取得
https://sample.com/wp-json/wp/v2/posts/123

// 特定の単語(someword)を含む全ての投稿を検索
https://sample.com/wp-json/wp/v2/posts?search=someword

カテゴリーのエンドポイント

// カテゴリーのベースルート
https://sample.com/wp-json/wp/v2/categories

固定ページのエンドポイント

// 固定ページのベースルート
https://sample.com/wp-json/wp/v2/pages

メディアのエンドポイント

https://sample.com/wp-json/wp/v2/media

ユーザーのエンドポイント

// ユーザーのベースルート
https://sample.com/wp-json/wp-json/wp/v2/users/

// ユーザーIDが1の投稿をリクエスト
https://sample.com/wp-json/wp-json/wp/v2/users/1

投稿タイプのエンドポイント

// 投稿タイプのベースルート
https://sample.com/wp-json/wp/v2/types

参考