https化後の「このサイトで目にする画像は~」エラーを一括で修正して簡単に解決する方法
SSL化したはずのサイトに警告メッセージ!
やっとSSL化して、アドレスも http:// から https:// になって、やっとSSL化できたと思ってたのに、サイトにアクセスすると、アドレスの横にはビックリマーク「!」が付いていて、そこをクリックすると、次の表示が。。
この警告の原因と解決方法
この警告の原因は、簡単に言うと、サイト内にSSL化されていない画像が紛れてしまっていることを指します。
SSL化されたサイトであれば、そのサイト内に収蔵されている画像は、SSLとして呼び出されるはずなのですが、SSL化されてない状態で画像が呼び出されたりしているときにおこります。
いわゆる、混合コンテンツというやつです。
https のページにある画像だから http から始まるURLで呼び出されている
→ 混合コンテンツ
つまり、http: を https: にすれば解決というわけです。
http を探すにはプラグインが便利
簡単に言うと、http を https に書き換えればいいわけです。つまり検索と置換。それには、ウェブサイト内の文字列を詮索できるプラグインを使えば、簡単です。
検索置換プラグインとして有名なのが search regex
でしょう。
しかし、このプラグインは、投稿内の文字列しか検索しません。それによって、検索して http を見つけ出して、それらを全て https に置換したはずなのに、いまだ症状が改善しないという現象が起こることが良くあります。
つまり、HTMLコードとかjava script などのコードまでは修正しないために、置換残りが起こってしまいます。
よって、そうしたプログラムコードまで置き換えするツールを用いなければなりません。
データベースの文字列まで検索置換する “Better Search Replace”
プログラムコードを置換して書き換えるというのは、非常に危険な作業です。投稿の文字は、間違えたらあとから修正すればいいのですが、プログラムコードの場合、たった一文字間違えただけで、サイトが閲覧不能になり、修復できなくなってしまいます。
ピリオドが一つ抜けただけで、サイト全体が回復不能なほど壊れてしまうのです。
先ほど挙げた Search regex というプラグインであれば、投稿内だけの置換を行うため、そうした危険性はなく安全ですが、その代わりに、プログラムコードまでの書き換えは行ってくれません。
よって、今回のような問題を解決することはできません。
これから紹介する Better Search Replace は、プログラムが格納されているデータベースの文字列まで検索、置換してくれるので、今回のようなSSL化後のコンテンツ混合問題を一発で解決してくれます。
実際に私も、初めは Search regex で解決しなかった混合コンテンツ問題も、この Better Search Replace を使うことで一発で解決できました。
Better Search Replace を使って安全に置換を行うコツ
Better Search Replace の詳しい使い方に関しては、こちらのページ🔗 で紹介していますので、そちらを合わせて参考にしてください。
ここでは、混合コンテンツ問題におけるコードの書き換えを安全にする方法を紹介します。
簡単に言うと、プログラムコードの自分のサイト内の画像呼び出しリンクURLで、http となっているところを、https に変えればいいだけです。
しかし、だからといって Better search replace のプラグインを使うと、本来変えなくていい http まで変更してしまうことになります。
では、変える必要のある http とは、どの http かというと、自分のサイト内の画像、メディアを呼び出しているリンクですので、その変える必要があるhttpのみを変更するように、次のようにします。
仮にあなたのサイトのURLが、abc.com だとします。
その場合、
“http://abc.com” “http://abc.com/index.php” “http://abc.com/contact.php” “http://abc.com/s.html” “http://dij.coj/dfi..r” | [su_icon icon=”arrow-right” color=”#dd3333″ size=”68″ padding=”10″ radius=”5″] | “https://abc.com” “https://abc.com/index.php” “https://abc.com”/contact.php” “https://abc.com/s.html” “http://dij.coj/dfi..r”(変更の必要なし) |
としなければいけません。ここで、変更すべきURLの全てに共通しているのが、http://abc.com の部分ですので、
置換前を http://abc.com と指定します。そして、置換後を https://abc.com とします。
これによって、置換しなくていい場所まで誤って置換することがなく、安全に置換することができます。
実際、私は、これによって、混合コンテンツ問題を解決し、無事SSL化に成功しました。