Chromeの混合コンテンツのブロック強化に対してWordPressですべきこと



Googleの提供するウェブブラウザ「GoogleChrome」でhttpsとhttpのURLが混合しているページに対してブロック強化をする発表がされました。

最初からWordPressを常時SSL化、https対応で運営していない場合、httpsへの移行方法によってはhttpsとhttpの両方が存在する可能性があり、WordPressを運営する側、管理者として対処する必要があります。

今回はGoogleChromeの混合コンテンツのブロック強化に対して、WordPressですべきことをご説明します。

混合コンテンツとは

混合コンテンツとはアクセスしたURL自体はhttpsでも、読み込まれる画像やスクリプトがhttpのままのURLで読み込まれるようになっているWebページを指します。 混合コンテンツの脆弱性を狙ったサイバー攻撃を受ける可能性があり、セキュリティの低下を防ぐためにも、GoogleChromeでは混合コンテンツをデフォルトでブロックするという方針を固めました。

せっかく、常時SSL化してhttps対応しているのに、httpで読み込まれる部分があると、ブラウザ側でブロックされ、警告が表示されてしまうのであれば逆効果になるということです。 何よりも混合コンテンツを公開することで、自分だけでなく閲覧したユーザーに何らかの不利益や被害が起きる可能性を残しておくことは、WordPressを運営する管理者としても放置すべきことではありません。

下記、Googleの発表したURLにて詳細をチェックすることをおすすめします。

混合コンテンツとは - https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content?hl=ja

混合コンテンツとなるURLをチェックする方法

WordPressの構築時に既にhttps対応しているのであれば、画像やサイト内リンクはhttpsになっていると思われます。 しかし、サーバーの設定のみを変更してhttpsになったと勘違いしてしまう場合もあり、まずはご自身のWordPressの状況をチェックしてみましょう。

WordPress管理画面の一般設定をチェック

最初にWordPressの管理画面の設定→一般設定をチェックしましょう。

 

WordPress アドレス (URL)とサイトアドレス (URL)のURLがhttpsになっている状態でサーバーがhttps対応の設定になっているかをチェックします。 もし、httpsになっていなければ、httpsに変更したいところですが、httpsの変更は対応を間違えるとログインできなくなる可能性があるため、サーバー、もしくはレンタルサーバーと、WordPressのSSL化の手順をしっかりと調べてから変更してください。

WordPressのデータをエクスポートしてテキストエディタでチェック

次に投稿した記事内のURLをチェックするためにWordPress管理画面のツール→エクスポートで投稿した記事をxmlでエクスポートしましょう。 エクスポートしたファイルをテキストエディタで開き、検索で「 http:// 」を検索して、自分のサーバーやドメイン内のリンクがどうなっているかチェックします。

ブラウザでソースコードを表示してチェック

WordPressに導入したプラグインによっては、意図しない箇所にhttpのURLで出力される可能性があります。 パソコンのブラウザでWordPressを開いて、右クリック→ページのソースを表示でソースコードを表示します。 エクスポートしたファイルと同様に検索で「 http:// 」を検索して、本文以外の部分でWordPressのドメインなのにhttpのままになっていないかをチェックします。

混合コンテンツとなるURLの修正方法

WordPressをチェックして、混合コンテンツとなっている箇所がある場合、URLを修正する必要があります。 修正するタイミングで何か間違ってしまうとWordPressが動かなくなる可能性があるので、必ずバックアップを取りましょう。 同時に導入したプラグインやテーマ、カスタマイズした箇所をメモしておき、稼働しているWordPressと同じ状態に戻せる手順も把握しておくことが大切です。

投稿内のリンクがhttpの場合

WordPressの管理画面のプラグイン→新規追加で「Search Regex」と検索して「Search Regex」をインストールします。 Search Regexを有効化するとWordPress管理画面のツールの項目にSearch Regexが追加されます。

Search patternが検索する文字列を入力する項目、Replace patternが置き換えしたい文字列を入力する項目です。

単純にhttpとhttpsのみで置き換えしてしまうと「httpss」という意味不明な状況になる可能性もあるため「http://」と「https://」のように置き換えミスとならないように注意してください。 Search Regexで文字列の置き換えをした後は必ず投稿画面やブラウザのソースコードの表示などでおかしな箇所がないかチェックしましょう。

プラグインやテーマのコードを編集

もし、プラグインやテーマの部分でhttpのままの箇所がある場合、直接テーマファイルやプラグインのファイルを編集する必要があります。 必ず元のデータをバックアップしておき、いつでも元に戻せる状態にして修正してください。

特にプラグインやテーマは文字一つ、スペース一つ、改行一つが余計な箇所に入ってしまうだけで、WordPressが動かなくなる可能性があるので充分に注意してください。

プラグインを編集する場合は、プラグイン→プラグインエディターで編集が可能です。 同様にテーマを編集する場合は、WordPress管理画面の外観→テーマエディターで編集できます。

※ブラウザでソースコードを見てhttpの箇所を見つけたけれど、プラグインエディターやテーマエディターでファイルを見ても、どこを修正すべきかわからない時は無理に編集しないようにしてください。

まとめ

WordPressはプログラミング初心者の方やHTMLやCSS、PHPに不慣れな方でも扱いやすいCMSのため、知識や経験がないままで運営されている方も少なくありません。

https対応したつもりが、実は何らかの設定ミスでhttpのままの箇所がある可能性もあるので、時間をかけて念入りにチェックし、以後、httpで出力されないように設定することが大切です。 また、バックアップやバックアップからの再構築、データの書き換え、テーマやプラグインのPHPの修正など、わからない部分がある時は充分に調べてから行うようにしてください。 「なんとなく」で作業してしまうとWordPressが動かなくなる可能性があるためです。

混合コンテンツを限りなくゼロに近づけることで、セキュリティが高まり、WordPressを安全に運営することができます。 同時に、常日頃からセキュリティ情報や仕様変更などに対するアンテナを持つことを意識してみてくださいね。