WordPressでサイトを立ち上げたら、すぐにHTTPS化(常時SSL化)をするわけですが、作業頻度が少なくてだいたい忘れるので、自分用作業メモです。
HTTPSに設定する理由
Googleの検索順位(SEO)に影響する:Googleは過去に「HTTPSを検索順位の決定要因(ランキングシグナル)に使用する」と公式に発表している。つまり、同じ品質の記事が2つあった場合、HTTPS化されているサイトの方が検索結果で上位に表示されやすくなる。
「保護されていない通信」の警告による離脱を防ぐ:現在主流のブラウザ(Google ChromeやSafariなど)では、HTTPS化されていないサイトを開くと、URLバーに「保護されていない通信」という警告が目立つように表示される。これを見た読者は不安になり、すぐにページを閉じてしまう(離脱する)可能性が高まる。読者の早期離脱は、間接的にサイト全体の評価を下げる原因にもなる。
手順
まずはサーバー側でSSL証明書を発行する。エックスサーバーの標準機能を利用すれば、無料で設定可能。
- エックスサーバーのサーバーパネルにログインする。
- 「ドメイン」カテゴリ内にある「SSL設定」をクリックする。
- HTTPS化したい対象ドメインの「選択する」をクリックする。
- 「独自SSL設定追加」のタブを開き、対象ドメインが選択されていることを確認して「確認画面へ進む」→「追加する」の順にクリックする。
注意: サーバーにSSL設定が反映されるまで、最大で1時間程度かかる場合がある。設定直後に「https://〜」のURLにアクセスしてエラー画面(無効なURLなど)が出た場合は、しばらく時間をおいてから再度アクセスすること。
サーバー側のSSL設定が反映され、「https://〜」でサイトが表示されるようになったら、WordPress側の設定を変更する。
- WordPressの管理画面(ダッシュボード)にログインする。
- 左側メニューの「設定」から「一般」を開く。
- 以下の2つの項目のURLを
http://からhttps://に変更する(半角の「s」を追記する)。- WordPress アドレス (URL)
- サイトアドレス (URL)
- 画面最下部までスクロールし、「変更を保存」をクリックする。
保存直後に自動的にログアウトされ、ログイン画面に戻るがこれは正常な動作。再度ログインして次のステップへ進む。
この段階では、「http://」と「https://」の2つのURLにアクセスできる状態になっている。古い「http://」にアクセスしたユーザーを、自動的に新しい「https://」へ転送(301リダイレクト)する設定を行う。
- エックスサーバーのサーバーパネルに再度ログインする。
- 「ホームページ」カテゴリ内にある「.htaccess編集」をクリックし、対象ドメインを選択する。
- 「.htaccess編集」のタブを開く。
- 記述されているコードの一番上に、以下のコードをコピー&ペーストで追記する。
Apache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
- 「確認画面へ進む」→「実行する」をクリックして保存する。※元々記述されているコードはサイトの動作に関わるため、絶対に消したり書き換えたりしないこと。
過去に作成した記事内の画像URLや内部リンクを修正する。ページ内の一部に「http://」のデータが混ざっている状態(ミックスコンテンツ)だと、ブラウザの鍵マークが正常に表示されないことがある。
手軽な解消方法(プラグインを使用):
プラグイン「Really Simple SSL」の利用を推奨。インストールして有効化し、画面の指示に従ってボタンを数回クリックするだけで、サイト内の内部リンクを自動でHTTPSに変換してくれる。
または、「Search Regex」などの検索・置換プラグインを使用し、データベース内の http://自サイトのドメイン を https://自サイトのドメイン に一括置換することでも対応可能。
とにかく「最初にやる」
ドメインを設置したらすぐにSTEP1、サイトを設置したらすぐにSTEP2、をやっておけば、STEP4は必要なくなる。
