遅まきながら、このブログも、ようやくSSLを導入しました。
2018年7月以降、常時SSL対応をしていないサイトは、Google Chromeのアドレスバーに「保護されていません」という表示がされるようになってしまい、それが目障りだと感じていました。
調べてみたところ、どうやら無料でSSLの導入ができるみたいですし、もうそろそろ導入しなきゃな~ってことで、1年で正月に次いでアクセスの落ちるこの時期(※例年、資格試験が行われない正月・GW・お盆・年度末になると目に見えてアクセス数が落ちる)に設定してみました。

下準備:①データベースのバックアップ(wordpress側)
サーバー側の設定(SSL新規取得の申請)
②サーバーのパネルから「SSL設定」を選択
SSLを設定するドメインを選択
「無料独自SSL追加」タブをクリック。
無料独自SSL追加(確定)ボタンをクリック
この時点で、「SSL新規取得申請中です。しばらくお待ちください。」と表示される。
↓
申請が完了すると、「独自SSL設定を追加しました」と表示される。
※ちなみに、「すでに独自SSLが設定されています。」となっていても、30分~1時間くらいはエラーメッセージが表示されます。
10分おきくらいに確認してみてください。
↓
SSLアドレスからサイトが開けるようになってから行うこと
wordpress側の設定
③wordpressの設定からURLを変更する
「一般設定」のWordPress アドレス (URL)とサイトアドレス (URL)の2か所を変更する。
http→httpsに変更する。変更を保存。
・④内部リンクの変更
一つ一つやってもいいのだろうけど、プラグイン「Search Regex」をつかえば、一括で変更できるので、こっちを使った方がいいです。
ツール→search Regexを選択する。
Search Patternには、旧アドレス
Replace Patternには、SSL化された新アドレス
を入力する。(ほかの設定はいじらなくてもいいでしょう)
※一度変更すると後戻りができないため、アドレスのスペルミスには気を付けること!
まずは、Replaceボタン(真ん中のボタン)をクリックして、正しい変換になっているかどうかを確認する。問題なさそうなことを確認してから、「Replace&Saveボタン(右端のボタン)」を押すこと。
↓
サーバー側の設定(.htaccessに追記)
⑤.htaccessにリダイレクト用のコードを追記する
ftpソフトで.htaccessファイルをダウンロードするか、サーバーパネルで「.htaccessの編集」から直接編集する。
以下のコードを、先頭部分に追記する。
<ifmodule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</ifmodule>
※スターサーバー系の場合は、
FTPアカウント設定→FTPアカウント一覧→Web FTPをクリックすると、ファイルマネージャーにアクセスできる。
※どちらの方法にしても、.htaccessファイルの編集に失敗するとエラーが発生するため、編集前のファイルはメモ帳などにバックアップして保存してから行うこと。
⑥ブラウザのセキュリティ状態をチェック、各ページの修正(wordpress側)
google chromeで安全な接続になっていると、南京錠マークになる。
安全でない状態と表示されている場合(!マーク)は、各ページごとに修正を行う。
(Chromeのデベロッパーツールで確認する。F12キー→Consoleタブを開く)
「Mixed Content」と表示されているところのページ・画像などを修正する。
このブログでは、「enhanced categories」のプラグインが原因でエラーが発生していたので、このプラグインを停止して、普通のカテゴリーを使うことにしました。
面倒くさいので、こちらのページに載っていたコードを、functions.phpのファイルにそのままコピペさせてもらいました。

外観→テーマエディター→(テーマファイルの)function.phpを選択する。
※ちなみにfunctions.phpをいじったら、コピペをしそこねたところがあったためにエラーが発生し、サイトが表示されなくなってめっちゃ焦りました!!
functions.phpファイルを編集するときは、サーバーにすぐアクセスできる状態(ftpが使える状態)にしてから修正をすること!
(2019年4月追記)
過去ログをチェックしていると、特に古いページでは、!マークのついたページ(常時SSL化されていないページ)が多かったです。
特に、「img border=”0″ width=”1″ height=”1″ src=”http://www11.a8.net/0.gif?〜」のようなところは見落としやすいので注意が必要です。
(上のfunctions.phpファイルへのコピペでは、変換されていないようでした。)
search regexを使って、「src=”http://」で始まるものがないかどうかをチェックするようにするといいでしょう。
⑦Google Analytics、Search Consoleの設定変更
こちらの設定もお忘れなく。
Google Analyticsは、「プロパティの設定」と、「ビューの設定」の2か所を変更。
Search Consoleは、「プロパティを追加」と、「サイトマップの送信」です。
(サイトマップを送信してから約2日くらいで、https://の方がインデックスされます。)
ここまでやったところで、(ほぼ)SSL対応はできたかなと思います(もしかしたら細々としたエラーはまだあるかもしれないが)。
作業開始からここまでで、おおむね2時間くらいかかりました。
案外簡単にできたような気もするし(ヒヤッとしたのはfunctions.phpでエラーが発生したところだけ)、でもやるんだったら、ちゃんと下準備をしてからじゃないと、意外なところで時間がかかってしまったり、思わぬエラーが発生してものすごく焦ります。
なので、SSL化をする際には、
事前に段取りをきちんと決めておくこと。
何かエラーが起きた時に備えて、すぐにサーバーへアクセスができる状態にしておくこと。
データベースやファイルのバックアップを取っておくこと(エラーが発生してもあせらないこと)が大事だと思います。
★参考:おすすめレンタルサーバー各社
独自SSLが無料!クラウド型高速レンタルサーバーが月額126円(税抜)から!スターサーバー
月額900円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』
コメント
SSLは現在、その上位互換にあるTLS方式が主流になりつつあるようですね。
難しいことはさておき、少しずつ自宅サーバーの可能性を探るべく、設定をいじってみてます。(とりあえず空白のトップページを作って、SSL証明書作ったまでです。)
あとは外部からのアクセス権を制限する設定を入れたりと、気が遠くなるような.htaccessの面倒くさい設定が続くようですので、応用情報の合間を縫っていじってみたいと思っています。
セキュリティ対策に詰んで、心が折れそうになってきたら、レンタルサーバーを検討しているかもしれません(汗)。
>88_73さん
自宅サーバーの導入ですか!
自分としては、SSL導入とかそれ以前にサーバーそのものの物理的なメンテナンスが面倒くさそうなので、サーバーはレンタル派ですね。
blogはこの1つだけしか運営していないですし、多分その方が楽かなぁと。
でも自宅で運営するとなると、ネットワークとセキュリティに関する知識はすごく勉強になるのかなと思います。
時代の流れですねえ。Googleが強引気味にやってくれたおかげで普及が進んでいます。とても良い傾向だと思います。勤務先でも、以前はだれも必要性を理解できてなかったのに、Googleの方針ですと言っただけで話が進みましたw
自宅のNASと外部との通信だけはHTTPSにしてます。勝手に発行したなんちゃって証明書ですけど。ウェブサイト運営してないので暗号化目的だけのこれで充分かなと。
もし自分でサイト運営してたら、EV SSLで緑色のバーがいいなあ。もうちょい安くならないかと思うけど。
シーラさん
このブログはECサイトじゃないとはいえ、ブラウザのアドレスバーのところに「保護されていません」って表示されていたら、やっぱりあまりいい気はしないですよ…。
なんちゃって証明書(笑)まぁ私のところの常時SSL化も、無料でできるやつなので…申し訳程度だとは思いますがね。
EVSSL証明書はたしかに、ある程度の規模の企業であれば必須なのでしょうけど、個人ブログで導入するには高すぎますね!