最近のブラウザは、SSL化されていないサイトに対して「保護されていない通信」と表示される。これが表示されると心配になってサイト見に来てくれない気がするので対応は必須だ。エックスサーバを使っているのでその前提の内容だがやることは同じ。
エックスサーバでSSL化設定
エックスサーバーのマニュアル読んだほうが正確だけど。サーバーパネル内にある「ドメイン」>「SSL設定」でドメイン選択画面から対象のドメインを選択する。SSL設定画面が表示されるのでタブの「独自SSL追加設定」をクリックして以下表示へ進む。
・よほどの設定とかしていなければwww.ドメイン名のみ表示されていると思うのでそのまま
・CSR情報は不要なのでチェックせず
・確認画面へ進むをクリック
数分程度「取得中」と表示される。SSL設定が「反映待ち」と表示されている間はしばらく待つ。最大60分程度かかるらしい。ドメイン一覧で「設定中」が消えたら完了。

WordPress側の設定
これを失念してよく慌てる。Wordpressダッシュボード「設定」>「一般」へ進み以下部分を修正
・wordpressアドレス(URL)の「http」を「https」に変更
・サイトアドレス(URL)の「http」を「https」に変更
これ間違えるとダッシュボードにアクセスできなくなる可能性もあるので慎重に。修正したら「変更を保存」。再度ログイン画面が表示されるので再ログイン。ダッシュボードのURLがhtppsに変更されていればOK。

.htaccessファイルに常時SSLの設定
これも気がつくまで忘れてることが多い。そのままだと「http」でも接続されてしまう。常時SSLになってない。「http」でリクエストされても「https」として通信させるために「.htaccess」に「https」に転送するコードを書き加える。
「.htaccess」ファイルはApacheを使ったサーバーの挙動を制御するための設定ファイル。ミスるとすべての設定がおかしくなって大変なことになる。要注意。
エックスサーバなら管理画面から「.htaccess編集」>「ドメイン選択画面」で対象のドメインを選択しタブ「.htaccess編集」で編集画面に行ける。自分はTransmitというFTPツールで直接編集してしまう。
ファイルを開いたら以下3行を一番上段に追加する。もともと合った記述は絶対に消さないように!編集前の内容はミスったときのためコピペしてどこかに保存しておくといい。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteEngine On →有効(ON)・無効(OFF)の設定で「有効(ON)」
RewriteCond %{HTTPS} !on →条件を設定(RewriteCond)「httpsがonでない場合(%{HTTPS} !on)」に設定
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] →ルールを設定(RewriteRule)R = 301は永久に転送
これで設定は完了。最後にリダイレクトチェックしてみる。うまく行かなきゃ考える。あとサイト内で直リンクしている箇所がある場合はそれも修正すべし。
NOTICES
- 記事内容は実装させたものがほとんどですが自己責任で参考にしてください。