WordPressで運用しているサイトにSSLを導入したときにやったこと

男の子

つい最近のことなのですが。

恥ずかしながら、私はわりと最近まで SSLを導入していませんでした。

私が仕事でWeb制作をやっていたころは SSL導入は有料で個人情報を入力するようなサイトでは当然導入すべきだったのですが。

個人で趣味でやっているようなブログなんかは導入していないところの方が多かったような気がします。

しかし Google Chrome ブラウザで SSLに対応していない、すべてのページで警告が表示されるということがあったり。

SEO的にも今後 SSL未導入サイトはかなり不利になったりすることから。

世の中の流れは SSLを導入した方が良いということに完全になっています。

何より見ている人が不安になりますからね。

今回は私が SSLを導入したときにやったことを紹介します。

導入すること自体は簡単なのですが。

今までインデックスされている検索エンジンや外部からのリンクの対応(対策)が必要になるので。

色々やることがあります。

  • SSL をレンタルサーバー側で導入する
  • WordPress の管理画面からサイトアドレスと WordPressアドレスを変更する
  • http でアクセスしたページは https へ飛ばすようにする
  • 画像や内部リンクも http でなく https に変更する

それでは順番に見ていきましょう。



SSL をレンタルサーバー側で導入する

独自SSL は最近だと無料で提供しているところも多いです。

今回はロリポップを例に紹介します(おそらく他のレンタルサーバーも難しくないと思います)。

ユーザー専用ページにログインしてセキュリティから独自SSL証明書導入を選びます。

SSL 保護されていないドメインというのが表示されるので。

あとは SSL を導入するドメインにチェックを入れて「独自SSL(無料)を設定する」をクリックするだけです。

5分くらい経過してから https でアクセスできれば問題なく設定できているでしょう。

WordPress の管理画面からサイトアドレスと WordPress アドレスを変更する

設定から簡単に変更できるので http で登録しているのを https に変更しましょう。

http でアクセスしたページは https へ飛ばすようにする

なぜ、このようなことをするかというと今まで検索エンジンにインデックスされているページは以前のhttpであるからです。

他にも外部サイトからリンクを貼ってくれている場合、httpでアクセスされる可能性もあるわけです。

そこでこの作業が必要になるわけです。

たいていのWebサーバーの場合、Apache を使っていることが多いかと思います。

今回の WordPress(ワードプレス)の場合も設定ファイルのようなものがあり。

.htaccess というファイルがあります。

このファイルはIPアドレスやドメイン単位のアクセス制限やCGIなどを実行するための宣言を書き込むことができます。

今回は難しいことはふれずに。

以下の記述を追加します。

# SSL化によるリダイレクト設定
<IfModule mod_rewrite.c> 
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>  

私も専門家ではないので詳しくはないのですが。

# の後ろはコメントとして扱われます。

mod_rewrite というモジュールがあれば実行。

HTTPS が off の場合、次のルールで書き換える。

HTTP_HOST が ドメイン で REQUEST_URI が リクエストしているドメイン以下のパス(/index.phpなど)かと思われます。

「301」というのはリダイレクト処理のひとつで「一時的ではなく恒久的に転送する」という意味です。

他に「404 File not found(ファイルが見つからない)」というのが有名ですね。

「300番台」は「リダイレクト」を表します。

「^(.*)$」の部分は「正規表現」といって少し難しいです。

「行の先頭」「あらゆる一文字」「0回以上の繰り返し」「行の末尾」

この場合、行全体ということだと思います。

要約すると https 以外でアクセスしたら全体を https のリクエストされたページへ書き換えて「301」で飛ばせということです。

こんなのわからない人からしたら面倒ですよね。

またロリポップでは動作確認できましたが、サーバーが異なると動作しない可能性もあるので注意してください。



画像や内部リンクも http でなくhttps に変更する

実は記事の中のリンク先や参照先の画像が http である場合も警告が表示されるので。

全て https に書き換える必要があるのです。

この作業はひとつひとつやっていたらかなり大変です。

今回は WordPress(ワードプレス)なので Search Regex というプラグインを使うと簡単です。

ただし、そこそこ危険な作業なので必ずバックアップだけは取っておきましょう。

このプラグインを使えば http://自分の独自ドメイン/ を https://自分の独自ドメイン/ に一括で置換できます。

あとアフィリエイトをやっている方は広告がSSLに対応していないものであれば警告が表示される可能性があります。

最後に

タイピング

最初から SSL を導入していれば、こういう面倒なことはしなくても良かったのですが。

私の場合、運用途中からの導入なのでこのような処理が必要になりました。

今からサイトやブログを制作しようと考えられている方は。

SSLを導入してから運用することを強くおすすめします。