こんにちは。ひとりで.comです。
本日は、WordPressで作られたサイトをSSL化(http://→https://)する方法について紹介していきたいと思います。
WordPressをhttpからhttpsへSSL化する方法 – お名前.com編 –
【目次】
SSL(http://→https://)とは
SSLとは、Secure Sockets Layerの頭文字を取った略称で、インターネット上での通信を暗号化する技術で1994年にNetscape社によって開発された世界標準のセキュリティーテクノロジーです。
機密性の高い情報をWebサイト経由で送信する際(例:問い合わせフォーム、クレジットカードの情報等)、暗号化された情報を送ることによって、その機密性を保護する役割を担っています。
SSLが導入されているサイトはそのWebサイトが
https://
とSがつくURLになります。逆にSSL化されていないWebサイトは
http://
となっています。
SSL化されているか否かによって、セキュリティの強度が変わりますので、サイトを訪れた人にとっても、個人情報を送るに足るサイトなのかの判断材料となりますし、Googleもhttps://のSSL化を推奨しており、SEOのシグナルとしてhttps//を活用していると発表しています。
Google では過去数か月にわたり、Google のランキング アルゴリズムでのシグナルとして、暗号化された安全な接続をサイトで使用しているかを考慮に入れたテストを実施してきました。この実験ではよい結果が得られているため、ユーザーがもっと安全にサイトを閲覧できるよう、すべてのサイト所有者の皆様に HTTP から HTTPS への切り替えをおすすめしたいと考えています。
出典:Google Japan blog
今後、あらゆるサイトはhttps://のSSL化が必須となってくるでしょう。
さらに、Googleが提供するブラウザGoogle Chromeでもhttp://となっている場合、
保護されていない通信
と警告を出すようになっています。
WordPressのデータをバックアップ
SSL化に伴って、中のデータに万が一のことが発生した際ものちのち元に戻せるように必ずバックアップを取りましょう。
バックアップを取っておけば、後でもとに戻すこともできます。
※こちらの記事は定期的に自動バックアップを取る方法ですので、このバックアップの設定が終わったら、そのデータは一時的にローカル環境に保存しておくようにしましょう。ローカル環境に保存しておけば、万が一の際も、FTP経由で元に戻すことが可能です。
SSL化の方法 – お名前.com編 –
お名前.comが提供する共有サーバーには、独自SSLオプションというものがついています。これを利用すると無料でSSL化することができます。
お名前.comが用意しているのはLet’s EncryptというSSLサーバー証明書です。
「Let’s Encrypt」は、独自ドメインがあれば、誰でも無料で使える、SSLサーバー証明書です。お名前.comレンタルサーバーでは、共用サーバーSDのコントロールパネルから簡単に設定が可能です。サイトシールは設定できませんが、最大256bitの強固な暗号化通信を行いますので、どなたでも安心してご利用いただけます。
「Let’s Encrypt」は、アメリカ合衆国の非営利団体、ISRG(Internet Security Research Group)が発行する無料SSLサーバー証明書です。ISRGは、インターネット上で安全な通信を行う障壁を減らすことをミッションとしており、firefoxの開発で有名なモジラ財団(Mozilla Foundation)や、Cisco Systemsなど、海外の財団・企業を中心とした支援により運営されています。
共有サーバーでSSL化の設定
ここからは、お名前.comが提供している共有サーバーにて独自SSLであるLet’s Encryptの設定方法について説明していきたいと思います。
まずはお名前.comから共有サーバーにログインします。そしてログイン後のコントロールパネルで[Web設定]の[SSL設定]を選択します。
次に、SSL設定の画面にて対象となるドメインを選択し、[新規作成]を選択します。
ドメイン名の確認画面が出てきますので、問題なければ、[確認画面へ進む]を選択します。
最終確認です。こちらで問題なければ、[決定]ボタンを押します。
すると、SSL設定が完了します。
WordPressのURLを変更
上記でお名前.comの共有サーバー上でSSL化の設定が完了したら次にWordpressの設定を変更します。Wordpressの管理画面上の[設定]の[一般設定]にある
- WordPressアドレス(URL)
- サイトアドレス(URL)
を http:// から https://に変更します。
この状態だと、
この接続ではプライバシーが保護されません
悪意のあるユーザーによって、パスワード、メッセージ、クレジット カードなどの情報が盗まれる可能性があります。
NET;;ERR_CERT_COMMON_NAME_INVALID
と表示されサイトにアクセスできない状態になります。
ただし、この状態でもサイトにアクセスする方法はあります。それを紹介したいと思います。この画面にある[詳細設定]というボタンを押します。
この「この接続ではプライバシーが保護されません」という表示は、https://のサイト内にひとつでもhttp://のURL(ご自身のドメインのもののみ)が入っていると表示されてしまいます。
すると詳細の表示が出てきます。
このサーバーが◯◯であることを確認できませんでした。このサーバーのセキュリティ証明書は◯◯から発行されています。原因としては、不適切な設定や、悪意のあるユーザーによる接続妨害が考えられます。
この表示の下に
◯◯にアクセスする(安全ではありません)
というところをクリックするとサイトにアクセスすることができます。
※今回は、自身のサイトであるということを前提にアクセスの方法を紹介しておりますが、普段のインターネット回遊でこういった表示を見た際は、アクセスしないことをオススメします。
内部リンクをSearch Regexで置換
次に内部リンクを一括で変更する方法について説明していきたいと思います。ここで言う内部リンクとは、画像へのリンクや、関連記事などこれまでhttp://で指定されていた同一ドメインのURLのことを指します。上記までの設定では、内部リンクまでhttps://に変更されているわけではないので、これまで書いた記事や画像などのURLは全てhttps://に変更する必要があります。
それを一括で置換するためにSearch Regaxというプラグインを活用します。プラグインの追加からキーワードの欄にSearch Regaxと入れて、下記の赤枠にあるようなプラグインをインストールしましょう。
無事インストールが完了したら、メニューの[ツール]から[Search Regax]を選択して設定画面に移りましょう
Search Regaxでは、特定のURLを検索してそれを一括で置換できる機能を有しています。まずは
- Source=Post content
- Limit to=No limit
- Order By=Ascending
という設定の状態で、
Search patternにWordpressのドメインを入れましょう。
例えば、http://abc.comというURLの配下にWordpressをインストールしている場合は、
http://abc.com
と入力します。
そして、Replace patternには、それをSSL化したURLを入れます。上記の例で言うと
https://abc.com
と入れます。そして入力が終わったら、[Search]のボタンを押します。
※この段階では、置換は行われないので気にせずボタンを押しましょう。
Searchボタンを押すと、その結果が表示されます。ここでは検索した結果、26件が該当するようです。
さらに[Replace]ボタンを押すとどのように置換されるかが表示されます。
※Replaceボタンに関してもそれを押した段階では置換はされないので安心してください。
置換内容が問題なさそうであれば、[Replace & Save]のボタンを押します。このボタンを押して初めて置換が完了します。
結果、何件が置換されたのが表示されます。
これで一括置換の完了です。これでひと通りhttps://への置換が完了したはずですので、おそらく問題なくサイトにアクセスできるはずです。
この段階でまだ「この接続ではプライバシーが保護されません」の注意文が表示されている場合は、まだサイト内に http://の内部リンクが残っています。いま一度Search Regaxで検索方法を変えてみるなりして http:// を https://に変更しましょう。
また、Wordpress以外の部分にhttp://の内部リンクが残っていてももちろん「この接続ではプライバシーが保護されません」は表示されますので、トップドメイン以外にWordpressを入れている人はその点も注意しましょう。
.htaccessの変更
最後の仕上げは.htaccessの変更です。
.htaccessとは、WebサーバーのApacheにおける、サーバーのディレクトリごとの設定情報を記しておくためのファイルのことである。 … 設定可能な内容としては、パスワードの設定(Basic認証)、特定のホストコンピュータからのアクセスの拒否、Webページのリダイレクトなどを挙げることができる。
出典:Htaccessとは – IT用語辞典 Weblio辞書
すごく簡単に言うと、Webサイトにアクセスした時に制御をかけるプログラムのことを指します。例えば、WebサイトにアクセスしたときにID / PASSの表示画面が出て、それを正しく入力しないとサイトにアクセスできなくしたり、エラーページが出た際はトップ画面に遷移させたりすることができます。
今回は、ブックマークなどでhttp://のサイトで登録している人などがアクセスしてきた際にhttps://にリダイレクトされるように設定したいと思います。
.htaccessのファイルはWordpressを組み込んでいるトップのページにありますので、FTPソフト経由でアクセスしてみてください。
このファイルをテキストエディアなどで開くと以下のようなプログラムが組み込まれていると思います。
1 2 3 4 5 6 7 8 9 10 11 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress |
ここに以下のコードを追加します。
1 2 3 4 5 |
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} !=on [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> |
これで、http:// のURLでアクセスしてきても自動的に https:// にリダイレクトされるようになりました。
Googleアナリティクスの変更
SSL化(https:// )に変更したらGoogleアナリティクスの設定も変更が必要となるので、忘れないように注意しましょう。
Googleアナリティクスでの設定は、設定画面からプロパティ設定を選択肢、デフォルトのURLとなっている部分の http:// をhttps:// に変更します。これだけで完了となります。
Search Consoleの変更
さらに忘れがちなのが…Search Consoleの設定変更です。そしてSearch Consoleは厄介で、なんとSSL化したらまたゼロから作り直す必要があります。。。
これまでの溜まったデータは流用できないようですので、ご注意ください。
いかがでしたでしょうか?
丁寧にWordpressにおけるSSL化の説明をしてきましたが、今後必ず必要になってきますので、早めにSSL化することをオススメします。
※おそらく手順は今後も大きく変わらないかと思いますので、早めにやっておいたほうが後で楽だと思います。