こんにちは、ひつじ先輩 (@baacash_)です。
この記事では、WordPressで301リダイレクトを使う方法を書きます。
今回はプラグインなしで、しかもカンタンな方法を紹介します。
プラグインを使うのもいいですが、サイトの速度が遅くなります。
セキュリティを考えても、減らしたほうがいいです。
301リダイレクトを使って
- URLが変わったときの評価引継ぎ
- SSL化で変わったURLを統一
などを行っていきます。
WordPressで301リダイレクト
301リダイレクトは、あるページに来たユーザを別のページに転送する設定です。
- 旧ドメイン→新ドメイン
- httpから始まるアドレス→httpsから始まるアドレス
といった転送を行えます。
新しいページへのリダイレクトにより、新旧に散らばるアクセスを統一できます。
また被リンクなど、旧ページへの評価があるなら、それを新ページへ引き継げます。
301リダイレクト設定箇所
レンタルサーバのルートディレクトリにある、「.htaccess」というファイルで設定します。
「wp-admin」「wp-content」などのディレクトリと、同じ階層にあるはずです。
この.htaccessに、これから紹介するコードを貼ります。
.htaccessには、元々「# BEGIN WordPress」と書かれた行があるはず。
コードは、「# BEGIN WordPress」より上に貼りましょう。
新ドメインへ301リダイレクトする
ドメインが、「before.lolipop.jp」から「baacash.com/」に変わった場合。
以下のようなコードを貼ります。
RewriteCond %{HTTP_HOST} ^(before\.lolipop\.jp)(:80)? [NC]
RewriteRule ^(.*) https://baacash.com/$1 [R=301,L]
「before\.lolipop\.jp」のところには旧ドメインの「http://」を以外の部分。
「.」の前に「\」(バックスラッシュ)を追加します。
「https://baacash.com/」のところには、新しい独自ドメインを書いてください。
試しに、旧ドメインのページのどれかへアクセス。
自動で新ドメインの同じページへ転送されたら、成功です。
httpからhttpsに301リダイレクトする
SSL化でも、リダイレクトを使います。
コードは、以下を貼ります。
#SSL Redirect
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
こちらはコードの編集は不要ですね。
SSL化すると、
- http://domain.com/
- https://domain.com/
の2つ、どちらにもアクセスできる状態になります。
このコードを貼ればhttpのページにアクセスすると、自動でhttpsに転送されます。
試しに「http://domain.com/」へアクセス。
自動で「https://domain.com/」へ転送されたら、成功です。
SSL化については、こちらの記事で書きました。

ぜひ、読んでみてください。
301リダイレクトができない?
301リダイレクトは、.htaccessで設定すれば即反映されます。
しかし、それをSearch Consoleで「確認」するのには時間がかかります。
ドメイン変更のとき、Search Consoleでやることの中に、
301 リダイレクトが正常に動作していることを確認する
がありますが、301リダイレクト設定→サチコで「確認」できるまで時間がかかるのです。
設定は正しくできているのに待てずに設定をいじり、苦しんだことがあります。
同じ罠にハマる人は少ないかと思いますが、念のため。
コメント