301リダイレクトとは?SEOへの影響とやり方を解説

301リダイレクトとは?やり方、確認方法も解説

この記事のポイント

この記事でおさえておきたいポイントは以下です。

301リダイレクトとは?

301リダイレクトとは、URLの恒久的な変更時に使う転送処理で、旧ページから新ページへユーザーとSEO評価を引き継ぐために重要です。リダイレクト設定を適切に行うことで、検索エンジンからの評価を保持し、インデックスを早める効果があります。

SEOに悪影響を及ぼさないための注意点

リダイレクト先を関連性の低いページやトップページにすることはGoogleが非推奨しているため避けましょう。また、検索エンジンがクロールできるようrobots.txtの制御を解除しておく必要があります。検索エンジンの認識がスムーズにするため新旧両方ページのXMLサイトマップも用意しておきましょう。

301リダイレクトの設定方法

ページまたはディレクトリ単位の場合は.htaccessファイルに「RewriteEngine on」の宣言文を記載し、「RewriteRule」で旧と新のURLまたはディレクトリを含めたコードを記載します。
ドメイン単位の場合は.htaccessファイルに「RewriteEngine on」の宣言文を記載し「RiwriteCond」で旧ドメインを含めたコードを、「RewriteRule」で新ドメインを含めたコードを記載します。
SSL化に伴って転送する場合は.htaccessファイルに「RewriteEngine on」の宣言文を記載し「RewriteCond」で「httpではない」という条件を書き、「RewriteRule」でSSL化したURLを記載します。
またWordPressでは「Resirection」というプラグインで簡単に301リダイレクトを設定できます。

301リダイレクトは、URLを変更した際に用いる転送処理のことであり、設定がうまくいけばSEOの評価を引き継ぐことも可能です。そのため、Webサイトの運営にあたって必ず覚えておきたい手段の一つといえます。

そこでこの記事では、301リダイレクトにおけるSEOへの影響と設定方法をはじめ、301リダイレクトの確認方法や注意点を詳しく解説します。

301リダイレクトとはURLが恒久的に移転する場合に使う転送処理のこと

301リダイレクトとはURLが恒久的に移転する場合に使う転送処理のこと

301リダイレクトはhttpのステータスコードの一つであり、特定のURLから別のURLへ転送するための処理コードを指します。

Webサイトのドメインを変更したときやサイトを移転した場合はURLが新しくなりますが、古いURLをそのままにする(もしくは削除する)と以下のようなトラブルが起こり得ます。

  • 旧ページをブックマークしていたユーザーが新ページに訪問できない
  • 旧ページで設定された被リンクが機能しなくなる
  • 新旧のページが重複し、検索エンジンからの評価に悪影響を与える

このようなトラブルを防ぎ、新しいURLを正しく機能させるためには301リダイレクトによる転送処理が必要です。

301リダイレクトと302リダイレクトの違い

別のURLへ転送するリダイレクト処理には「302リダイレクト」という処理も存在します。302リダイレクトは、一時的な転送が必要な場合に行うリダイレクト処理です。主な使用目的として、サイトのメンテナンス中にお知らせページへ転送するといった例があげられます。301リダイレクトと302リダイレクトは、転送の期間によって使い分けが必要です。

301リダイレクトが必要なときの具体例

301リダイレクトは、ページを訪問したユーザーを別のURLへ転送するために必要な処理コードです。301リダイレクトが必要なシーンとして、主に以下があげられます。

  • サイト移転時
  • サイトリニューアル時
  • ドメイン変更時
  • アクセス可能な複数のドメインを正規化する場合

原則として、URLに変更があった場合は301リダイレクトを行うと安心です。301リダイレクトの設定をせずにいると、旧ページを訪問したユーザーが新ページに遷移できず困ってしまいます。

また、検索エンジンから受けた評価の損失や検索順位の下落といったリスクも大きいです。URLの変更をした際は、なるべく迅速に301リダイレクトの設定を行う必要があります。

301リダイレクト設定が必要な理由

301リダイレクト設定の必要性やSEO効果

