どうも、れぼるです。
今回は、WordPressブログのSSL化についての第3弾、
WordPressブログを完全にSSL化する方法についてです。
第1弾
【SSLとは】WordPressブログ運営者必須!!httpsにしてセキュリティーやSEOを強くしよう
第2弾
XserverでWordPressブログを簡単・無料でSSL化する方法
まったく、わけがわからないよ。
まずは、SSL化が不完全とはどういう事なのかについてだ
目次
SSL化が不完全ってどういうこと?
SSL化が不完全な状態というのは、基本的にサイト内に http~ で始まるリンクが残っている状態です。
例えば、SSL導入前に書いた記事で、「〇〇についてはこちらの記事参照」といった感じで別の記事へのリンクを貼った場合、http~ で始まるURLのままになっています。
このように、サイト内に http~ で始まるリンクが残っていると、SSL化が不完全という状態になります。
不完全だとどうなるのか
SSL化が不完全だと、通信の盗聴・なりすまし・改ざんといった脅威を防げません。
先ほどの「〇〇についてはこちらの記事参照」の例だと、記事へのリンクが http~ のままだと、SSL化されていない状態で記事を開いてしまうので、その通信を盗聴されたり、そこから記事を改ざんされたりする危険があります。
完全にSSL化されているかの確認方法
ブラウザ上で、いま表示しているページが安全かどうかを確認することが出来ます。
多くのブラウザで、アドレスバーの左端に鍵マークや!マーク等で通信の状態を表示されるようになっています。
例えば、Google Chromeの場合、次のようになっています。
・Google Chromeの場合
保護されている場合、アドレスバーの左端が鍵マークになります。
クリックすると詳細が見れます。
ページ内のSSL化が不完全な場合、次のように表示されます。
注意:”今表示しているページについて表示される”ので、ブログのトップページが”保護されている”と出ても、各記事・固定ページが安全とは限りません。手間がかかるけど、全部のページを確認するんだ
SSL化が不完全となる5つの要因
サイト内に http~ で始まるリンクが残っていると不完全と言いましたが、もう少し細かく見ていきます。
1.ブログ内の内部リンクが http~ のままになっている
例えば「〇〇についてはこちらの記事を参照」といった感じで、自分のブログ内の別の記事へのリンクを貼る事があると思います。これが内部リンクです。
SSL化前に書いた記事ですと、内部リンクは http~ で始まるURLを設定しているはずなので、これらを https~ に直さなくてはいけません。
2. 画像、音声、動画などのメディアファイルのURLがhttp~のまま
ブログで使っている画像、音声、メディアファイルは、それぞれにサーバーに保存されており、その場所のURLが割り当てられています。
メディア保存場所のURLは、SSL化と同時にhttps~に変わりますが、SSL化前に書いた記事内では、http~ でサーバーから呼び出している状態のままです。
これが不完全な原因の1つになります。
記事を見てメディアが表示されていても、htmlモード等でみるとhttp~になっています。
3. ウィジェット、ナビゲーションメニュー(グローバルメニュー)内に http~ がある
見落としがちですが、ウィジェット、ナビゲーションメニュー(グローバルメニュー)に固定ページや記事のリンクを入れてある場合、ここも http~ のままになっていて、SSL化不完全となります。
4.http~で始まるアフィリエイトリンクがある
AmazonアソシエイトやA8.netのアフィリエイト広告を貼っている場合、広告がhttp~なのでSSL化が不完全となることがあります。
5. SSL化されていない外部サイトへのリンクがある
リンクしている外部サイトに、SSL化していない(=URLがhttp~で始まる)サイトがある場合不完全になる場合があるそうです。
これに関しては必ずしも不完全になるわけではなく、http~で始まるサイトのリンクを貼ってあっても問題ない事もあります。
完全にSSL化する方法
上記の要因を踏まえ、完全にSSL化するための方法を解説していきます。
WordPressの一般設定を変更する
まず、WordPressの設定を https に合わせて変更します。
ダッシュボードを開き、左のメニューバーから、「設定」>「一般」の順でクリックし、一般設定を開きます。
「WordPressアドレス(URL)」と、「サイトアドレス(URL)」の設定が「http~」のままになっています。
これらを「https~」に変更しましょう。
WordPressアドレス(URL)と、サイトアドレス(URL)両方を書き替えたら、画面を下までスクロールして「変更を保存」をクリックします。
保存しないと適用されないので注意しましょう。
ブログ記事内の内部リンクへの対処
http へのアクセスを、https にリダイレクトさせる方法
少し面倒な作業になりますが、レンタルサーバー上の「.htaccess」というファイルに次の構文を貼り付けることで、http~アドレスでアクセスされた際、https~としてリダイレクト(転送)させることができます。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
では、実際の作業手順を見ていきます。
1.「.htaccess」ファイルをダウンロードする
まずは編集対象となる「.htaccess」ファイルをダウンロードします。
「.htaccess」ファイルが保存されている場所は、サーバーの以下の場所です。
Xserverの場合
/(作業対象のドメイン。例:revolatory02.com)/public_html/
Xserver以外のレンタルサーバー
/(作業対象のドメイン。例:revolatory02.com)/
ファイルのダウンロードの手順は、以前の記事を参考にしてみて下さい。
1. FTP接続ソフトFFFTPを使用する場合は次の記事を参照してください。
レンタルサーバーのファイルを操作する方法【FTP接続の方法】
2. Xserverのインフォパネルからダウンロードする(Xserverを使用している場合)
こちらの記事の目次から「2.1 ファイルのダウンロード」を参照してください。
ダウンロードが完了したら、念のためコピーを作っておきましょう。
万一誤って編集してしまった場合、コピーファイルを使って元の状態を復元できます。
上の画像はFTP接続ソフトでの表示をキャプチャしていますが、
Windowsのエクスプローラ等では下のように、ファイル名が出ない場合がありますが、問題ありません。(理由は、”.htaccess”が拡張子で、エクスプローラの設定を拡張子を表示しない設定にしているからです。)
2. 「.htaccess」ファイルの編集
ダウンロードした「.htaccess」を編集します。
ファイルを開くのは、そのままダブルクリックしてメモ張で開いて大丈夫です。
.htaccessファイルを開くと次の様になっています。
画像の矢印の部分に先ほどの構文を差し込みます。
構文を差し込みました。
差し込みましたらファイルを上書き保存して閉じます。
3. 編集した.htaccessファイルのアップロード
編集した.htaccessファイルをサーバー上の元の場所にアップロードします。
4. リダイレクトされるかテスト
作業が完了したら、正しくリダイレクトするか確かめます。
ブラウザのアドレスバーに http~ で始まる形でブログのアドレスを入れEnterを押してみましょう。
アドレスが自動的に https~ に変わって、ブログが開けば成功です。
もしリダイレクトしなかったら、.htaccessファイルが正しく編集・アップロードされているか確認してみましょう。
画像・音声・動画などのメディアファイルの呼び出しを修正
SSL化前に書いた記事などに貼り付けたメディアは、メディアを呼び出すURLが http~のままになっています。
この項に関しては「Search Regex」というプラグインを使えば、ブログ全体から https~化していないURLを一括検索&置換できるようになるぞ。
詳しくはこちら ⇒ 過去の記事の文章やURLを一括置換。プラグイン【Search Regex】の使い方0
内部リンクに関してもこれを使えば治るけど、後述のウィジェットについては置換できないので注意しよう。
これについては面倒ですが、テキストモードで1つ1つ編集する必要があります。
ただし、外部リンクなども検索に引っかかるので、間違って修正してしまわないように注意するんだ
ウィジェット、ナビゲーションメニュー(グローバルメニュー)からの内部リンクの修正
見落としやすいのが、ウィジェット、ナビゲーションメニュー内にある内部リンク修正です。
各ウィジェットやナビゲーションメニューの設定で、http~ で内部リンクを呼び出している場合、これらも https~ に修正しましょう。
外部リンクの整理
SSL化されていない (URLが https~でない) 外部のサイトへのリンクがある場合、SSL化が不完全となる場合があります。
これは必ずそうなるという訳ではなく、http~ の外部リンクがあっても完全になったりもします。
外部リンクはあくまで相手先のURLなので、リンクをhttps~に変える訳にはいきません。
リンクを外すか、不完全な状態にしておくかのどちらかになります。
ただ、外部リンクがSSL化されてない場合は、リンク先での通信が保護されていないという状態なので、そのままでも自分のブログに対する”盗聴”・”改ざん”・”なりすまし”といった脅威に対してはSSLで保護されています。
アフィリエイトリンク
A8.net等の成果報酬型のアフィリエイト広告を貼っている場合、広告を外せば完全なSSL化になります。
ただ、広告を外せば当然そこからの収益は無くなってしまいます。
収入とSSLの完全さどちらを取るかなた次第となります。
不完全な要因がどうしても見つけられない場合は、Firefoxを使おう
SSL化を不完全にしている要因がどうしても見つけられない場合、「Firefox」というブラウザを使うと、要因を探しやすくなります。
FirefoxでSSL化が不完全となっているページを開きます。
① アドレスバーの左のアイコンをクリック
② ページの情報が展開するので「>」をクリック
サイトのセキュリティが表示されるので「詳細を表示」をクリック
ページ情報が表示されるので、「メディア」のタブをクリック
ここでページ内にあるURLと、プレビューが表示されるので、どの画像やアフィリエイトリンク等が http~ になっているか確認できます。
まとめ
・完全にSSL化された状態とは、ブログ内のリンクが全て https~ になっている状態
・完全にSSL化されていない場合、次の各項目の中にhttp~で始まるURLが残っている。
・内部リンク
・ウィジェット、ナビゲーションメニュー等の中
・画像・音声・動画などのメディアファイルのURL
・アフィリエイトリンク
・外部リンク
・完全にSSL化するためにやる事
・WordPressの一般設定の修正
・ブログ内の内部リンクは全て httpsに書き換える。またはリダイレクトさせる
・ウィジェット、ナビゲーションメニュー内のURLもhttpsに書き換える
・SSL化前に書いた記事の、画像などのメディアファイルのURLをhttps~に修正する
・外部リンクについては、外して完全にSSL化するか、不完全でもそのままにしておくかのどちらか。ただ、そのままでも自身のブログへの脅威に対しては保護されている。
コメント