WordPressをSSL化した後にやること|httpからhttpsへ301リダイレクトする方法

雑記
スポンサーリンク

WordPressをSSL化してhttpsに変更したはずなのに、「http://〜」のURLでアクセスしたらそのまま表示されてしまった…という経験はありませんか?

実は、サーバー側でSSLを設定してWordPressのURL変更をしただけでは、古いhttp://のURLは自動的にhttpsへ転送されません。「301リダイレクト」の設定が別途必要です。

この記事では、SSL化後に必要な301リダイレクトの設定方法を、エックスサーバーでの.htaccess編集を中心に解説します。

SSL化自体がまだ済んでいない方は、先にこちらをどうぞ。
→ エックスサーバーでWordPressをSSL化する方法|httpからhttpsへ変更する手順と注意点

これからWordPressブログを始めるなら、無料SSLが使えるレンタルサーバーを選んでおくと後が楽です。
私はエックスサーバーでSSL化しました。

レンタルサーバー エックスサーバー
スポンサーリンク

1. SSL化しただけではhttpのURLが残ることがある

Xserverで独自SSLを設定し、WordPressの「設定>一般」でアドレスをhttpsに変更すると、サイト自体はhttpsで表示されます。

しかし、これだけでは「http://example.com/」と「https://example.com/」という2つのURLが同時に存在している状態になります。httpのURLにアクセスしてきた人は、httpsへ転送されずそのまま表示されてしまうことがあります。

この問題を解決するのが、httpからhttpsへ自動転送する「301リダイレクト」の設定です。

2. 301リダイレクトとは?

「301リダイレクト」とは、あるURLに来たアクセスを別のURLへ恒久的に転送する設定です。

「恒久的」というのがポイントで、「このURLは完全に移転しました」とブラウザや検索エンジンに伝える効果があります。一時的な転送(302リダイレクト)とは異なり、SEO評価も転送先のURLに引き継がれます。

SSL化の場合は「http://〜 → https://〜 へ恒久的に転送」という設定になります。

3. 301リダイレクトしないと起きる問題

httpとhttpsが併存したままにしておくと、以下のような問題が起きることがあります。

  • SEV評価が分散する:Googleがhttp版とhttps版を別々のページとして認識し、評価が割れる可能性がある
  • セキュリティ警告が出る:httpのURLでアクセスしてきた訪問者に「保護されていない通信」と表示される
  • 被リンクの効果が分散する:外部からhttp版URLへのリンクがhttps版に引き継がれない

SSL化のメリットを最大限活かすためにも、301リダイレクトはセットで設定しておくのが基本です。

4. Xserverでhttpからhttpsへ301リダイレクトする方法

エックスサーバーでは、サーバーパネルの「.htaccess編集」から設定できます。

作業前の注意:必ずバックアップをとってください。.htaccessを誤って編集するとサイトが表示されなくなることがあります。編集前に現在の.htaccessの内容をコピーしてメモ帳などに保存しておきましょう。

  1. エックスサーバーのサーバーパネルにログイン
  2. 「.htaccess編集」をクリック
  3. 対象ドメインを選択
  4. 現在の.htaccessの内容をコピーしてバックアップ
  5. 後述のコードを既存のコードより上の行に追記
  6. 「確認画面へ進む」→「実行する」で保存

画面の名称はサービスのアップデートにより変わる場合があります。最新の操作手順はXserver公式マニュアルをご確認ください。

5. .htaccessに追加するコード例

以下のコードを.htaccessの既存のコードより上の部分に追記します。

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

⚠️ 「example.com」の部分はご自身のドメインに置き換えてください。

また、既存の.htaccessを丸ごと消して上書きしないよう注意してください。WordPressが動作するために必要なコードがすでに書かれているため、消してしまうとサイトが表示されなくなります。あくまで「追記」です。

追記場所の目安は、WordPressのデフォルト記述(# BEGIN WordPress)より上の行です。

6. 301リダイレクトできているか確認する方法

設定後は、実際にhttpのURLにアクセスしてhttpsへ転送されるか確認しましょう。

  1. ブラウザのシークレットモード(キャッシュなし)を開く
  2. 「http://(自分のドメイン)/」と入力してアクセス
  3. アドレスバーが自動的に「https://〜」になっていればOK
  4. トップページだけでなく、記事ページのURLでも同様に確認する(例:http://example.com/hogehoge/)

ブラウザのアドレスバーに鍵マーク(🔒)が表示され、URLがhttpsになっていれば成功です。

7. うまくリダイレクトされないときの確認ポイント

設定してもリダイレクトされない、またはエラーが出る場合は以下を確認してみてください。

  • ドメイン名が間違っていないか:コード内の「example.com」を正確に自分のドメインに書き換えているか
  • 既存のコードを消してしまっていないか:バックアップと見比べて確認する
  • WordPressのURL設定がまだhttpになっていないか:「設定>一般」でWordPressアドレスとサイトアドレスがhttpsになっているか確認する(→ SSL化の手順はこちら)
  • Xserver側のSSL設定が完了していないか:サーバーパネルのSSL設定で「SSL設定済み」になっているか確認する
  • ブラウザのキャッシュが残っていないか:シークレットモードや別のブラウザで確認する

上記を確認しても解決しない場合は、一度.htaccessをバックアップした内容に戻してから、コードの追記箇所・内容を見直してみてください。

まとめ

SSL化後の301リダイレクト設定をまとめます。

  • SSL化しただけではhttpとhttpsが併存することがある
  • 301リダイレクトを設定することで、httpへのアクセスをhttpsへ恒久的に転送できる
  • Xserverではサーバーパネルの「.htaccess編集」から設定できる
  • 編集前に必ずバックアップをとること、既存コードは消さないこと
  • 設定後はシークレットモードでhttpのURLにアクセスして転送を確認する

SSL化の全体的な手順については、こちらの記事もあわせてご覧ください。
→ エックスサーバーでWordPressをSSL化する方法|httpからhttpsへ変更する手順と注意点

コメント

タイトルとURLをコピーしました