WordPress を 常時SSL化する手順

公開日:2017/09/20  最終更新日:2018/09/01  カテゴリー:WordPress SSL化

WordPress を SSL化する手順を解説しています。
今までに 数百サイトを SSL化してきた筆者が、最も 効率がよく 分かりやすい方法を 教えます。

SSL化は 2,000円~5,000円で外注できます

大切なサイトで消失すると困る場合は 外注も考えましょう。
ココナラ 」というサイトでは プロが 空き時間を利用して安く対応してくれます。

1. WordPress を SSL化する手順

  1. SSL証明書の発行
  2. バックアップの取得
  3. データベース内のアドレスを一括置換
  4. FTP上のファイルのアドレスを置換
  5. .htacces で SSLにリダイレクト
  6. 混合コンテンツの確認・修正

2. 各手順の詳しい説明

2.1. SSL証明書の発行

管理画面や契約画面からSSL証明書を発行してください。
XSERVER をお使いの方は 無料SSLを利用できます。
詳しい手順は 利用しているレンタルサーバーによってことなりますので 各サーバーのマニュアルをご覧ください。
(XSERVER利用者が多いので XSERVERのマニュアルだけリンクを貼っておきます。)

無料独自SSL設定マニュアル(XSERVER)

注意:SSLでアクセスできるようになるまで数時間がかかります
SSLでアクセスできるようになる前に 「2.3. データベース内のアドレスを一括置換」以降の作業を行うと、閲覧者がサイトにアクセスできない時間が発生します。
「2.2. バックアップの取得」まで作業してみて SSLでのアクセスができないようであれば 一休みしましょう。

2.2. バックアップの取得

WordPress は 「FTP上のファイル」と「データベース」で構成されています。
「FTP上のファイル」は FTP経由でローカルにすべてファイルをダウンロードしておき、
「データベース」は phpMyAdmin などを使用して エクスポートしておきましょう。
長くなるので 別記事で画像付きで解説してあります。

詳しい手順はこちら

2.3. データベース内のアドレスを一括置換

SearchReplaceDB を使用してデータベース内のアドレスをSSLに一括置換します。
私が改善を加えた Search Replace DB Plus を使用すれば、より安全に楽に置換が行えます。

【別解比較】プラグイン「Search Regex」による投稿のみの置換
テーマオプションやウィジェクト内のアドレス、WordPress設定の サイトアドレスを 別途 手動で置換する必要が出てくるので お勧めしません。
私は ほぼ毎日 大量のサイトのSSL化をしているので 面倒に感じます。
紹介元: おすすめ方法.com さん
【別解比較】functions.php による出力置換
紹介元がかなり有名なので この方法でやってSSL化を欲しいという要望が多く
拒否する定型文を作ってしまっている状況です 汗
この方法ですが サイトを表示するたびに 毎回置換を行うものなので
サイトに負荷がかかりお勧めしません。
また テーマを変更する際は 再作業が必要になります。
これを説明しているのに 無理やり作業をさせてきた人が
「テーマを変えたら混合コンテンツに...」と 連絡してくる人がいます。
紹介元: 寝ログ さん

2.4. FTP上のファイルのアドレスを置換

テーマファイルに サイトのアドレスが記述されていないか確認して、記述されている場合は https:// から始まるものに 置き換えましょう。
SSH が使用できる方は SSHで複数ファイルから文字列を検索・置換する方法 を使用すると 効率よく 見つけることができます。

尚、SSL化するサイトのアドレスだけでなく、はてなブックマークなどSNS系のボタンで SSLでないものも記載されているかもしれません。
その時は http:// を https:// に変えてみて エラーにならない場合は置換しましょう。

リンク先となっているアドレスは SSLになっていなくてもよいのですが、画像やJS/CSSファイルの読み込み元アドレスは SSLになっている必要があります

2.5. .htacces で SSLにリダイレクト

次の記述を .htaccess ファイルに記述することで、非SSLでアクセスされた場合に SSLに転送します。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

FTP経由での編集が難しいと思われる方は XSERVERの場合は 管理画面から編集することもできます。
.htaccess編集 | レンタルサーバー【エックスサーバー】

注意:さくらサーバでこの記述をすると 無限ループになります
原因は 記憶が曖昧ですがロードバランサーを使用しているせいだった気がします。
公式マニュアルに記述例が載っているのでそちらを使用して下さい。
.htaccessによるアクセス制御 ? さくらのサポート情報
【別解比較】ドメイン名を記述する方法
たまに ドメイン名を記述に含まれるやり方が紹介されていますが、
初心者の方であるほど 間違えやすくなりますので 避けた方がよいでしょう。

2.6. 混合コンテンツの確認・修正

サイトにアクセスしてみて 鍵マークが表示されるか確認しましょう。
表示されていない場合は 混合コンテンツとなっている可能性が高いので F12開発者ツール を使用して原因を見つけます。
そして 修正したのちに再確認することを 鍵マークが表示されるまで繰り返します。

【追記】2018/02/01
混合コンテンツを自動で確認できる 混合コンテンツチェッカー を作成しました!
是非 ご利用ください。

詳しい使い方はこちら

本サイトでは URLに日本語を含んでいます。
メールなどで共有する場合は リンクとして認識されない場合がございますので、こちらをご利用ください。