WordPressプラグインを活用してブログのHTTPS化を行った

先日Googleの検索方式の変更でHTTPSが優先されると書いた
そこでさっそくだが当ブログをHTTPS化を行ったのでその内容を記録。
イロイロと細かい事はあるがおおむねスムーズに実現できたのではないかと思う。

SSLサーバ証明書発行のお知らせが来た

かねてから申し込んでいたSNI SSLのサーバー証明書発行のお知らせがメールでやってきた。
申し込んでから約1日半程度のレスポンスだ。

SNI SSLというのはIPを用いない簡易なSSLの事だ。
当ブログのように共用サーバーで独自ドメインという条件となるとこのSSLを利用する。
管理人の借りているさくらインターネットのレンタルサーバーの場合はサーバーへのセッティングは非常に簡単で管理画面で操作できる。

リダイレクトをどうするか?

一番の悩みはHTTPでアクセスしたときのHTTPSへのリダイレクトだ。
「.htaccess」へリダイレクト設定を書けば良いのだがWebド素人には敷居が高い。
過去に「.htaccess」を書き損じて画面が真っ白けにしたことがあるのだった。
そこでWordPressのプラグインで対応が出来ないかを調べてみたのだった。

「WordPress HTTPS」というプラグインがあるではないか

WordPressの世界は非常に便利だ。
本来はちょっと手抜きだと思うがプラグインでリダイレクトを設定する事が出来る。

今回は「WordPress HTTPS」というプラグインを使用してリダイレクトさせることにした。
「WordPress HTTPS」は「All In One WP Security」のBrute Force設定とぶち当たるのでとあえず「All In One WP Security」側を停止させた。

「WordPress HTTPS」というプラグインの設定画面その1
↑ 「WordPress HTTPS」というプラグインの設定画面その1、設定自体は赤丸の部分を入力するだけだ、これでHTTPS化が出来る、今回はサイト全体にHTTPS化したのでドメイン丸ごとの指定になっている

「WordPress HTTPS」というプラグインの設定画面その2
↑ 「WordPress HTTPS」というプラグインの設定画面その2、リダイレクトさせる対象を指定するところ、今回は前述のように対象がサイト全体なので/(スラッシュ)としている

 

WordPress設定

WordPress自体の設定としては自分自身のURLの設定がある。

  • WordPress アドレス (URL)
  • サイトアドレス (URL)

これらのURLをhttps://に変更した。

これでとりあえずはリダイレクトできる

この状態でHTTPでアクセスしてみるとちゃんとHTTPSにアクセスできる。
ここまでは順調なのだ。

細かいところを調整する

ここからが細かい作業になる。
HTMLソースを見ながらHTTPが残っている部分を潰していくのだ。
ここからの設定は当ブログで入れているプラグインの設定だったりテンプレートの設定を変更する。

「ALL in One SEO」プラグインの設定

当ブログはSEO対策としては定番の「ALL in One SEO」プラグインを導入している。
設定を次のようにいくつか変更する必要があった。

  • Default OG:Image
    URLをhttpsへ変更
  • Set Protocol For Canonical URLs:
    URLをhttpsへ変更
  • Default OG:Image
    URLをhttpsへ変更

GUSH2テンプレートの変更

当ブログはGUSH2というテンプレートを使用している。
このテンプレートはカスタマイズがやり易い、ソースが見やすくお勧めのテンプレートだ。
ただお任せという訳にはいかず、満足する動きをするまではかなり細かいところまで弄り倒す必要がある。
テンプレートに埋め込んでいるメタタグの1部をhttpをhttpsへ書き換えた。

HSTSの設定

結局HSTSの設定のために「.htaccess」を弄った。
このHSTSというのはブラウザにHTTPSで通信できるのでそうしてねという記述なのだ。
これによってサーバーからブラウザにHTTPSがある事を通知する。
「.htaccess」に次の1行を追加した。

Header set Strict-Transport-Security “max-age=31536000″ env=HTTPS

 

外部のサイトの設定変更

外部のサイトと言ってもブログランキングの登録URLをHTTPからHTTPSへ変更するだけだ。
ブログランキングはにほんブログ村とGooブログランキングの2か所のみの登録なので比較的簡単だ。

日本ブログ村のURL指定画面

訳の分からんトラブルいくつか

ここまでは順調だったのだがなんだか訳の分からないトラブルも出ている。

Chromeから管理画面に入れなくなった

止めてしまったがたぶん「All In One WP Security」のBrute Force設定の設定と関係があるかもしれない。
メインで使用しているChromeからWordPressの管理画面にログインが出来なくなってしまった。
ログイン画面は出るのだがID/パスワードを入力しても元の画面に戻って先へ進まないのだ。
この現象は他のブラウザIEやFFでは出ないのでここらへんがヒントだ。
きっとクッキーが悪さをしているのだということで消去したらうまくログインできるようになった。

「All In One WP Security」を復活

リダイレクトが設定できたのとChromeの問題が片付いたので「All In One WP Security」のBrute Force設定を再度行った。
これで一安心だ。

Gooブログランキングのブログパーツが動かなくなった

これは原因が分からず放置状態になってしまっている。
GooブログランキングのURL変更を行いブログパーツのコードを再度生成してWordPressに入れ込んでみたのだが表示されない。
枠はあるが中身が無い状態になってしまった。
ひょっとしたら変更が反映されるまでしばらく時間が掛かるのかもしれない。
しかしこのままでは不細工なのでブログパーツ自体を外している。

HTTPS化は完全ではないがまずまず

ここまでで当ブログのHTTPS化は一応完了である。
内部のリンクについては問題が無いが外部のリンクについてはHTTPが残っているのでIEでは警告が出てしまう。
これはちょっと不細工だ。
他のブラウザでは今のところ問題無い。

もちろんリダイレクトも問題無く機能していてHTTPでアクセスしてもHTTPSにリダイレクトされる。
なかなかええ感じだ(自己満足)。

FirefoxでSSLの状態を見たところ
↑ FirefoxでSSLの状態を見たところ、一応SSLを認識しているが「信頼できる運営者情報はありません」とつれない表示が出てしまっている、すべての外部リンクがHTTPS化していないので一部だけが暗号化されているとある、なんだかちょっと中途半端な印象がある、もう少し研究が必要だ

プラグインの不調や設定間違いでWordPressが動かなくなった時の対応

今までかなりWordPressを弄ってきたがプラグインの設定を間違えてしまい管理画面へ入れなくなった時の方法を1つ書いておくので参考にされたし。

管理人はサイトにファイルをアップダウンする時にはSCPを用いている。
これはプロトコルはSSHなのだが使用感はFTPのような感じなのだ。

これを用いて動かなくなった原因のプラグインのディレクトリネームをリネームしてしまう。
するとWordPressからプラグインが見えなくなるので結局該当のプラグインが無いのと同じことになる。
この方法で何度か助かっているのだった。

今回はこのへんで
では