こんにちは、ryohei(@ityryohei)です!

本記事では、WordPressをHTTPSに対応した際に、ページは表示されるけど管理画面に入れなくなった場合の対処方法をご紹介してます。

現在は主流となっている常時SSL化。2019年以降に制作されたサイトは基本的に最初からSSL証明書をインストールした状態もしくは公開前に設定することが当たり前になっています。

ただ、それはあくまで最近の話であって。未だSSL証明書が設定されていないサイトも一定数存在します。それらのサイトを安全に閲覧してもらうためにも、私たちのようなエンジニアが対応することも大事な役目になります。

さて、前置きが長くなりましたが、今回、随分前にサイト制作はしたけど保守のような継続的な契約はしていないサイトを持っているお客様からWebサイトの常時SSL化のご依頼をいただきました。CMSはWordPressを使っていて、レンタルサーバーはエックスサーバーを使用しています。SSL証明書は私たちがよく使用しているグローバルサインのものを発行しました。

本記事ではSSL証明書のインストールといったサーバー側の設定が終わった後の話になりますが、サーバー側の設定方法についてもどこかでご紹介できればと考えています。今回はあくまでSSL証明書を設定した後の話ですので、予めご了承いただければと思います。

では、お話していきます。

WordPressをHTTPSの通信に対応させる

WordPressを「http→https」に変更するために必要なのは「管理画面」にある「設定 > 一般」を開いた先にある「WordPress アドレス (URL)」と「サイトアドレス (URL)」を変更するだけです。常時SSL化にする場合は「htaccess」や[nginx」の設定ファイルに追記する必要はありますが、WordPress側では基本的にそれだけで問題ないかと思います。

まずは「WordPress アドレス (URL)」と「サイトアドレス (URL)」の中で「http」となっている部分を「https」に変更してサイトにアクセスしてみましょう。

HTTPSに変更すると管理画面に入れない

トップページのURLにアクセスするとページ自体は表示されるのに、管理画面に入れないケースがあります。おそらくプラグインかと思います。私自身複数のサイトを常時SSL化してきたため、何度か同様のケースに当たったことがあります。

現象としては下記のようなものです。

  • 管理画面のURLでリダイレクトループが発生
  • IDとパスワードを入力してログインボタンを押下するとリダイレクトループが発生

そういった現象が発生したら、焦る気持ちを抑えていったん落ち着きましょう! 深呼吸深呼吸。サイトはちゃんと表示されているので大丈夫です。

この現象が発生したときにやることは一つです。「wp-config.php」に下記の一行を追加します。(「require_once(ABSPATH . ‘wp-settings.php’);」より上に追記しましょう。)

$_SERVER['HTTPS'] = 'on';

ファイルにサーバー変数を追記したら、サーバー上のwp-config.phpを更新して再度管理画面のURLにアクセスしてみましょう。無事に表示されるかと思います。

最後に

いかがでしたでしょうか。

WebサイトのHTTPS対応が急がれる現在においても、まだまだ対応できていないサイトは数多く存在します。Web制作会社と契約していたり、ちゃんとした知識を持ったWeb担当者がいる企業であれば問題ないかと思いますが、サイトだけ作ってもらって放置しているような場合は、制作してもらった会社に連絡してHTTPSの対応をしてもらうと良いかもしれません。

以上、WordPressでHTTPS対応後に管理画面に入れなくなった場合の対処方法のご紹介でした!