301リダイレクトを正しく設定していないと、Googleからの正しい評価を受けられなかったり、ユーザーに404(not found)を表示させてしまうことで離脱を招いたりと、検索順位を下げる大きな要因となってしまいます。
今回は301リダイレクトを正しく設定する方法や注意点などを細かく解説していきます。
301リダイレクトとは
301リダイレクトとはサイトやページの移転をするとき、つまりサイトのURLを変更した際に、新しいサイトに元のサイトの評価をひき継いだり、ユーザーを新しいサイトのURLに自動的に転送する仕組みのことを指します。
301リダイレクトは英語表記でPermanent Redirectと表され、サイトURLを恒久的に転送することを表しています。サイトやページの移転の際に使用され、以前のサイトの評価をそのまま新しいサイトに反映したり、ユーザーを新たなサイトへ自動転送する働きをします。
正しい301リダイレクトはリダイレクトされたページ(新しいページ)にリンクのパワーの90%~99%をひき継がせることができると言われています。
サーバーの環境上、301リダイレクト使用できない場合はcanonicalタグやメタリフレッシュなどを使って対応します。
SEO効果について
301リダイレクトを使用することで得られるSEO効果は主に以下の2つです。
効果1:元のサイトの評価を新たなサイトに引き継ぎ、順位を維持
先ほども述べたように、正しく301リダイレクトを行えば、ほとんどのリンクの評価をひき継ぐことが可能になります。
目指すべき状態としては、URLのみが変更され、それ以外のSEOに関する要素が変更されない状態です。
効果2:重複コンテンツの見直し
大規模なサイトによく見受けられる「重複したコンテンツ」はユーザーにとって最適ではないとしてGoogleに推奨されていません。
一般に、重複するコンテンツとは、ドメイン内または複数ドメインにまたがって存在する、他のコンテンツと完全に同じであるか非常によく似たコンテンツのブロックを指します。
https://support.google.com/webmasters/answer/66359?hl=ja
また、ページの評価も分散してしまうため、重複コンテンツはサイト管理者とユーザーの双方にとってデメリットがあります。
301リダイレクトリダイレクトを使用して適切なページにユーザーをリダイレクトすることで、それぞれのページの評価を統合することができます。
例えばオウンドメディアなどのコンテンツマーケティングを行っている会社のサイトであれば、ある程度の記事数になると内容が似たり寄ったりした記事が増えていきます。そういった記事を統廃合するときに301リダイレクトはとても有効です。
複数のドメインでサイトを運営するのではなく、ドメインパワーを集約させるために1つのドメインに集中することをおすすめします。
参照: SEOに影響するドメインパワーとは?チェック方法と上げ方
302リダイレクトとの違い

リダイレクトには301リダイレクトのほかに302リダイレクトがあります。
301リダイレクトが「恒久的にURLを転する」ことを示すのに対し、302リダイレクトは英語表記でTemporary Redirectと表され、「一時的なURLの転送」を表します。
302リダイレクトの使用のタイミングはメンテナンス時やサーバーエラー時、またサイトの移転時に際して、ユーザーに「このページには一時的にアクセスできないので違うページに遷移します」という旨を知らせたい時に主に使用します。
現在は301リダイレクトと302リダイレクトのどちらもページランクを失わないことから、どちらを使用しても良いとされていますが、長期的に見てサイトの管理が楽になるのは301リダイレクトなので、新たなURLをつかい続ける場合は301リダイレクトを使用することをお勧めします。
301リダイレクトが必要なタイミング
- サイトの移転時
- ドメインの正規化
- 重複コンテンツの削減
301リダイレクトの共通した目的はGoogleにページを正しく評価してもらうという部分です。
301リダイレクトをしたらGoogleに評価してもらえるまである程度時間がかかるので、上記3点に当てはまるタイミングが来たらすぐにリダイレクトを設定しましょう。
301リダイレクトの設定方法
ここでは最もスタンダードでGoogleにも推奨されている.htaccess(エイチティアクセス)を利用した301リダイレクトの設定方法を解説します。
.htaccessとは
「htaccess」とは、現在多くのWEBサーバーで使用されている「Apache」(アパッチ)を制御する設定ファイルの1つで、実際のファイル名は「.htaccess」(先頭がドット)となります。
Apacheは世界中で普及しているWebサーバーのソフトです。
ブラウザでページが表示される仕組みは、簡単に示すと以下の通りになります.。

