Googleがセキュリティ強化の一つとして、サイトの常時SSL(Secure Sockets Layer)化を求めてからかなり時間が経過しています。
これまでSSL化は強く奨励されてきたものの、SSL化を行わなくとも大きな問題はありませんでした。敢えて言うならば以下のようなそこまで目立たない警告がGoogleChromeで表示されるくらい。
SSLにしないから検索順位が大きく下がっていたり、社会的な評価が損なわれるということはありませんでした。
一方で、常時SSL化を行ったという報告者からは「検索順位が大幅に落ちた」というレポもあったりしました。いわく「正しい方法で行なったのに順位を落とされた」とのこと。
コンテンツの中身は変わらないわけで、本来は検索順位が上がることはあれど、下がることはないはずですが、事実として検索順位が下がったと。
こうした背景もあり、私自身もサイトのSSL化に及び腰だったわけですが、2018月7月にGoogleがリリース予定のChromeのアップデートにより「SSLでないサイトは警告表示が出される」ということが公式に発表されています。
参考 A secure web is here to stay(Chromium Blog)
どのような警告かは不明ですが、これまでよりも目立つ形で、明確に警告が表示されるだろうとのことで、ようやくBrasilTipsにも導入することにしました。
今回は、サイトのSSL化のために行った手続きの流れをまとめていきたいと思います。
常時SSL化のメリットを復習する
恐らくこの記事をご覧になる方は十分にこのことを理解されていると思いますが、形式的に記載しておきます。
機密性の高い通信環境:安心できるサイトへ
常時SSLの実現により、何よりもセキュリティの高いサイトを実現できます。
サーバーとの通信が暗号化されることで、個人情報の漏洩防止につながることはもちろん、自分のサイトがなりすましサイトでないこと、通信情報の盗聴の防止にも役立ち、サイトそのものの信頼性の向上につながります。
サイトオーナーとしても、ユーザーとしても、安心して利用できるサイトを提供する上で常時SSLの実現は重要です。
通信の高速化:ユーザーの利便性向上
SSL化によりブラウザとサーバーはHTTP/2と呼ばれる新しい技術により通信を行います。
これは上記のような機密性の向上につながるだけでなく、通信速度の向上にもつながっています。
Load Impact AB社の調査によれば60%程度の通信速度の改善につながったということもあり、自分のサイトを訪問してくれたユーザーの快適な閲覧環境を提供することにつながります。
HTTP/2による通信には、常時SSLの設定に加えて、サーバー側の対応環境が必須となります。多くのサーバー会社で対応が開始していますが、事前に確認しましょう。
リファラの増加:アクセス解析レベルの向上
これは僕自身も知らなかったのですが、HTTPとHTTPSではリファラ情報の引き継ぎにおいて以下のような違いがあります。
- HTTPS:HTTP及びHTTPSの両方のURLからリファラ情報の引き継ぎができる。
- HTTP:HTTPSのURLからのリファラ情報の引き継ぎができない。
例えば、自分のサイトを紹介してくれる他のサイトがあるとします。この他者が運営するサイトを経由してユーザーが自サイトに来てくれても「どこのサイトから来たのか」がGoogleSearchConsoleやGoogleAnalyticsのログに情報は残りません。
インターネット上で多くのサイトが常時SSLになりつつある現在、自分のサイトだけが常時SSLになっていない場合、他のサイトとのつながりや、自サイトのユーザーの解析に必要な情報が得られなくなってしまうのです。
実際に、常時SSL化することで、SearchConsoleで取得できる被リンク情報が格段に増えました。
検索順位の向上:サイトのさらなる成長
この記事を執筆している2018年上半期ではあまり顕著ではないかもしれません。
しかしながら、Googleが常時SSLの有無を検索順位のアルゴリズムにより明確に反映させるようになれば、検索順位で上位表示されるために非常に重要になります。
ただ、既にコンテンツが適切に評価されているのであれば、検索順位の向上というよりは、下落の防止程度の意味合いかもしれませんが、現状のアクセス規模を保持する上では非常に重要な要素となります。
サイト運営環境
このサイトBrasilTipsのサイト運営環境は以下の通りです。
ドメイン | お名前.com |
サーバー | MixHost エコノミープラン |
運営歴 | 1年8ヶ月 |
CMS | WordPress |
テーマ | Simplicity |
PV | 月間12万程度 |
記事数 | 220本程度 |
まぁまぁの中規模サイトでしょうか。その後の経緯の参考にして頂ければと思います。
実際に行った常時SSL化手順のすべて
今回実施した常時SSLのための全ての手順を整理します。
ざっくりと以下のような流れです。
- httpsURLの取得
- WordPressの設定変更
- リダイレクト設定
- サイト内URLのhttps化
それぞれについて画像付きで解説していきます。
①httpsURLの取得
まずはhtppsから始まるURLを取得します。
Before:http://brasiltips.com
After:https://brasiltips.com
なお、MixHostの場合は既に設定しているサイトのURLであれば特別な設定は不要です。
その他、以下のサーバー会社でも無料でhttpsURLの取得が可能です。サーバー会社によっては年間数万円の維持費用を請求するところもありますが、正直無駄な出費です。
以下に列挙するサーバー会社であれば、追加コストをかけずに常時SSLが可能になりますので、是非ご検討下さい。
②Wordpressの設定変更
https化したURLをWordPressの管理画面で設定変更します。
管理画面にて「設定」→「一般」にあるURLを2ヶ所変更します。
③htacesssの設定
URL変更後も、Googleなどの検索サイトの設定や他サイトにある紹介URLはすぐに変更されないため、httpURLにアクセスしてくるユーザーがいます。
彼らを新しいサイトに適切に流し込むために、FTPソフトでhtaccessファイルに以下の記述を追加、旧URLから新URLへリダイレクトの設定を行います。
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} !=on [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>
④サイト内URLの変更
常時SSL化するためには、サイト内に貼られたhttpURLの記載をそのままにすることはできません。これはテキストに貼られたリンクのみならず、httpURLで掲載されている画像も同じです。
A:記事内部にある自サイトURLの変更
まず通常のサイトURLを張り替えていきます。
例えば、関連する自サイト内の他のコンテンツを紹介する時など、以下のような表記を皆さんされていると思います。
また記事内で掲載している画像も同様です。すべてhttp://~の画像であり、こちらも全てhttps://~にする必要があります。
httpURLでリンクを貼っていると常時SSL化されたページとして認識してもらえず、すべて変更しなければいけません。
なお、こちらは数が膨大になりますので、WordPressのプラグインで一括置換を行います。次章で説明を行いますので、併せてご参照ください。
B:アフィリエイトURLの変更
サイト内に貼ってあるアフィリエイトリンクも修正する必要があります。
こちらも膨大な量になりますので、プラグインで一括変換します。(次章参照)
C:ウィジェット内URLの変更
ウィジェットに画像や自サイトのURLを設定している方も多いと思います。
上記のようにプラグインで一括変更できればいいのですが、記事内部にあるものでないとプラグインが変換しれくれず手動での修正が必要になります。
こちらはウィジェットの設定画面からhttp://~となっているとこををhttps://~に変更するだけです。多少面倒ですが、さくっと終わらせましょう。
D:ファビコン画像の変更
こちらもプラグインで一括変更ができません。
ファビコンとはブラウザのタブに表示されるこちらのこと。
こちらもhttps://~の画像にする必要があります。
Simplicityの場合は「外観」→「カスタマイズ」→「その他」から変更が可能です。画像を一度削除してから、再度同じ画像を選択すればhttpsURLのものに変更されます。
プラグインSearch Regexの利用方法
さて、④A、④Bのようにサイト内部にある多くの旧httpURLを全て変更するのは非常に大変です。
そこでWordPressのSearchRegexというプラグインを利用して一括置換する方法が一般的です。
サイト内にある全てのテキストを一括で置換できるという素晴らしいプラグインで、利用方法は非常に簡単ですが、誤って設定すると大ダメージを受けることになります。十分にご注意して、また可能であればサイトのバックアップを取得してから実施しましょう。(そもそもSSL化を行う前に、ですが)
Search Regexのインストール
一般的なプラグイン同様に管理画面「プラグイン」→「新規追加」から「Search Regex」を検索してインストール、有効化しましょう。
新しいURLに置換する
有効化すると管理画面の「ツール」に「Search Regex」が出現します。こちらを選択すると以下のような置換画面が表示されます。
設定は初期のままで問題ありません。
置換したいURLと、置換後に設定したいURLをそれぞれ記載してから、Search(検索)、Replace(置換)、Replace&Save(置換して保存)の順番で進めていきます。
Searchでサイト内にある対象URLが全て記述されます。特に問題がなければReplaceで置換後の表記を確認します。以下のような表示になります。(既にSSL化した後のため、同じURLを置換する表示になっています。)
この時点ではまだ置換されていません。飽くまで「こうなりますよ!」という表示です。
いくつかサンプルを確認して、問題がなければReplace&Save(置換して保存)で確定させます。
置換URLの設定
常時SSL化を行うにあたり、以下のように置換URLを設定しましょう。
自サイトのURL変更
Search pattern:http://brasiltips.com
Replace pattern:https://brasiltips.com
以下のように設定すると、関係のないURLまで変更されてしまいます。自サイトのドメインを全て記述して置換をしましょう。
Search pattern:http
Replace pattern:https
アフィリエイトURL変更(カエレバのみ)
アフィリエイトURLは既にSSL化対応したものを各ASPが提供しており、特別な対応は不要です。
ただし、多くの方が利用しているであろうAmazonや楽天のフィリエイト、さらにそのうちカエレバを利用して作成したアフィリエイトリンクについてはSSL化により特別な対応が必要になります。
それぞれカエレバでアフィリエイトリンクを生成する際にベースとしているサービスアカウント別に置換方法を記載します。
Amazonアソシエイト
Serch pattern:
Replace pattern:
もしもアフィリエイトの場合
2ヶ所置換を行う必要があります。
①
Serch pattern:
Replace pattern://af.moshimo.com
②
Serch pattern:
Replace pattern://i.moshimo.com
楽天の場合
もしもアフィリエイト同様に2ヶ所置換を行う必要があります。
①
Serch pattern:http://thumbnail.image.rakuten.co.jp/
Replace pattern://thumbnail.image.rakuten.co.jp/
②
Serch pattern:
Replace pattern://hb.afl.rakuten.co.jp
常時SSL化の完了確認
SSL化の作業は以上です。思いの外、簡単に終わるものばかりで、やってしまえば「こんなものか」と拍子抜けしてしまいました。
運営しているサイトにアクセスをしてみて、以下のように表示されていればOKです。
SSL化できない・失敗してしまう場合は
もし上手くSSL化されていない場合には、以下の方法でその原因を確認することができます。
- サイトを表示させた状態でF12を押す(検証ツール)。
- Elements、Console、Sourcesの3つのタブからConsoleを選択。
- 「安全なページ上で (安全でない) 混在表示コンテンツ」と記載のあるコメントを見つける。
- コメント内にあるURLが原因。URLを手動で訂正する。
GooleAnalytics、SearchConsoleの設定を変更する
最後に各種Webサービスに登録されているURLを変更しましょう。httpとhttpsで異なるURLとして認識されてしまう場合があり、ここまで修正を行ってSSL化の完了になります。
GoogleAnalytics
GoogleAnalyticsの管理画面の左下にある歯車マークから「設定」→「ビューの設定」まで進み、「ウェブサイトのURL」をhttp://からhttps://に変更しましょう。
その他に特別な設定は不要です。
SearchConsole
SearchConsoleはやや面倒でして、再度登録が必要です。
SearchConsoleのトップ・ページから新しいプロパティを登録しましょう。
なお、新しいURLのインデックスが進むまでは古いURLで登録されたプロパティは残しておきましょう。
1週間~2週間程度で2つのプロパティのインデックス数が同じになりますので、その段階で古いURLのプロパティを削除します。
簡単だけど、慎重に時間をかけてSSL化すべし
今回SSL化してみたところ、思いの外に簡単にできました。
いろいろと調べながらゆっくりとしましたが、それでも半日程度です。
しかしながら、URLの変更は一度間違えると取り返しがつかなくなるケースや後から修正点を探すのが非常に面倒だったりします。
休日等、十分に時間が取れる日に対応することをお勧めします。
ご質問はこちら Comment/Question