301リダイレクトの設定が必要な理由には、主に以下の3つがあります。

  • 旧ページに訪問したユーザーを新ページへ遷移させるため
  • 旧ページに訪問したユーザーを新ページへ遷移させるため
  • 新ページのインデックスを早めるため

301リダイレクトはSEO効果の観点からも重要な処理です。それぞれ詳しく解説します。

旧ページに訪問したユーザーを新ページへ遷移させるため

リダイレクト設定をしないままでいるとユーザーは旧ページにアクセスしてしまいます。これでは新ページを閲覧できずユーザーからの信頼を失いかねません。また、リダイレクトを設定した直後は、ユーザーがブックマークから直接アクセスしたり、検索結果で旧ページが表示されたりするケースも考えられます。

旧ページのSEO評価を新ページに引き継ぐため

301リダイレクトをしないままでは、旧ページの評価が新ページに引き継がれません。これにより検索順位が大きく下落するといった事態が起こり得るとともに、301リダイレクトの未処理が原因で検索エンジンからの流入数が大幅に減少してしまうかもしれません。

新ページのインデックスを早めるため

新ページに旧ページの評価を引き継ぎ、なるべく早くインデックスされるためには301リダイレクトが必要です。

また、無駄なクロールが発生するのを防ぐ意味でも301リダイレクトは重要といえます。

リダイレクトをしていればクローラーは新旧それぞれのページを同じものと判断しますが、リダイレクトしていないとクローラーは新旧ページを別々に巡回します。

このときクローラーは、新旧を別ページとして扱い評価しようとするため、結果としてインデックスに支障がでたり、重複コンテンツとして判断されたりする事態につながってしまいます。


当メディア「QUERYY(クエリー)」を運営する株式会社ニュートラルワークスでは、無料のSEOセミナーを開催しております。
SEOのプロが、SEO対策の基礎/外部対策/内部対策/テクニカル/コンテンツなど、最新情報を分かりやすく解説しておりますので、ぜひご視聴ください。

SEOに悪影響を及ぼさないための注意点

SEOに悪影響を及ぼさないための注意点

301リダイレクトによってSEOに悪影響を及ぼさないようにするには、以下の点に注意が必要です。次項で詳しくみていきましょう。

  • 関連性の低いページにはリダイレクトしない
  • 301リダイレクトをトップページに集約しない
  • 新旧両方のXMLサイトマップを用意する
  • クローリングできるようにrobots.txtの制御を解除しておく

関連性の低いページにはリダイレクトしない

関連性の低いページへリダイレクトをすると、ページ評価が引き継がれないばかりか、SEOに悪影響を及ぼしかねません。Googleも関連性の低いページへの301リダイレクトは非推奨としています。

301リダイレクトはあくまでもページのURLが変わった際に行う転送処理であるため、もしページ同士の関連性が高くない場合は「404」でページ自体を削除する方法も効果的です。むやみに301リダイレクトを使用せず、必要な場合に限定して設定を行いましょう。

301リダイレクトをトップページに集約しない

リダイレクト先をトップページに集約するのも、Googleが非推奨している項目の一つです。転送前と転送先の関連性が低いとみなされ、悪影響を及ぼすおそれがあります。

複数ページの転送設定が必要な場合は手間がかかりますが、一つ一つ関連したページへのリダイレクト設定が必要です。301リダイレクトの手間を小さくする工夫として、以下のような方法があります。

  • 変更するURLを最小限にする
  • オリジナルのエラーページを作成し、重要度の低いページはそのページに転送設定をする

新旧両方のXMLサイトマップを用意する

XMLサイトマップとは、検索エンジンにページの内容を知らせるために用いるXMLファイルのことです。XMLサイトマップを用意すると、検索エンジンはその内容をもとにサイト内を巡回します。そのため、301リダイレクトを設定する際は、新旧両方でXMLサイトマップを用意するのが理想です。

新旧両方にXMLサイトマップを用意することで、検索エンジンの認識がスムーズになり、評価の引き継ぎが早くなると期待できます。301リダイレクトの設定後はなるべく早いうちに、新旧両方のXMLサイトマップを用意しましょう。

