このページの一部は安全ではありません–WordPress混合コンテンツ警告
公開: 2020-11-18「このページの一部は安全ではありません」という警告がブラウザに表示されるのを見て、その理由を疑問に思ったことはありませんか? 他の人のWebサイトを閲覧していて、続行するのは安全ではないのではないかと心配しているメッセージを見た場合…そして、自分のWebサイトで警告が発生した場合は、修正方法を知りたいと思うでしょう。 このエラーは通常、ページのコンテンツが混在していることが原因で発生します。 幸い、通常は簡単に修正できます。 方法を見つけるために読んでください。
「混合コンテンツ」とは何ですか?なぜそれが起こるのですか?
以下に示すスクリーンショットは、通常、「混合コンテンツ」が提供されたときに生成されます。 これが意味するのは、コンテンツの一部はHTTP経由で提供され、残りはHTTPS経由で提供されるということです。
さらに説明する。
ページを表示するために必要な画像、テキスト、その他のコードなど、ページ上のさまざまなコンポーネントはすべて、ウェブホストサーバーからエンドユーザーのウェブブラウザにダウンロードされます。 SSL証明書がインストールされていると仮定すると(そして間違いなくインストールする必要があります)、このコンテンツは安全なHTTPS接続を介して提供されます。 エンドユーザーのブラウザはSSL証明書の信頼性をチェックし、問題なく、サイトが安全であることを示す小さな南京錠のアイコンをブラウザバーに表示します。
「このページの一部が安全ではありません」というメッセージが表示されると、Webサイトのコンテンツの一部が安全でない接続を介して提供されています(実際には、SSL証明書をバイパスしています)。 ブラウザはこれらの要素が暗号化されていないことを認識するため、警告のフラグを立てます。 現実には、エンドユーザーエクスペリエンスが損なわれ、Webサイトへの信頼が失われます。
では、なぜこれが起こるのでしょうか? 理由はたくさんありますが、最も一般的なのは、ファイルまたはデータベース、あるいはその両方にハードコードされた安全でない(つまり、HTTPS以外の)URLが原因であると思われます。 これには2つの理由が考えられます。
- ローカル開発: Webサイトがローカルで開発された場合(SSL証明書がインストールされたサーバー上ではない場合)、サイト全体でhttpURLが使用された可能性があります。 サイトが公開されたとき、すべてのhttp URLはhttpsバージョンに置き換えられているはずですが、場合によってはこれが行われないこともあります。
- SSL証明書のインストール:Webサイトに以前にSSL証明書がなく、最近SSL証明書をインストールした場合、コンテンツを安全に提供するために必要な新しいhttpsURLに更新するためにすべての内部ファイルとデータベースのURLを取得するのが難しい場合があります。
この記事では、この問題を解決し、Webサイトが「安全ではない」というフラグが立てられるのを防ぐためのいくつかの方法を紹介します。 すべてのコンテンツをHTTPS経由でロードするように変換する方法を見ていきます。 この問題の最も一般的な原因である「パッシブ混合コンテンツ」に主に焦点を当てます。これには、画像、音声、動画などの「src」属性を持つ種類のアセットが含まれます。
さあ行こう!
HTTPアセットを識別する方法
安全なウェブサイトでは、通常、ドメインURLの横の左上に南京錠のアイコンが表示されます。 これがMozillaとEdgeとOperaでどのように表示されるかです。
混合コンテンツの問題が発生した場合、代わりに次のような警告サインが表示されます。
南京錠のアイコンをクリックすると、詳細を示すポップアップが表示されます。
次に、F12ボタンを押すか、任意の要素を右クリックして、ブラウザの検査コンソールを使用します。コンソールタブでエラーを表示することにより、混合コンテンツを簡単に識別できます。
上記の例では、HTTPで読み込まれる画像は1つだけなので、ハードコードされたURLが挿入されている場所がわかっている場合は、問題を手動で簡単に修正できます。
混合コンテンツをチェックするもう1つの簡単な方法は、「MissingPadlock」と呼ばれる優れた無料のリソースを使用することです。 ページのURLをたたくだけで、ページがクロールされ、混合コンテンツが見つかったかどうかがわかります。
ただし、ほとんどの場合、HTTPを介して複数のコンテンツが読み込まれている可能性があります。これは、並べ替えがより複雑になる可能性がある動的コンテンツの結果である可能性があります。 このような場合に、混合コンテンツの問題に対処するために必要なオプションを見てみましょう。
注:Chromeでは、2020年4月6日以降、Chromeが安全でないコンテンツのブロックを開始したため、ブラウザバーに混合コンテンツのフラグが表示されません。 これは、たとえば、画像の1つが以前にHTTP経由で読み込まれた場合、その画像はまったく読み込まれないことを意味します。 明らかに悪いニュースですが、以下の手順に従うことで、コンテンツがHTTPS経由で完全に読み込まれるようになるので心配する必要はありません。 これについて詳しくは、Chromiumブログの関連ページをご覧ください。
WordPressの混合コンテンツエラーの修正
混合コンテンツエラーに対するこれらの提案された修正のいずれかを開始する前に、データベースとファイルの完全バックアップを作成することを強くお勧めします。
また、SSL証明書がWebサイトにインストールされていることを確認する必要があります。 Pressidiumでホスティングしている場合は、数回クリックするだけで無料のLet'sEncrypt証明書をインストールすることで簡単にこれを行うことができます。 ホスティングサービスがそのような機能を提供しない場合は、WordPressプラグインライブラリにある無料のSSLプラグインの1つを使用してみてください。
最後に、管理者の[一般設定]に移動し、WordPressアドレスとサイトアドレスのURLがHTTPSで始まることと、ユーザーがHTTPでサイトにアクセスした場合でもURLを保護するように強制するルールを追加したことを確認します。 ホスティングプロバイダーがこれを処理しない限り、プラグインを使用するか、.htaccessファイルを編集することで自分でこれを行うことができます。
これがすべて完了したら、WordPressで混合コンテンツを修正するための最も一般的な方法を見てみましょう。
SSLの安全でないコンテンツプラグイン
SSL Insecure Content Fixerは、WordPressWebサイト上の混合コンテンツの問題を見つけて解決するための最も簡単な方法の1つです。 プラグインをインストールしてアクティブ化した後、[設定]> [SSL安全でないコンテンツ]に移動して、使用可能な設定を確認します。
推奨されるように、最初に「シンプル」設定を試してください。 [設定を保存]をクリックし、シークレットブラウザを使用して影響を受けるWebサイトに移動します。 「混合コンテンツ」警告メッセージが表示されなくなった場合(またはChromeでは、以前は非表示になっていたアセットが表示されなくなった場合)、おめでとうございます。 問題を修正しました。 これが機能しない場合は、プラグインの次の設定のいくつかを試して、それらがうまくいくかどうかを確認できます。
より良い検索置換
Better Search Replaceプラグインは、WordPressデータベースのリンクを更新し、HTTPインスタンスをHTTPSで変換するのに役立つ優れた製品です。 これは、最近WebサイトにSSL証明書を追加し、混合コンテンツの警告が表示される場合に特に便利です。
有効にすると、[ツール]>[検索の置換]で設定を確認できます。 ここで、[検索]ボックスにHTTPを追加してから、[置換]ボックスにHTTPを追加します。 すべてのデータベーステーブルを選択し(それぞれをクリックすると青色になります)、最後に、[検索/置換の実行]をクリックする前に、下部にある[ドライランとして実行]ボックスにチェックマークを付けます。
ページの上部にステータスバーが表示され、データベース内のセルを更新する必要があるかどうかが強調表示されます。 これに満足している場合(そして最初にデータベースをバックアップした場合)、[ドライランとして実行]ボックスのチェックを外してから、プラグインを再実行します。
その後、データベースは正常に更新されます。 繰り返しになりますが、シークレットウィンドウを使用してサイトにアクセスし(誤った結果をもたらす可能性のあるキャッシュの問題を回避するため)、混合コンテンツの問題が解決されているかどうかを確認してください。
Pressidiumでホスティングしている場合は、独自のデータベース検索および置換ツールを利用できます。 これにアクセスするには、ダッシュボードにログインし、影響を受けるインストールに移動して、[データベース]タブをクリックします。 下にスクロールすると、データベースの検索と置換モジュールが表示されます。
Elementorを使用していますか?
人気のあるページビルダーElementorを使用している場合は、独自の組み込みソリューションを使用して、Elementor投稿の混合コンテンツを簡単に修正できます。 これにアクセスするには、Elementor> Toolsに移動し、[URLの置換]タブに移動します。 [URLを置き換える]をクリックする前に、間違ったHTTPURLを入力してから新しいHTTPSバージョンを入力してください。 更新するURLがほんの一握りしかない場合でも、このソリューションは本当に実用的です。
データベースエントリに加えて、Elementorによって生成されたCSSファイルを置き換えることもできます。 これを行うには、[全般]タブに移動し、[CSSの再生成]オプションを使用してURLを更新します。
まだ混合コンテンツの警告が表示されますか?
混合警告の問題を修正するために上記の手法を試した後でも、安全でない接続を介したコンテンツの読み込みに問題がある場合は、それ自体が安全でない外部URLでホストされているコンテンツを読み込んでいる可能性があります。 これが当てはまり、そのコンテンツを制御できない場合(および、HTTPSを介してコンテンツを提供する機能がない場合)、唯一のオプションは、コンテンツを削除して安全な代替コンテンツに置き換えることです。
別の原因は、安全でない外部URLからコンテンツをプルしているプラグインである可能性があります。 これが特定された場合は、プラグインの作成者に連絡して、これを更新するように依頼する必要があります。
最後に、他のすべてが失敗し、サイトがCDN経由で読み込まれる場合は、CDNゾーンを再確認し、HTTPSで始まるかどうかを確認します。
結論
混合コンテンツの警告は非常に苛立たしいものになる可能性がありますが、できるだけ早くこれらを解決することが不可欠です。 混合コンテンツの警告は、エンドユーザーの観点からは見栄えが悪いだけでなく、Chromeを介してサイトにアクセスするユーザーの場合、サイト上の特定のアセット(画像など)が表示されない可能性があります。これは明らかに悪いニュースです。
最後に、GoogleはHTTPS経由でコンテンツを提供しないウェブサイトに積極的にペナルティを課しているため、SEOランキングのために、混合コンテンツの問題をできるだけ早く解決する価値があります。