BLOGブログ
WordPressサーバー移管後にCSSやJSが「http://」になる問題とその解決法
WordPressサイトを新しいサーバーに移管したとき、CSSやJavaScriptファイルが「http://」で読み込まれてしまうという問題に遭遇したことはありませんか?
この問題が起きると、
・レイアウトが崩れる
・スクリプトが正常に動作しない
・HTTPS混在エラー(Mixed Content)になる
といったトラブルが発生します。
なぜhttpになってしまうのか?
WordPressでは、テンプレート内のCSSやJSのURLを get_template_directory_uri()
や wp_enqueue_script()
などで出力していますが、そのベースURLはWordPressが認識する「現在のURLスキーム」に依存しています。
しかし、サーバーやCDN(Cloudflare、ロードバランサーなど)を挟む環境では、以下のような状況が発生することがあります:
- ・ユーザーは https://example.com にアクセスしている
- ・でも WordPress 側は http://example.com と認識している
このとき、出力されるCSSやJSのURLも「http://」になります。
解決方法:wp-config.php
にHTTPS強制設定を追加
WordPress が HTTPS でアクセスされていることを正しく認識できるよう、wp-config.php
に以下のコードを追加します。
追加する場所は、wp-config.php
内の /* That's all, stop editing! Happy publishing. */
より上に記述します。
if (isset($_SERVER[‘HTTP_X_FORWARDED_PROTO’]) && $_SERVER[‘HTTP_X_FORWARDED_PROTO’] === ‘https’) {
$_SERVER[‘HTTPS’] = ‘on’;
}
サーバー移行後に発生するリンク問題は、「見た目が崩れる」だけでなくSEOやセキュリティにも影響する重要なポイントです。
ぜひ、上記の対処法を使って快適なHTTPS環境を整えてください!
CONTACTお問い合わせ
サービスに関するお問い合わせやお見積もり・ご相談などお気軽にご相談ください。