クローリングできるようにrobots.txtの制御を解除しておく

robots.txtとは、検索エンジンにクローリングしないよう指示する記述のことです。これを記述するとクローラーが301リダイレクトの先に進めません。そのため、301リダイレクトを設定する際は、検索エンジンがクロールできるようrobots.txtの制御を解除しておく必要があります。

301リダイレクトでドメイン移転が認識されるのにかかる時間

301リダイレクトでドメイン移転が認識されるのにかかる時間

301リダイレクトの設定後、旧ページの評価を受け継ぐまでの期間は約2〜5週間といわれています。301リダイレクト後の評価引き継ぎは、1回のクロールで完了するわけではなく、移転を正しく認識するまでに複数回のクロールが必要であるため時間がかかります。

301リダイレクトの連鎖(リダイレクトチェーン)は3回を目安に

長くサイトを運営していると、複数回のリダイレクトが必要なケースもでてきます。XからYへリダイレクトし、さらにYからZへリダイレクトするという状況です。

Googleの「リダイレクトに関する戦略を策定する」では、以下の記載があります。

Googlebot は複数のリダイレクトの「チェーン」(例: ページ 1 > ページ 2 > ページ 3)に含まれる最大 10 個のホップをたどることができますが、最終的な宛先に直接リダイレクトすることをおすすめします。直接リダイレクトできない場合は、チェーン内のリダイレクトの数を 5 個未満(理想的には 3 個以下)に抑えてください。リダイレクトのチェーンを使用すると、ユーザーにとってはレイテンシが増大します。また、一部のユーザー エージェントとブラウザは長いリダイレクト チェーンに対応していません。

「10個のホップをたどることができる」とありますが、実際には「リダイレクトは3回まで」と認識しておくほうが良いでしょう。

301リダイレクトの設定方法

301リダイレクトの設定方法

ここからは、301リダイレクトの設定方法を解説します。

  • ドメイン単位で転送する場合(htaccessファイルを使用する場合)
  • ページ単位で転送する場合
  • ディレクトリ単位で転送する場合
  • SSL化に伴って転送する場合
  • WordPressのプラグインを使って転送する場合

ドメイン単位で転送する場合(htaccessファイルを使用する場合)

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?AAA.com$ [NC]
RewriteRule ^(.*)$ https://www.BBB.com/$1 [R=301,L]

ドメイン単位で転送する場合は.htaccessファイルに「RewriteEngine on」の宣言文を記載し「RiwriteCond」で旧ドメインを含めたコードを記載します。次に「RewriteRule」で新ドメインを含めたコードを記載してください。このとき、旧ドメインと新ドメインでファイル構造が同じでなければならない点には注意が必要です。

ページ単位で転送する場合

RewriteEngine on RewriteRule ^AAA/?$ /BBB/ [R=301,L]

ページ単位で転送する場合は.htaccessファイルに「RewriteEngine on」の宣言文を記載し「RewriteRule」で旧URL(AAA)を含めたコードを、次に新URL(BBB)を含めたコードを記載します。

ディレクトリ単位で転送する場合

RewriteEngine on
RewriteRule ^旧ディレクトリ/(.*)$ /新ディレクトリ/$1 [R=301,L]

ディレクトリ単位で転送する場合は.htaccessファイルに「RewriteEngine on」の宣言文を記載し「RewriteRule」で旧ディレクトリを含めたコード、続けて新ディレクトリを含めたコードを記載します。

SSL化に伴って転送する場合

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

SSL化に伴って転送する場合は「RewriteEngine on」の宣言文を記載し「RewriteCond」で「httpではない」という条件を書きます。次に「RewriteRule」でSSL化したURLを記載します。

WordPressのプラグインを使って転送する場合

WordPressのプラグインを使って転送する場合

WordPress(ワードプレス)では「Resirection」というプラグインで簡単に301リダイレクトを設定できます。手順は以下のとおりです。

  • プラグインをインストールして有効化する
  • 管理画面を開く
  • 「SourceURL」の欄に古いURLを「TargetURL」の欄に転送先のURLを入力する