- Webブラウザ(クライアント)がWebサーバーに特定のページを見せてくれとリクエストを送る
- WebサーバーからWebブラウザへ特定のページが送られる
- ユーザーはブラウザに表示されたページを見れる
ここに登場する「Webサーバー」はもともと「Webサーバ―」ではなくただのコンピュータです。ここにWebサーバーのソフト、すなわちApacheが組み込まれることで始めてコンピューターはWebサーバーとしての役割を果たします。
ApacheはWebブラウザからリクエストを受けたときに、.htaccessファイルがあれば、そこに記述されている処理を行います。
.htaccessファイルの作成方法
テキストエディタであればメモ帳でも作成が可能です。
作成の時点ではファイル名はなんでもかまいません。
FTPソフトでWebサーバーにアップロードするときにファイル名を変更してアップロードすれば問題ないです。
ページ単位でのリダイレクト
ページを削除した場合やURLの変更に伴って設定します。
古いページに訪れたユーザーを新しいページに転送してあげます。
「old.html」から「new.html」に転送する場合
RewriteEngine on
RewriteRule ^old.html$ https://www.〇〇.com/new.html [L,R=301]
ここではひとつのページに対してひとつのページをリダイレクトしていますが、正規表現を使えば、一括でリダイレクトを行うことができます。
例えば以下のリダイレクトをひとつにまとめてみます。
RewriteRule ^test\.html https://www.〇〇.com/■■.html
RewriteRule ^p/sample.html https://www.〇〇.com/p/●●.html
⇒RewriteRule ^(.*) https://www.〇〇.com/$1
- 「 .*」はあらゆる文字列を対象とする正規表現なので「■■.html」や「●●.html」を指します。
- 「^」は文頭を表します
- 「$1」は、検索条件にて()内で使用した文字列をそのまま使う正規表現なので、 ■■や ●●を指しています。
具体的には、転送前のURLはhtaccessのファイルが置いてあるフォルダからのパスになるので〇〇.comのルートディレクトリにhtaccessファイルがあるとすると、 ^(.*)の部分は ■■や ●●を指しています。
ドメイン単位でのリダイレクト
サイトの移転やリニューアルによってドメインを変更した際に設定します。
「https://www.old.com/」から「https://www.new.com」に転送する場合
RewriteEngine On
RewriteCond %{http_host} ^www.old.com
RewriteRule ^(.*) https://www.new.com/$1 [R=301,L]
URLの正規化
URLの正規化は先に述べたように「Googleにページを正しく評価してもらう」URLを統一する目的があります。
「www.なし」のURLを「www.あり」に転送する場合
RewriteEngine on
RewriteCond %{ HTTP_HOST} ^new.com
RewriteRule ^(.*)$ https://www.new.com/$1 [L,R=301]
「index.htmlあり」のURLを「index.htmlなし」に転送する場合
RewriteEngine on
RewriteCond %{THE_REQUEST} ^./index.html RewriteRule ^(.)index.html$ https://new.com/$1 [L,R=301]
上記に共通して出てくる「Rewrite~」の構文には以下の意味が対応しています。
- RewriteEngine on:書き換えを開始します
- RewriteCond:書き換えする対象は以下のものです
- RewriteRule:書き換えの内容は以下のものです
宣言→対象→変更内容という流れになっているので、直感的にも理解しやすいかと思います。
確認方法
301リダイレクトを行った後は、正しくリダイレクトされているかをチェックします。
使うツールはリダイレクトチェックツールです。
301リダイレクトを継続する期間
9か月や1年などさまざまな意見がありますが、現在では「可能な限り保持しておく」という方法が一番リスクが少ないとされています。
301リダイレクトをした後は、サイトのクロール状況を把握しながら様子を見ましょう。
301リダイレクトする際の注意点
301リダイレクトをする際に気を付けなければいけないこと、避けなければならないことをまとめました。
全てのページをトップページに301リダイレクトしてしまう
すべてのページをトップページに301リダイレクトすることは、「ページとページの関連性が低いのにリダイレクトしている」とGoogleに見なされ404エラーかソフト404としてしか処理されない可能性があると言われています。
リダイレクト先は関連性のあるページにするのが無難です。
301リダイレクトの無限ループ
複数のリダイレクトが複雑に絡み合い、リダイレクトの無限ループやクローリングエラーを起こす場合があります。
例えば、無限ループの場合は、担当者の変更や依頼先の変更により以下のような条件で発生します。
ページA⇒ページBにリダイレクト
ページB⇒ページAにリダイレクト
こうなるとページを見ることはおろか、サーバーに負荷をかけてしまいます。
結果、ブラウザがそれ以上負荷をかけないためにエラーとして表示させます。
質の低い被リンクへのリダイレクト
ドメイン名単位でリダイレクトした場合、そのドメインがそのドメインの質の低い被リンクまでリダイレクトされるので、そのリンクによって受けるペナルティも引き継いでしまうことがあります。
このよう場合、質の低い被リンクを持つページで404を返し、Googleのインデックスから削除するという対策を取ります。
301リダイレクトのプラグインについて
WordPressの場合
WordPressで301リダイレクトをする場合は現在は「Redirection」が一番シンプルで使いやすいようです。
Wixの場合
Wixで301リダイレクトをする場合はプラグインが必要ありません。Wixの管理画面上で行うことができます。
Wixでは301リダイレクトの効果を最大限活用する方法などが紹介されています。それぞれのサイト作成ツールに合った方法で正しく301リダイレクトをするようにしましょう。
詳しくは公式ページを参照してください。
301リダイレクトについてよくある質問
Q:301リダイレクトとよく一緒に取り上げられている「rel=”canonical”」とは何ですか?
A:canonical(カノニカル)とはURLを正規化、つまり、Googleに重複したページと認識されるのを避けるためのに使用するタグです。HTMLのhead要素の中で<link rel=”canonical” href=”http://example.com/“>という形で表記されます。
canonicalと301リダイレクトとの違いは以下があります。
- 検索エンジンはrel=”canonical”をヒントとしてみるだけで合って、301リダイレクトのような強制力はない
- 301リダイレクトのように検証が容易ではない。
- 301リダイレクトはユーザーを異なるURLへ転送するが、canonicalではユーザーは別のURL転送されることはなく、ページを閲覧することが可能です。
Q:同じく一緒に取り上げられている「meta refresh」とは何ですか?
A:meta refresh(メタリフレッシュ)とはサーバーレベルではなくページレベルで実行される一種のリダイレクトです。「〇秒以内にリダイレクトされない場合は、ここをクリックしてください」というテキストとともにユーザーを指定のページに転送します。HTMLのhead要素の中で<meta name=”refresh” content=”0;http://example.com/”>という形で表記されます。
「content=”0;」の「0」の部分が待機秒数で、例えば「5」を指定すると5秒後にユーザーは指定のページへ転送されます。
301リダイレクトとの違いは
元のページの評価をリダイレクト先に引き継ぐとは限らない、などがあります。
Q:環境上、htaccessファイルが利用できないのですが、代わりに301リダイレクトをする方法はありますか?
A:以下4つが主な代替案となります。
- rel=”canonical”: うまく機能するので、おすすめできます
- JavaScriptリダイレクト:使うことはできます
- meta refreshタグ:おすすめはできません
リダイレクトは、301リダイレクトが一番推奨されています。htaccessファイルが利用できる場合は積極的に使っていきましょう。
Q:301リダイレクトをしたが、いまだに古いURLが表示されるのですが、どのような状態なのでしょうか?
A:クロールの頻度やサイトの規模によって古いURLが表示されることは頻繁にあります。301リダイレクトの手順を増しが得ていなければ、対策はしなくても大丈夫です。
まとめ
301リダイレクトをするときにはブラウザ、ステータスコード、サーバーなどの知識がわずかながら必要となってきます。
諦めないで調べながら実践し、高いSEO効果を期待しましょう!