いままでここのブログは、サイト全体をhttps://〜のSSL通信にしていました。もうすぐWordPressを始めて一年経つのですが、ここのSSL証明書であるRapidSSLの有効期限が10月に切れる予定です。期限切れの前に一旦サイト丸ごとSSL通信はやめて、お問い合わせフォームと管理画面だけをSSL通信に変えようと思いました。
変えようと思った主な理由は以下こんなところです。
- 広告関係がGoogle AdsenseしかSSLに完全対応していない。一年前は他のアフィリエイトサービスもSSL対応に追従するかと思ってたが、今でも状況は変わらずで、やはり他の広告も載せたい。
- SSL証明書の価格が一年で2-3倍に値上げされていてインフレが酷い。
- 9月中旬から始まるLet’s Encryptプロジェクトの無料SSLに乗り換える算段だが上手く移行できるとは限らないので、リスク低減のため必要最低限のお問い合わせフォームと管理画面だけSSLにしておきたい。
このページの目次
プラグイン使用
一部ページだけSSL対応させるプラグイン「WordPress HTTPS(SSL)」を使うのが定番のようです。見ると2年以上更新されていないプラグインなのです。類似プラグインもなさそうです。
プラグイン以外の方法はないかといググって試してみたのですが管理画面を強制SSLにする方法と、Contact Form7で固定ページに作ったコンタクトフォームを.htaccessやPHPを使ってリダイレクトさせる方法を両立させようとするとリダイレクトの無限ループ地獄に陥ったり、管理画面のプレビューや、ビジュアルモードとテキストモードの切り換えが出来なくなったりしたのであきらめました。
それでプラグインWordPress HTTPS(SSL)を試してみたら、管理画面と固定ページのコンタクトフォームのSSL化の両立がバッチリできたのです。現行WordPress4.2.4では動作確認が取れていない事をふまえて利用することにしました。
変更前の状態
ブログ開設初期からサイト全体をSSL通信にしたため、自宅サーバーのapache2をSSL通信対応にするのを除けば、WordPress側で設定していたのは、管理画面の一般設定でサイトアドレスをhttps://〜に設定した一点だけです。
最初からSSL対応にしていたので、プラグイン利用なし、リダイレクトの設定も無しの状態でSSL通信で運用できていました。ここのURLをhttp://〜に戻してからプラグインの設定をしました。
プラグインのインストールと有効化
管理画面のプラグイン新規追加から「WordPress HTTPS(SSL)」で検索してインストールと有効化。いつもの手順です。
設定
管理画面のダッシュボードに「HTTPS」というメニューが出ているので開きます。
General Settings
チェック1Force SSL Administration
管理画面を強制SSLにするためにチェックを入れます。
チェック2Force SSL Exclusively
このあと設定するURLフィルターで指定したアドレス以外のページはhttpにしてくれます。ここにチェックを入れないと、非SSLにしたいページもSSLページから移動するとhttpsになってしまう事を防げます。
URL Filters設定
URLフィルターの設定を入れます。httpsにしたいページのアドレスを入れます。アドレスのパーマネント部分だけで良いようです。複数ページを指定する場合は、改行をして一行一ページで複数行で入力します。
設定が終わったら「Save Changes」で保存します。
最後にひとこと
以上の設定で、管理画面とお問い合わせフォームだけSSL通信となりました。プレビュー画面も含めて動作も問題なさそうです。