エックスサーバーで無料独自SSLを設定してWordPressを常時SSL化する

エックスサーバーの無料独自SSLとは

エックスサーバーでは2016年から全プランで独自ドメインでのSSL(独自SSL)が無料で利用できるようになっています。

無料独自SSL導入以前は、固定IPアドレスを取得しIPアドレスベースでのSSL証明書をインストールする必要がありました。またSSL証明書というと有名SSLブランド(シマンテック、グローバルサインなど)年間4万円弱〜10数万円という費用がかかるものでした。しかし近年はドメイン認証でのSSLの利用ができよりSSLの導入がしやすくなりました。

エックスサーバーで利用できる無料独自SSLは「Let’s Encrypt」というものです。

「Let’s Encrypt」は全世界すべてのWebサーバへの接続を暗号化することを目指したプロジェクトでアメリカの非営利団体による認証局で「SSL/TLSサーバ証明書」を無料で発行しています。

Let’s Encrypt
https://letsencrypt.org/

エックスサーバーで無料独自SSLの設定方法(新規にドメインを設定)

エックスサーバーで新規に独自ドメインを設定する場合、ドメイン設定画面で「無料独自SSLを利用する」という項目にチェックを入れれば一緒に設定が可能になっています。

エックスサーバーで無料独自SSLの設定方法(すでにドメインを設定済み)

すでに設定済みのドメインの場合は、SSL設定から設定可能です。

エックスサーバーのサーバーパネルにログインして、ドメインメニューの中のSSL設定

SSL設定を開くと、ドメイン一覧が表示されるので独自SSLを設定したいドメインの「選択する」をクリック

「独自SSL設定追加」のタブをクリックします。

独自SSLを設定追加画面で、設定対象ドメインを確認します。エックスサーバーの独自SSLはwwwありでもwwwなしでもアクセス可能です。

左下に「CSR情報(SSL申請書情報)を入力する」という項目があります。

CSR情報とは、SSL認証局(SSL証明書を発行するところ)にサーバーIDを申請するためのものでCertificate Signing Requestの略になります。CSRには、SSL証明書の公開鍵のほか、コモンネーム(www.ドメイン名など)や国、都道府県、組織名、部署名などが含まれます。

この「CSR情報(SSL申請書情報)を入力する」にチェックを入れると、CSR情報を入力するフォームが表示され、自分の情報を入力することができます。

ただ、エックスサーバーの無料独自SSL「Let’s Encrypt」ではCSRは特に必要ないようで、チェックを入れなくても問題ありません。(有料の独自SSLを追加する場合は入力します。)

CSR情報を入力する場合は日本語でなく英語またはローマ字で入力します。

最後に「追加する」をクリック。

問題なければSSL設定一覧に追加した独自SSLが表示されます。

SSLが反映されるまでには少し時間がかかります(数10分〜1時間)

WordPressを常時SSL化する

エックスサーバー側の独自SSL設定が完了したら、WordPressの設定をSSLに変更します。

WordPressにログインし、設定>一般メニューを開きます。

WordPressアドレスとサイトアドレスのURLをhttpからhttpsに変更し保存します。

URLを変更すると一旦ログアウトし再度ログインを求められますのでログインし直します。

WordPressを常時SSL化する場合、記事本文中などに含まれるURLなどもhttpsに書き換える必要があります。

これを書き換えるにはSearch Regexというプラグインを使います。もしSearch Regexが入っていない場合はプラグインページから追加します。

Search Regex

Search Regexは正規表現を使った色々便利な使い方がありますが今回は単純にhttpからhttpsに検索置換します。

Search patternの欄にhttp://ドメインを入力し、
Replace patternの欄にhttps://ドメインを入力します。

Searchボタンをクリックすると置き換えする候補が表示されます。そのまま置き換えする場合は「Replace」か「Replace & Save」をクリックします。

記事数が多い場合、Replaceしてもエラーになる場合があります。 その場合は数回に分けて置き換えして修正します。

Search Regexで数回に分けて検索置換するには

Limit toのところで件数を指定してReplaceします。

そのほかテーマファイルのPHPなどでもhttpで始まるURLが記載されていないかチェックします。

最終的にSSL化されているかブラウザで確認

サイトをブラウザで確認し、URLの左側に鍵アイコンが付いて入ればSSL化されています。

SSL化したページに301リダイレクトする

最後にhttp://〜のURLにアクセスされたらhttps://〜に転送されるように301リダイレクト設定します。

301リダイレクトは恒久的な転送(Permanent Redirect)でサイトの移転などに使われるリダイレクト方法で、SEO上も重要です。リダイレクト設定はアクセスしてきた人に対してだけでなく検索エンジンにも伝える役割を持っています。

エックスサーバーの場合、ウェブサーバーはNginxですがApacheと同じように.htaccessが使えます(すごく便利)。

以下の内容を.htaccessに記入します。

RewriteEngine on RewriteCond %{ HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

.htaccessファイルを直接編集するか、エックスサーバーのサーバーパネルから編集できます。

サーバーパネルログイン後、ホームページメニューの中に.htaccess編集があります

.htaccessにすでに記載されているものを上書きは×。追記しましょう。.htaccessはサーバー上重要な設定です。記述を間違えるとサーバーエラーになるので慎重に。

Designed by Macrovector