Secure Pages Include Mixed Content (Including Scripts)

「Secure Pages Include Mixed Content (Including Scripts)」というアラートは、HTTPSページにHTTPコンテンツが含まれている場合に発生します。これにはスクリプト、スタイルシート、画像などのリソースが含まれます。HTTPコンテンツは暗号化されておらず、セキュリティリスクをもたらす可能性があります。このアラートを解消するための具体的な手段を以下に示します。

1. HTTPSのみを使用する

全てのリソースをHTTPSで提供

  • HTTPSプロトコルを使用:全ての外部および内部リソースをHTTPSで提供します。HTTPリンクをHTTPSリンクに変更します。
<!-- 変更前 -->
<script src="http://example.com/script.js"></script>
<link rel="stylesheet" href="http://example.com/style.css">

<!-- 変更後 -->
<script src="https://example.com/script.js"></script>
<link rel="stylesheet" href="https://example.com/style.css">

2. WordPress設定の変更

WordPressアドレスとサイトアドレスの更新

  • HTTPSに設定:WordPressの管理画面で「設定」→「一般」から、WordPressアドレス(URL)とサイトアドレス(URL)をhttps://に変更します。

3. データベースのURLを更新

URLの一括置換

  • データベース内のURLを更新http://を含むURLをhttps://に一括置換します。これは、データベース内の古いHTTPリンクをHTTPSに更新するために便利です。
wp-cliの使用例
wp search-replace 'http://example.com' 'https://example.com' --all-tables

4. プラグインの利用

Mixed Content Fixerプラグイン

  • プラグインの導入:Mixed Contentを修正するためのプラグイン(例:Really Simple SSL)を導入し、混在コンテンツをHTTPSに変更します。

5. テーマおよびプラグインコードの修正

テーマとプラグインのコード確認

  • コード内のHTTPリンクを修正:テーマファイルやプラグインファイル内にハードコードされたHTTPリンクを探してHTTPSに修正します。
// 変更前
wp_enqueue_script('custom-script', 'http://example.com/js/script.js');

// 変更後
wp_enqueue_script('custom-script', 'https://example.com/js/script.js');

6. Content Security Policy (CSP) の設定

CSPヘッダーの追加

  • CSPを設定:Content Security Policy (CSP)ヘッダーを使用して、HTTPS以外のリソースが読み込まれないようにします。
Apacheの例
Header set Content-Security-Policy "default-src 'self' https:; script-src 'self' https:; style-src 'self' https:;"
Nginxの例
add_header Content-Security-Policy "default-src 'self' https:; script-src 'self' https:; style-src 'self' https:;";

7. ブラウザコンソールのチェック

開発者ツールの利用

  • ブラウザの開発者ツールを使用:ブラウザの開発者ツールのコンソールを使用して、どのリソースが混在コンテンツとして読み込まれているかを特定します。これにより、修正が必要なリンクを見つけることができます。

8. CDN設定の確認

CDNのプロトコル確認

  • CDNの設定:CDNを使用している場合、CDNがHTTPSで提供されていることを確認します。CDNのURLもhttps://に変更します。

まとめ

「Secure Pages Include Mixed Content (Including Scripts)」というアラートを解消するためには、以下の手段を講じることが重要です:

  1. 全てのリソースをHTTPSで提供する。
  2. WordPressの設定でHTTPSを使用する。
  3. データベース内のURLをHTTPSに更新する。
  4. Mixed Content Fixerプラグインを使用する。
  5. テーマやプラグインのコードを修正してHTTPリンクをHTTPSに変更する。
  6. Content Security Policy (CSP)を設定する。
  7. ブラウザの開発者ツールを使用して混在コンテンツを特定する。
  8. CDNの設定をHTTPSに変更する。

これらの対策を講じることで、混在コンテンツの問題を解消し、Webサイトのセキュリティを向上させることができます。