「WordPressサイトをhttpsに変更しないとマズそう・・・」
あなたはそんな風に思ってこのページにたどり着いたのではないでしょうか?
「でも、どうやってhttpsにするんだろう?」
「なんだか難しそうだけど、自分でできるのかな?」
今までhttps化(SSL化)をしたことがない人は、そのように思われるかもしれませんね。
でも、大丈夫。
WordPressサイトをhttpsにする方法はそんなに難しくありません。
この記事を読めば、そのことがわかるはずです。
確かにhttpsにするとサイトのURLが変わるため大きな変更ではありますが、注意すべきポイントを確認しながら一つずつ進めていけば誰でも行うことができます。
ここではその注意点に触れながら、https化する手順を丁寧に説明しているので、トラブルなく対応できますよ。
それではここから、WordPressのサイトをhttpsにする方法について解説していきます。
この記事が、皆様のお役に立てるよう祈っています。
httpsとは?
WebサイトのURLを眺めていると、先頭の文字が「http」のものと「https」になっているものの2種類あることに気付きます。
この違いは何でしょうか。
答えは、暗号化の有無です。
後ろに「s」が付いている「https」は、サーバーとユーザー間の通信を暗号化する「SSL」を利用していることを表しています。
データが暗号化されているため、第三者が覗き見をしたり、勝手に変更したりすることを防ぐことができます。
そのため、httpに比べて、より安全にデータのやり取りを行うことが可能なのです。
SSL化(http→https)するべき理由
httpをhttpsにすることをSSL化と言います。
ここでは、SSL化すべき理由について触れたいと思います。
セキュリティ向上
まず1つ目は、セキュリティの向上です。
「httpsとは?」でも述べたように、SSL化すると、サーバーとユーザー間を行き交うデータが暗号化され、より安全に通信することができます。
個人情報を取り扱うようなサイトでは特に有効で、もはや必須と言っても良いでしょう。
httpsは検索順位の指標の一つ
2つ目の理由は、httpsが検索順位の指標の一つになっていることです。
世界最大手の検索エンジンであるGoogleが、httpsを検索順位付けの指標とすることを発表しています。
Google では過去数か月にわたり、Google のランキング アルゴリズムでのシグナルとして、暗号化された安全な接続をサイトで使用しているかを考慮に入れたテストを実施してきました。
この実験ではよい結果が得られているため、ユーザーがもっと安全にサイトを閲覧できるよう、すべてのサイト所有者の皆様に HTTP から HTTPS への切り替えをおすすめしたいと考えています。
引用元:Google
Official Google Webmaster Central Blog: HTTPS as a ranking signal
健全なプラットフォームを提供するために、安全性を担保できるhttpsをGoogleが重視するのは納得できますよね。
このように、検索順位で上位を取りにくくなってしまうという事実があるので、SSL化は進めるべきなのです。
信頼性アップ
3つ目の理由は、信頼性アップ。
これまで、httpとhttpsの違いを知っている人はあまり多くなく、ユーザーにとってSSL化は特に意識しないことでした。
しかし、WebブラウザのGoogle Chromeで仕様の変更があり、SSL化していないサイトにアクセスしようとすると、下記画像のように警告が出るようになりました。
このような表示が出ると、SSL化のことを知らない人でもアクセスすることが怖くなりますよね。
今やGoogle Chromeは、世界でも、そして日本国内でもブラウザのシェアNo1です。
そのため、SSL化しないと、多くのユーザーの信頼を失うことに繋がるでしょう。
なお、WordPressを常時SSL化すれば、このような警告表示を消すことができます。
サイトに表示が速くなる可能性がある
常時SSL化は次世代プロトコルであるHTTP/2に対応しているため、サイトのレスポンス速度の向上が期待できます。
HTTP/2とは、レスポンス速度の向上を目的としたwebプロトコルです。
従来のプロトコルであるHTTP/1.1のデメリットを解消するために開発されました。
HTTP/2を利用することで、表示速度の速いサイトを構築できます。
もちろん規格上は、非暗号通信であるHTTPもHTTP/2に含まれるのですが、多くのWebベンダーはSSL化した通信にのみ対応すると表明しています。
常時SSL化しなければHTTP/2を利用することは困難です。
このように、今後はHTTP/2プロトコルが主流になっていくと考えられます。
HTTP/2に対応するなら、常時SSL化が必要なのは言うまでもありません。
SSL化するときの注意点
ここまでの説明で、SSL化の必要性をわかって頂けたのではないかと思います。
しかし、SSL化する際には注意すべき点があります。
それは、URLが変わるということです。
httpだったURLがhttpsに変わると、外部サイトに貼られているリンク(外部リンク)も、自分のサイトの中に貼ったリンク(内部リンク)も無効になります。
対策方法はこのあとご説明しますが、まずはSSL化する前に、URLが変更になるということを頭に入れておいてくださいね。
SSL化の手順
ここからは、SSL化の具体的な手順についてご説明します。
バックアップを取得
まずは作業を始める前に、バックアップを取得しましょう。
URLの変更ですから、万が一トラブルが発生した場合の影響は大きくなります。
バックアップを取っていればすぐに元に戻せるので、必ず取るようにしてください。
SSL設定
バックアップが取得できたら、SSL設定を行いましょう。
SSL設定の方法は、各レンタルサーバー毎に異なります。
例えば、さくらのレンタルサーバーの場合は、サーバーコントロールパネルへログインし、ドメイン設定欄にある「ドメイン / SSL設定」から設定します。
(詳細は、【無料SSL】サーバコントロールパネルからの導入手順 さくらのサポート情報を参照)
ご自身のサーバ環境で用意されている方法に沿って設定を行ってください。
なお、SSL設定をする際に、SSL証明書の発行という手続きを行うのですが、場合によっては完了までに数時間かかる可能性があります。
そのことを考慮した上で作業に取り掛かってくださいね。
WordPressのURL変更
SSL設定が完了したら、次にWordPressのURLを変更します。
管理画面 - 設定 - 一般をクリック。
表示される一般設定画面の中に、「WordPress アドレス (URL)」と「サイトアドレス (URL)」という項目があるので、それぞれのURLをhttpからhttpsに変更します。
変更できたら、ページ下部にある「変更を保存」をクリックして保存しましょう。
これで、サイトURLのSSL化は完了です。
内部リンクの変更
続いて、自分のサイト内に貼った内部リンクのURLをhttpからhttpsへ変更します。
変更方法は2つあります。
1つは、内部リンクを貼った箇所を自分の手で修正していく方法。
投稿や固定ページ、サイドバーのウィジェットなど、内部リンクを探して1つずつ修正するというやり方です。
内部リンクの数が少ない場合はこの方法でも問題ないですが、たくさんある人は大変ですよね。
そんな方は、もう1つの方法、「プラグインを使った内部リンクの修正」を行いましょう。
オススメのプラグインは、「Search Regex」です。
Search Regexを使えば、サイト内の文字列を一気に置換することができますよ。
まずは、管理画面 - プラグイン - 新規追加から、Search Regexをインストール&有効化します。
有効化が完了したら、管理画面 - ツール - Search Regexをクリック。
表示される画面で、置換の設定を行います。
・Source
置換を行う対象を設定。(例:記事本文、タイトルなど)
・Limit to
置換を行う文字列数の上限値を設定
・Order By
置換を行う順番を設定(昇順or降順)
・Search pattern
検索する文字列を設定。今回の場合、旧URL(http)を入力。
・Replace pattern
置き換える文字列を設定。今回の場合、新URL(https)を入力。
・Regex
正規表現を設定。
case-insetsitive:大文字小文字を区別しない
multi-line:検索する文字列を複数行として扱う
dot-all:正規表現のドットを改行にもマッチさせる
各設定が完了したら、一番下に並ぶ3つのボタンから処理を行います。
・Search
検索のみ行う。検索結果がプレビュー表示される。
・Replace
検索と置換を行う。(保存はしない)
結果がプレビュー表示される。
・Replace & Save
置換を行い、そのまま保存する
まずは検索だけをして対象を確認し、そのあと置換&保存を行うのが良いでしょう。
リダイレクト設定
次はリダイレクト設定です。
旧URL(http)へのアクセスが来た場合、新URL(https)へ転送する設定を行います。
リダイレクト設定は、「.htaccess」というファイルに書き込みます。
まずは、「.htaccess」をダウンロードしましょう。
場所は、WordPressインストールフォルダ直下です。
ダウンロードしたら、.htaccessをテキストエディタで開いてください。
そして、一番上に、下のコードを記述します。
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
記載できたら上書き保存し、元の場所へアップロードすれば完了です。
各種ツールの設定変更
内部リンクの変更、リダイレクト設定をして一段落したいところですが、ツールの設定変更も忘れずに行いましょう。
ツールというのは、例えばGoogle Analyticsや Search Consoleなどです。
旧URLから新URLへの変更が必要です。
ここからは、サイト運営者がよく利用するツールやサービスの設定方法を紹介していきます。
Google Analytics
「アナリティクス設定」⇒「プロパティ設定」へと進み、「デフォルトのURL」の「http://」部分を「https://」に変更してください。
Google Search Console
SSL化したサイトは、Google Search Consoleでは「未確認サイト」になってます。
Google Search Consoleを利用するには、HTTPSサイトを再登録するしかないようです。
GRC
「検索設定」から「URLのhttpとhttpsの違いを無視」を有効にしてください。
エディタ類
Windows Live Writerなどのブログエディタなども、SSL対応が必要です。
登録しているWebアドレスを、HTTPSサイトに変更しましょう。
SNSシェアアカウント
WordPressサイトとSNSを連携させている場合は、SNSの登録サイトを変更します。
「SNS Count Cache」というプラグインを利用すれば、HTTPとHTTPSのアカウントを一括でキャッシュ化できます。
混合コンテンツがないかチェックする
HTTPSとHTTPが混在したコンテンツは、多くのブラウザでブロックされます。
SSL化した後は、HTTPSとHTTPが混在してないか、Googleデベロッパーツールなどで確認することが大切です。
プラグイン「Really Simple SSL」を使ってSSL化する
「SSL化の手順」で、SSL化の方法を説明しましたが、「もっと簡単にSSL化したい!」という方には、プラグイン「Really Simple SSL」をオススメします。
Really Simple SSLはその名の通り、簡単にSSL化ができるプラグイン。
サイトのURLをSSL化し、さらにリダイレクト設定まで行ってくれる優れものなのです。
使い方はとてもシンプル。
有効化したあとに表示される下の画面で、「はい、SSLを有効化します。」ボタンを押すだけです。
内部リンクは自分で修正する必要がありますが、SSL化とリダイレクト設定をボタン一つで実現できるので、とても便利です。
注意点は、このプラグインが有効化しているときだけSSL化されるということです。
誤って無効化してしまったり、もしくは提供が中止されるなど、何らかの形でプラグイン自体が使えなくなってしまうと、SSL化が解除されてしまいますのでご注意ください。
WordPressがSSL化できない時
WordPressがSSL化されない時は、以下の点を参考にエラーの原因を特定してください。
Chromeのデベロッパーツールを利用する
Google Chromeに標準搭載されているデベロッパーツールを使えば、SSLエラーのチェックができます。
キーボードのF12キーを押して、デベロッパーツールを立ち上げてください。
「Console」タブを開けば、エラー原因が英語で記載されているはずです。
Chromeのセキュリティオーバービューを使う
Google Chromeのデベロッパーツールでは、SecurityタブでもSSLエラーがチェックできます。
HTTPS通信が正常なら、securityタブのセキュリティオーバービュー内に「This page is secure (valid HTTPS).」と表示されています。
SSL化が失敗している場合は、This page is not secure.」と表示されているはずです。
SSLエラーを起こしそうな箇所
ここでは、SSLエラーを起こしそうな場所を紹介します。
テーマ
WordPressのテーマ自体にHTTPが適用されてないか調べましょう。
エディターのgrep検索機能などを使うのがオススメです。
ウィジェットエリア
WordPressの管理画面から「外観」⇒「ウィジェット」 へと進み、formタグ・scriptタグなどがHTTPになってないか確認してください。
テーマカスタマイザー
テーマカスタマイザーでヘッダーやロゴ画像を設定している場合は、そちらのURLも確認してください。
アフィリエイトタグ
稀にSSL化してないアフィリエイトタグがあるようです。
各種タグ類
カエレバ・ヨメレバなどのタグを利用している場合は、そちらのURLも確認してください。
SSL対応していないスクリプト
SSL対応していないスクリプトタグを利用する場合もエラーがでます。
チェックするページのソースを開き、<script>と検索してHTTPに対応してないか確認してください。
.HTTPファイルを削除する
HTTPとHTTPSのドキュメントルートを固定ディレクトリ以外にできない場合、HTTPファイルを削除する必要があります。
.CSSやプラグインの内部パスを変更する
CSSファイルやプラグインを自作している場合、内部パスがHTTPになってる可能性があります。
まとめ
今回は、WordPressサイトをhttpsに変更する方法についてご説明しました。
「SSL化(http→https)するべき理由」で書いたとおり、SSL化は非常に重要です。
まだ対応していない方は、ぜひこの記事を参考にしながらSSL化をしてくださいね。