WordPressのHTTPS化の確認|サイトアドレスとFORCE_SSL_ADMIN
WordPressでHTTPSが使えているかは、管理画面の「ツール」→「サイトヘルス」にある「HTTPS ステータス」で確かめられます。HTTPSで開けるようにしただけでは足りず、「WordPress アドレス (URL)」と「サイトアドレス (URL)」が https で始まっている必要があります。WordPressは、HTTPSでの接続かどうかを、サーバーが渡す情報で判断しています。
この記事では、WordPress 7.1.2 のソースコードと日本語の画面表記、公式ドキュメントにもとづいて、HTTPSの確認と切り替えの手順、FORCE_SSL_ADMIN、リバースプロキシで起きる問題をまとめます。
(確認:WordPress 7.1.2 のソースコード wp-includes/load.php、日本語の翻訳ファイル、WordPress公式ドキュメント Advanced Administration Handbook「HTTPS」。日本語は筆者の訳です。確認日:2026年10月6日)
まず、今の状態を確かめる
「ツール」→「サイトヘルス」→「ステータス」に、次のような項目が出ます。
| 表示(日本語) | 意味 |
|---|---|
| サイトは有効な HTTPS 接続を使用しています | 問題なし |
| サイトで HTTPS を使用していません | HTTPSの設定が無い。サーバー側の準備(証明書)が必要 |
| このサイトに HTTPS を使用してアクセスしていますが、WordPress アドレスとサイトアドレスはデフォルトでは HTTPS を使用するとして設定されていません | HTTPSは使えるが、WordPressの登録のURLが http のまま |
最後の表示が出る場合は、サイトヘルスに「サイトを更新して、HTTPS を使用する」というボタンが出ることがあります。WordPressがHTTPSに対応できると判断した時に、サイトのURLを https に切り替えます(切り替えに失敗すると「サイト URL を HTTPS に切り替えできませんでした。」と出ます)。「現時点でサイトでは HTTPS がサポートされていないようです。」と出る場合は、Web ホストの管理者に相談するよう案内されます。
URLを手で直す場合
- 先にバックアップを取る(WordPressのバックアップ)
- サーバーの管理画面で、無料のSSL(証明書)を有効にする。契約しているサーバーで、使えるかは契約前に確認する
- 「設定」→「一般」で、「WordPress アドレス (URL)」と「サイトアドレス (URL)」を
https://に変える - 保存して、再ログインする。サイトのトップ・投稿・管理画面が表示されるかを確かめる
http で開いた時に、https へ自動で飛ばす設定(リダイレクト)は、サーバーの管理画面の機能や、.htaccess で行います。方法は、サーバー会社の案内に従ってください。
WordPressはHTTPSをどう判断しているか
WordPressの is_ssl() という関数は、次のどちらかの時に「HTTPS」と判断します(ソースで確認)。
- サーバーが渡す
HTTPSの値がonまたは1 HTTPSの値が無く、接続のポートが443
このため、サーバーの手前にリバースプロキシ(外からのアクセスを中継する仕組み)があり、中継した先のWordPressへは http で届く構成だと、WordPressは「HTTPSではない」と判断します。公式ドキュメントには、この場合、FORCE_SSL_ADMIN などを設定すると終わらないリダイレクトの繰り返しになることがあり、HTTP_X_FORWARDED_PROTO のヘッダーを見て、$_SERVER['HTTPS'] = 'on'; と設定する例が載っています。設定の例とプロキシの設定は、公式の「HTTPS」のページで確認してください。
管理画面をHTTPSに限定する:FORCE_SSL_ADMIN
公式ドキュメントによると、wp-config.php に次のように書くと、すべてのログインと管理画面のセッションをHTTPSにできます。
define( 'FORCE_SSL_ADMIN', true );
この設定は、サーバーでSSLが使える状態になってから書きます。先に書くと、管理画面へ入れなくなることがあります。FORCE_SSL_LOGIN は4.0で非推奨です。wp-config.php の編集の注意はwp-config.phpの主な設定にまとめています。
HTTPSが無いと使えない機能
- アプリケーションパスワード:HTTPSでないと、項目が表示されません(アプリケーションパスワードが表示されない時の原因)
- 外部のツールから、REST APIで投稿する仕組み(Amazon Auto Posts 導入前に確認すること)
まとめ
- 「サイトヘルス」の「HTTPS ステータス」で確認する。WordPress アドレスとサイトアドレスを https にそろえる
- WordPressは、
HTTPSの値が on/1、またはポート443でHTTPSと判断する。リバースプロキシがあると、見落とされやすい FORCE_SSL_ADMINは、SSLが使える状態になってから書く。先にバックアップを取る
本記事は設定の説明です。SSLの有効化や転送の設定は、サーバー会社の案内に従ってください。