.htaccessの作成やコードの記述といった複雑な対応は一切必要ありません。

301リダイレクトの確認方法

301リダイレクトの確認方法

301リダイレクトの確認には、リダイレクトチェックの活用が便利です。リダイレクト前のURLを入れるだけで、リダイレクト処理が正しく設定されているか確認できます。

サーバー側でリダイレクトが使用できないときの代替案

301リダイレクト設定時に覚えておきたいこと

301リダイレクトはWebサーバーの機能を用いて行う設定ですが、サーバーの環境によっては.htaccessファイルが使えない場合もあります。そのようなときは、以下のいずれかの方法を試してみてください。

  • PHP
  • JavaScript
  • canonical
  • meta refresh

PHP

<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.hoge.com“);
exit();
?>

PHPなどのプログラムでも301リダイレクトの設定は可能です。プログラムで指定しているため個別に設定する必要がありますが、SEO上ではサーバー側での設定と同じ結果が得られます。

JavaScript

JavaScriptもlocation.hrefやlocation.replaceといった関数を使うことで、リダイレクトが可能です。Googleの検索エンジンは、JavaScriptのリダイレクトをサーバーサイドリダイレクトとほぼ同等に処理できます。しかしながら、その他の検索エンジンではうまくリダイレクトされない可能性があるため注意が必要です。

meta refresh

<meta http-equiv=”refresh”content=”0;URL=http://www.hoge.com”>

metaタグのタグの一つに「meta refresh」があります。これを使うと指定した秒数後にリダイレクトされます。0秒を指定することで瞬間的にリダイレクトされるようになります。

rel=”canonical”

<link rel=”canonical” href=”http://www.hoge.com” />

rel=”canonical”は類似した複数のURLの中から検索エンジンに「優先させるページを伝えるためのもの」です。canonicalでリダイレクト先のURLを指定すると、検索エンジンに対して「優先すべきURL」と示せます。

ただし、rel=”canonical”はあくまでもGoogleへの提案として扱われるため、必ずしも検索結果がcanonicalの設定通りになるわけではありません。また、そもそもリダイレクトではないため、各種リダイレクトが一切使用できないという場合に使用しましょう。

301リダイレクトのまとめ

301リダイレクトのまとめ

301リダイレクトを設定すると、旧ページの評価を失うことなくスムーズに新ページへの変更を行えます。反対に、301リダイレクトの設定をしない、あるいは誤用するとSEO評価を引き継ぎできません。

こういった状況を回避するためには301リダイレクトの基礎を理解し、適切に設定する必要があります。お伝えした注意点や設定方法に注意しながら、正しく運用していきましょう。


Download

Contact

監修者紹介

石田 哲也

取締役CMO

Twitter:@te2319
株式会社ニュートラルワークス 取締役CMO。1984年生まれ。高校卒業後にISD株式会社を起業。その後、株式会社オプトでWebマーケティングを学び、株式会社メタップスなど複数のベンチャー企業にて事業立ち上げを経験。前職はワンダープラネット株式会社でゲームプロデューサーとしてスマホゲームアプリの制作に従事。2018年に地元の神奈川へ戻り、ニュートラルワークスに入社。SEO/Web広告運用/サイト分析・改善など、Webサイトの運用改善~ゲームアプリ制作や数十万フォロワーのSNSアカウントの運用経験などWebビジネス全般を守備範囲とする。

■経歴
2003年 ISD株式会社/起業
2009年 株式会社オプト/SEMコンサルタント
2011年 株式会社メタップス/シニアディレクター
2013年 ライブエイド株式会社/執行役
2016年 ワンダープラネット株式会社/プロデューサー・BizDev
2018年 株式会社ニュートラルワークス/取締役CMO

■得意領域
Webサイト改善
SEO対策
コンテンツマーケティング
リスティング広告

■保有資格
Google アナリティクス認定資格(GAIQ)
Google 広告検索認定資格
Google 広告ディスプレイ認定資格
Google 広告モバイル認定資格

実力のあるプロがご提案
Webサイト改善サービス

実力のあるWebサイト改善のプロが
成果の出るWebサイトに改善させます!