アプリケーションパスワードが表示されない|HTTPSが必要な理由

WordPressのユーザーのプロフィール画面に「アプリケーションパスワード」の項目が出ない時は、サイトがHTTPSで動いていないのが最も多い原因です。WordPress本体は、HTTPSで接続している時、または環境タイプが「local」の時だけ、アプリケーションパスワードを使えるようにしています。

この記事では、WordPress 7.1.2 のソースコードと日本語の画面表記にもとづいて、項目が出ない原因と、確認する順番をまとめます。パスワードの作り方そのものはWordPressに外部から投稿する方法|アプリケーションパスワードで説明しています。

(確認:WordPress 7.1.2 のソースコード wp-includes/user.php・wp-includes/load.php、日本語の翻訳ファイル。確認日:2026年10月6日)

本体が使えると判断する条件

ソースコードでは、次のように決まっています。

  1. サイトが使えるか:is_ssl() がtrue(HTTPSで接続している)、または、環境タイプ(wp_get_environment_type())が local
  2. そのユーザーが使えるか:ユーザーが存在していて、プラグインなどで禁止されていない

どちらかを満たさないと、アプリケーションパスワードは使えません。さらに、プラグインがフィルター(wp_is_application_passwords_available など)で、使えなくしている場合もあります。

画面に出るメッセージで見分ける

画面の表示(日本語) 原因 対処
アプリケーションパスワードには HTTPS が必要ですが、このサイトでは有効ではありません。 HTTPSで接続していない(is_ssl() がfalse) HTTPSにする(HTTPS化の確認)。サーバーがHTTPSを中継している場合は、WordPressへの渡し方を確認する
これが開発用サイトであれば、適宜、環境タイプを設定して、アプリケーションパスワードを有効化できます。 開発用サイトで、HTTPSを使っていない 環境タイプを local にする(wp-config.php の WP_ENVIRONMENT_TYPE)。公開しているサイトでは使わない
サイトでは Basic 認証が使われているようですが、現在、アプリケーションパスワードとは互換性がありません。 サイト全体にBasic認証がかかっている Basic認証を外す、またはREST APIの経路を除外する(サーバーの設定)
お使いのアカウントに対してアプリケーションパスワードは利用できません。ヘルプが必要な場合はサイト管理者にお問い合わせください。 そのユーザーだけ禁止されている 管理者のアカウントで確認する。プラグインの設定を確かめる

HTTPSなのに「HTTPSが必要」と出る場合

is_ssl() は、サーバーが渡す HTTPS の値が on または 1 か、ポートが 443 かで判断します(ソースで確認)。サーバーの手前にリバースプロキシや、CDN・WAFがあり、WordPressへ http で届く構成だと、ブラウザではHTTPSなのに、WordPressは「HTTPSではない」と判断します。この場合は、公式ドキュメントにある HTTP_X_FORWARDED_PROTO を見る設定が必要になることがあります(HTTPS化の確認)。レンタルサーバーによっては、サーバー側が既に対応していることもあるため、サーバー会社の案内も確認します。

項目は出るのに、外部から使うと失敗する時

外部から投稿するプラグインを使う前に

アプリケーションパスワードは、パソコンのツールなどから、REST APIでWordPressへ投稿する仕組みの基本です。当サイトが販売するAmazon Auto Postsも、同じ仕組みで投稿します。必要な環境はAmazon Auto Posts 導入前に確認することに載せています。

まとめ

  • アプリケーションパスワードは、HTTPSで接続している時(または環境タイプがlocal)だけ使える
  • 画面のメッセージで、HTTPS・Basic認証・ユーザーの禁止のどれかを見分ける
  • HTTPSなのに出ない時は、リバースプロキシやCDNで、WordPressがHTTPSと判断できていない可能性を確認する

本記事は設定の説明です。サーバーの設定の変更は、各社の案内に従ってください。