ポンコツくん
かんな
- 301リダイレクトをやらないとどうなるか?
- 301リダイレクトのやり方
目次
301リダイレクトとは?やらないとどうなるの?
ドメインを変更した際やページのURLを変更した場合は旧ドメインから301リダイレクトをして、同じページが二つ存在しないようにする必要があります。
301リダイレクト行うことによってGoogleから受けていたページ毎の評価を新しいドメイン(URL)へ引き継ぐことが出来るのでSEO的に有利になります。
301リダイレクトをしない場合は全く0からの評価・・よりさらに悪いマイナスの評価になる可能性があります。
コンテンツの中身が同じ場合、新しいドメインがコピーコンテンツと判断される可能性があり、その場合、いつまで経っても上位表示されるまで時間がかかります。
301リダイレクトのやり方
リダイレクト行う方法はいくつかありますが、大きく分けると下記の3通りの方法があります。
- htaccessファイルを編集する
- HTML上にmeta refreshを設定する
- WordPressプラグインを使用する
この中で理想的な方法は①と③で、②はお勧めできる方法ではありません。
②でもリダイレクトを行うことができますが、301リダイレクトではない上に、Googleもあまり使うべきではないと公言しています。
基本的には①のhtacccessを編集する方法か③のプラグインを利用する方法が一般的です。
サイト全体を301リダイレクトする場合
ドメインを変更した場合にサイト全体を新しいドメインのトップページに301リダイレクトする方法が一番簡単です。
htaccessにリダイレクトの設定を書き込むだけで設定が完了します。また、URLの正規化を行なうことも可能です。
しかし、理想はページ毎に301リダイレクトした方が、SEO的に良いとされています。
全てのページを新しいドメインのトップページに301リダイレクトにしてしまうと、古い検索結果をクリックした場合、トップページにページ遷移してしまいます。
これにより、離脱率が高まり、ユーザーにとってもとても不便なので、個別のページ毎に301リダイレクトするのがおすすめです。
ドメインを変更する場合
ウェブサイトのドメインが変わるものの、ドメイン以下の下層URLの部分は変わらない場合、以下のコードをhtaccessファイルの末尾に追記することで、全てのページをリダイレクトすることができます。
RewriteCond %{HTTP_HOST} ^(プロトコルを含まない古いドメイン)(:80)? [NC]
RewriteRule ^(.*) プロトコルを含む変更先のドメイン $1 [R=301,L]
例えば古いサイト(https://oldsite.com)から新しいサイト「https://newsite.com」からの変更する場合は下記のコードになります。
RewriteCond %{HTTP_HOST} ^(oldsite.com)(:80)? [NC]
RewriteRule ^(.*) https://newsite.com $1 [R=301,L]
上記のコードをhtaccessへ設定することで、301リダイレクトが出来るようになります。
サーバーによっては簡単に301リダイレクト出来る
例えばエックスサーバーだとhtaccessを編集しなくても301リダイレクトの設定ができる機能が用意されています。エックスサーバーを利用している方は以下の手順で設定が可能です。
まず、サーバーパネルにログインし、[サイト転送設定]をクリックして開きます。
次に、301リダイレクトを設定したいドメインを選択します。
サイト全体に301リダイレクトを適用する場合は[リダイレクト先]と書かれた項目にリダイレクト先のドメインをプロトコルを含めて入力します。
この際必ずドメインの末尾に「/(スラッシュ)」を入れるようにしてください。「/」を入れない場合、下層ページに正しくリダイレクトされなくなるので注意が必要です。
画像と同じように、当サイトの場合だと[リダイレクト先]には「https://ashigal.com/」を入力します。
入力したら[確認画面へ進む]をクリックして、最終確認へと進み、そのまま[追加する]をクリックしたらリダイレクトの設定が完了します。
このようにサーバー側で301リダイレクトの設定ができるのであれば、htaccessの編集を間違えることもありませんので安心ですので、エックスサーバーを利用している方や、同じ機能があるサロンを利用している方はそちらを積極的に使用てください。
ページごとに301リダイレクトを行いたい場合
ページごとに別々のリダイレクトを設定したい場合は、先程のhtaccessの書き方では不十分です。また、Wordpressを使っているかどうかでページ毎に301リダイレクト設定する場合でも大きく異なるので別々に書いていきます。
WordPressを使っている場合
WordPress を使ってる場合は「Simple 301 Redirects」というプラグインを利用することで簡単にページ単位で301リダイレクトを設定できるようになります。
Simple 301 Redirectsの使い方
まずはプラグイン追加ページで「Simple 301 Redirects」を検索し、インストール・有効化を済ませておいてください。
有効化したら左メニューの設定に[301 Redirects]が追加されるのでそのページを開きます。
個別にリダイレクト設定を追加できる画面が表示されるので、[Request]にリダイレクトを設定するURL、[Destination]にリダイレクト先 URL を入力します。
ちなみにリダイレクト設定する側(Request)はドメイン名を省略して「/wordpress/31/」のように設定することが可能です。
入力が終わったら[変更を保存]をクリックしてリダイレクト設定を追加します。このプラグインを利用すればリダイレクト設定の追加も削除も簡単であるため、初心者にもとても優しいプラグインです。
WordPress を使っていない場合
WordPress を使っていない場合は上記のプラグインは使えず、htaccessに地道に追加していく必要があります。
301リダイレクトルールの書き方は以下の通りです。
RewriteRule ^/ドメインより後ろの旧URL$ リダイレクト先URL [R=301,L]コード
例えば、「https://ashigal.com/wordpress/31/」から「https://ashigal.com/wordpress/99/」へリダイレクトさせるには、以下のように書きます。
RewriteRule ^/wordpress/31/$ https://ashigal.com/wordpress/99/ [R=301,L]コード
あとは、リダイレクトを設定したページ分だけ同じようにhtaccessに追記していくだけです。
ただしこちらの方法もエックスサーバーのように301リダイレクトを設定できる機能が用意されている場合は、その機能を使ってページ毎にリダイレクトを設定することが可能ですので、その機能がある場合はできるだけhtaccessを触らずにサーバーの機能を使ったほうが安全です。
301リダイレクトは間違えると大変なので慎重に行う
301リダイレクトはリダイレクト元のページランクなどをほぼすべて引き継ぐことが出来る反面、リダイレクト先の設定を間違えてしまうと意図していないページにpagerank を渡してしまうことになります。
そうなるとこれまで蓄積されてきたページの価値がリセットされてしまうため、絶対に間違えないようにしましょう。可能であればテストサイトを用意してリダイレクトの実験を行ってから本番環境で設定すると良いでしょう。