広告

WordPressで作成されたブログをSSL化する

いろいろなサイトをネットで見ていると、Chrome等のブラウザーのURL表示の横に下のような文字を見たことがないでしょうか?

これは、SSL化されていないサイトを見ているという意味です。

昨年GoogleがサイトのSSL化を検索順位の評価に含めると発表しました。

その結果、企業サイトだけではなく、多くの個人のブログでも、現在SSL化しています。

「保護されていない通信」と表示されるのが気になっていたため、今回本サイトもSSLに対応することにしました。

具体的にどうやいう手順でSSL化したのか、その手順を紹介します。

まずSSLとは何なのでしょうか?

はじめに

SSLとは

SSLとはなんなのでしょうか?

WebサイトのURLにhttp://~というサイトとhttps://~というサイトがあるのをご存知でしょうか?このhttps://~というのがSSL化されたサイトです。

サイトのアクセスにSSL証明書を使用すことによって、通信を暗号化し、サイト利用ユーザーの個人情報やログイン情報を、悪意のある第三者の盗聴から防いだり、改ざんやなりすましから守ることができるのです。

SSL化されたサイトは訪問者に安心を与える

Chrome等のブラウザーで、SSL化されていないサイトを見ると、URLの右に「保護されていない通信」と出ます。SSL化されているサイトは鉤のマークになります。どちらが閲覧者にとって安心かは言うまでもないでしょう。

具体的な移行方法

当サイトは、さくらインターネットのレンタルサーバーで、WordPressで作られています。

さくらインターネットのレンタルサーバーでは、Let’s Encryptの提供する無料のSSL証明書を利用できますので、今回はそれを利用します。

WordPressのSSL化の手順は下記のようになります

  1. wordpressのデータのバックアップを行う
  2. サーバーで SSL の設定を行う
  3. WordPress の基本設定を変更する
  4. 投稿記事・固定ページ内のリンクを修正
  5. .htaccess でリダイレクト処理

WordPressのデータのバックアップを行う

WordPressの基本ですが、いじる前にバックアップをとりましょう。もし間違いがあった時に、普及が大幅に楽になります。

バックアップには、BackWPupがおすすめです。

BackWPup – WordPress Backup Plugin
WordPress の完全自動バックアップを予約します。保存するコンテンツ (Dropbox、S3など) を指定できます。これは無料版です

サーバーで SSL の設定を行う

さくらインターネットのサーバーコントロールパネルにアクセスします。ログイン後

「ドメイン・SSL設定」をクリック

SSL化するドメインの横の証明書 「登録」をクリック

「無料SSLの設定へ進む」をクリック

最終確認の画面になりますので、内容を確認後、「無料SSLを設定する」をクリック

下記の画面が表示されるはずです。これでSSLの取得とサーバーへの設置は完了です。


サイトには、数十分から数時間かかると記載がありますので、しばらく待ちます。今回私の場合は、申し込み後1時間ほどで、SSLが利用できるようになりました。

WordPress の基本設定を変更する

申し込みに間違いなければ、1時間ほどで、さくらサーバーからSSLサーバ証明書発行のお知らせがメールで通知されます。この段階で、これまでのhttp://~というアドレスとhttps://~というアドレスの両方でサイトにアクセスできるようになっています。https://~というアドレスでサイトにアクセスできることを確認してください。

WordPressの管理パネルの一般設定の中のサイトのURLをhttpからhttpsに変更します。(2か所)

この段階で、以前のhttp://~というアドレスでは、管理パネルにアクセスできなくなりますので、以降は、https://~というアドレスで、管理パネルにアクセスするようになります。

投稿記事・固定ページ内のリンクを修正する

これでブログはhttps://~のアドレスでアクセスできるようになっていますが、既に投稿した記事や固定ページ内で、自分のサイトの記事にリンクを張っていた場合、http://~となっています。

そこで記事の中に記載されているリンクhttp://~をhttps://~に書き換えます。

記事が少ない場合は、探して、手で書き換えてもいいのですが、Search Regexというプラグインを使うと、大量のリンクを一括に書き換えることができます。

Search Regex
Search Regex は、WordPress の投稿、ページ、独自の投稿種別、またその他のデータに対する強力な検索と置換機能を追加します。

Search Regexは、 WordPress のプラグインで、指定した文字列を検索して、一括書き換えを行えるツールです。

導入は、WordPress のプラグインメニューから Search Regex を検索、インストールし、有効化を行います。

WordPressのツールメニューから起動します。

Search patternに http://から始まる元のサイトのアドレス(例 http://www.abc.com)を入れ、 Replace patternの部分 にhttpsに変更したSSL化後のアドレス (例 https://www.abc.com) を入れ「search」をクリック。検索された記事が表示されますので、確認後クリックで置き換えが実行されます。

Source:Post content(デフォルト)
Limit to:No limit(デフォルト)
Order By:Ascending(デフォルト)
Search pattern:http://(SSL化する前のあなたのURL)
Replace pattern:https://(SSL化後のあなたのURL)
Regex:選択不要

.htaccess でリダイレクト処理

この状態だと、これまでのhttp://~というアドレスとhttps://~の両方にアクセスできます。そのため、重複ページと認識されてしまうため、.htaccessを編集して、http://~というアクセスを
にリダイレクト する設定をします。

・.htaccessの編集は、サイトが表示されなくなるなど、不具合が起こる可能性があります。パソコンにダウンロード後、オリジナルのコピーを取ってから編集してください。

今回はさくらインターネットのサポートページを参考に、以下の内容を.htaccessの最上部に挿入しました。

# BEGIN Force SSL for SAKURA 
# R ewriteしてもHTTPS環境変数を有効にする
SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1
# 常時HTTPS化(HTTPSが無効な場合リダイレクト)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteCond %{REQUEST_URI} !^/wp-cron.php$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END Force SSL for SAKURA
# RewriteしてもHTTPS環境変数を有効にする

間違いがなければ、以上でSSL化ができているはずです。

https;//~で始まるSSL化後のアドレスで、サイトにアクセスして確認してください。

以下のように鍵のマークになっていれば、SSL化されています。

また元の http;//~ のアドレスでアクセスして、 https;//~ に リダイレクトされていることも確認してください。

コメント