WordPressをSSL化したけど「このサイトへの接続は完全には保護されていません」と表示される場合の解決方法
WordPressのSSL化自体の方法は使用環境によって様々のため割愛します。今回はWordPressのSSL化自体は成功したけれども、「このサイトへの接続は完全には保護されていません」と表示されてしまう場合の解決方法について説明したいと思います。
SSL化が完了した状態
このサイトをSSL化した際の状態を例としてあげます。
一見すると正常にSSL化(httpsとなっている)されているように見えます。もちろんそれ自体は成功しているのですが、よく見るとURLの先頭に「!」が確認できます。(※表示はGoogle Chromeの場合です。)
これをクリックして見ると、
何やら不安を感じさせられる表記がされています。
本当にどこかの悪意あるユーザーによって差し替えられたものである可能性はゼロではありませんが、そう言う心当たりがないのであれば、これは単純に過去に投稿していた記事へのリンクや画像の参照元のURLが以前のままの「http://〜」であることが原因です。
SSL化する以前前のサイトURLは「http://anote.work」でした。そのため記事へのリンクや、画像の参照元のURLもこれを用いていました。これが現在の「https://〜」とは異なるので、「悪意あるユーザーによって差し替えられた…」と言う表現になっているのです。
「このサイトへの接続は完全には保護されていません」と表示されてしまう場合の解決方法
これの解決方法はつまりまだ「http://〜」のままとなっているものを「https://〜」と置き換えることになります。
ちなみにこれは当然外部サイトへのリンクのURLや、外部サイト上から読み込んでいる画像のURLなどは無関係です。あくまでも該当サイト上、つまり同一ドメイン上のURLのみが該当します。
「Search Regex」でURLの一括変換を行う
既に多くの記事を投稿しているサイトにおいて、過去の記事などを閲覧しながら1つ1つURLを変更するとういのは大変な労力で現実的とは言えません。
そこで今回は「Search Regex」と言うプラグインを用いて一括で対応したいと思います。
Search Regex:https://ja.wordpress.org/plugins/search-regex/
インストール方法などは割愛しまして、早速使用方法を説明したいと思います。
このプラグインは色々細かい設定をしながら様々なことができますが、とりあえず今回の問題を解決するためだけに使用しますので、最も基本的な使い方のみを行いますので、各種設定項目は上記の画面通りで結構です。
- Source:Post content ・・・対象を記事とする(ほとんどの場合はこれだけのはず)
- Search pattern:http://anote.work ・・・これまでのURLを入力(部分一致なので判別できる箇所まででOK)
- Replace pattern:http://anote.work ・・・SSL化した状態のURLを入力
入力(あるいは選択)する項目はこの3つでOKですので、まずは安全のために「Search」をクリックします。「Repalce」はそのまま置き換えがされますし、「Replace & Save」は置き換えがされた上に保存されてしまうので、まずは状態を確認するためだけに「Seach」とします。
Resultsで「1083」と表示されました。つまり1083の該当箇所が見つかったと言うことです。これはさすがに手作業で1つ1つ置き換えるのは非現実的です。
結果をざっと見て対象とするターゲットが正確であるかどうかを一応確認します。もちろん確認だけでも1083項目を1つ1つチェックするのは難しいと思いますので、可能な限りではありますが。
確認をして、結果が正しそうであれば今度も慎重にまずは「Replace」をクリックします。
上が現在、下が置換した後の結果となりますので、置換した後の状態が正しいかを確認します。どうやら結果が正しそうなので最後に改めて「Replace & Save」をクリックして完了です。
最後は手作業が必要となる場合もある
一括変換が完了したにも関わらず、サイトを確認して見たところ、
このままでした。つまり一括変換では対応しきれなかったものが存在することが疑われます。
そこで今度は直接ページのソースコードを確認して見ます。
ソースコードを表示させ、「http://anote」で検索をかけてみるとまだ「http://」のままである箇所が見つかりました。
調べてみるとこれはどうやらサイドウィジェットに設置した画像のようです。
ですのでここは手作業で「https://anote…」と直して、保存します。
これでアドレスバーを確認してみます。
この通り、無事「保護された通信」とすることができましたので完了です。