This post is also available in: English-US (英語)
Wordpressで構築しているサイトをSSL(https)化した際に、SSL(https)が反映されない事態に遭遇しましたので、後々のために簡単なチェック手順をメモとして書いています。
Contents
SSL(https)化の反映時間は?
SSL(https)化の反映時間は、だいたい1時間程度で反映されるようになります。
長くても数時間程度かと思いますので、数時間待ってもSSL(https)化が反映されない場合には、以下の手順を行ってみると幸せになれるかもしれません。
Chromeの開発者ツールでチェック
SSL(https)が反映されない大半の原因は、読み込まれているページにおいて、外部ファイルなどをhttp接続にてリクエストしている部分(俗に言うMixed Content)が原因だったりします。
なので、Chromeの開発者ツールでチェックを行い、外部ファイルなどのhttp接続部分をhttps接続にてリクエストするように修正します。
Chromeの開発者ツールを開く(F12)
右端の方のタブ Security をクリック
F5キーでページのリロードを行いチェックする
上記のChromeの開発者ツールの Security タブで、証明書や接続の有効性も同時にチェックできます。
Mixed Content(http接続)が含まれていれば「View 5 requests in Network Panel」みたいな感じで、Network Panelにおいてhttp接続しているリクエストの内容をチェックすることができます。
ちなみに、SSLが反映されないという現象で問題(Mixed Content)となるのは外部javascript・CSS・画像やXMLHttpRequestなどにhttp接続部分が含まれる場合で、外部リンク先(外部リンクのhrefの中身)がhttp接続でも問題ないです。
Mixed Contentが原因の場合、SSL(https)化はすぐに反映されるかと思います。
各ブラウザでのブラウザキャッシュの削除、スーパーリロード
http接続しているリクエストの内容を、https(もしくはhttp:を書かない、相対参照とかいうらしいです)で書き換えたとしても、ブラウザにキャッシュが残っていて反映されないケースがあります。
私の場合はChromeでSSL(https)が反映されないという現象が起こりましたが、ブラウザの設定からキャッシュの削除を行っても、反映されませんでした。
なので試しに、スーパーリロード(ブラウザのキャッシュを無視してページ読み込み)してみると、あっさり反映されました。
メジャーなChrome、InternetExploler、Firefoxのブラウザでは Ctrl+F5 でスーパーリロードできるようです。
ブラウザキャッシュが原因の場合においても、SSL(https)化はすぐに反映されるかと思います。
WordPressプラグイン、htaccessのキャッシュ削除
Wordpressを使っていると、高速化のためにキャッシュ系のWordpressプラグインを導入していたり、htaccessにキャッシュの設定を入れていたりする場合も多いかと思います。
前項のブラウザのスーパーリロードで解決してくれれば話は早いのですが、そうでない場合(サーバー側のキャッシュの問題)にはキャッシュ系のWordpressプラグインのキャッシュをクリアしたり、htaccessのキャッシュ関係の設定部分をコメントアウト(場合によってはキャッシュの期限まで待たなければいけないかもしれません)したりして、再度ブラウザのスーパーリロードを試してみると良いかもしれません。
Wordpressプラグインやhtaccessのキャッシュが原因の場合、キャッシュが削除されない限りはSSL(https)化は反映されないかと思います。