SEO対策 301リダイレクトとは?設定方法と.htaccessの書き方について

301リダイレクトは、サイトリニューアルの目的によって、301リダイレクトと302リダイレクトを使い分ける必要があり、設定方法も複数の方法があります。本記事では、「301リダイレクトと302リダイレクトの違い」や「301リダイレクトのSEO効果」「301リダイレクトの設定方法」などについて解説します。
301リダイレクトとは
301リダイレクトとは、ドメイン変更を伴うサイトリニューアルをおこなう際、URLを恒久的に変更する転送処理のことです。
また、サイト内のコンテンツが重複してしまった場合や、URLの「www」の有無、「index.html」の有無、「http」「https」の統一などで、URLの正規化を行う場合でも用いられます。
【301リダイレクトの利用例】
- 「https://aaabbbccc.jp/」から「https:// bbbcccddd.jp/」にドメイン変更をする時
- 「https://aaabbbccc.jp/aaa」と「https:// bbbcccddd.jp/bbb」を統合する時
- 「http://aaabbbccc.jp/」と「https:// bbbcccddd.jp/」を統一し、URLの正規化を行う時
301リダイレクトと302リダイレクトの違い
301リダイレクトと302リダイレクトの違いは、主に下記が挙げられます。
項目/種類 | 301リダイレクト | 302リダイレクト |
転送が続く期間 | 恒久的に転送 | 一時的な転送 |
主な使用場面 | ① ドメイン移転時 ② URLの正規化 | ① サイトのメンテナンス ② 一部のページ不具合 |
インデックス先 | リダイレクト先 | リダイレクト元 |
SEO評価の引継ぎ | 引き継げる | 引き継げない |
■違い①:設定が続く期間
- 301リダイレクトは、恒久的に転送がかかります。
- 302リダイレクトは、一時的に転送がかかります。
■違い②:主な使用画面
- 301リダイレクトは、WEBサイトの移転時や、URLの正規化に使用されます。
- 302リダイレクトは、スマホページへの転送や、WEBサイトのメンテナンス時に使用されます。
■違い③:インデックス先
- 301リダイレクトは、転送先のページがインデックスされます。
- 302リダイレクトは、転送元のページがインデックスされます。
ただし長期間302リダイレクトをおこなった場合、検索エンジンは301リダイレクトと同様に転送先のページを恒久的にインデックスするようになります。
■違い④:SEO評価の引継ぎ(ページランクなど)
- 301リダイレクトは恒久的な転送のため、ドメインランクやページランク(PageRank)のSEO評価を失わずに新しいサイトに引き継ぐことができます。
- 302リダイレクトに関しては一時的な転送となるため、301リダイレクトと違いSEO評価は引き継がれません。
301リダイレクトのSEO効果
301リダイレクトの場合、ドメインのSEO評価を古いサイトから新しいサイトに引き継ぐことができます。
また、コンテンツの内容が重複している際、301リダイレクトを使いコンテンツを統合すると統合されるURLのSEO評価を引き継ぐため、URLを削除するのではなく301リダイレクトをおこなうようにします。
ただし、外部リンクの評価は受け継ぎますが、TwitterやFacebookなどのSNSの「いいね」数やブックマークの登録数は引き継げないため、注意が必要です。
301リダイレクトを行う理由
301リダイレクトを行う理由としては、主に3点です。
古いページに来たユーザーを新しいページに誘導するため
301リダイレクトは、サイトリニューアル後に古いサイトに訪れたユーザーを新しいサイトに遷移(転送)させるために必要なものとなります。
これによって、検索ユーザーが迷うことなく新しいページにアクセスすることができます。
検索エンジンからの評価を失わないため
301リダイレクトは、WEBサイトの評価を新しいサイトに引き継ぐことができます。
WEBサイトのSEO評価を高める作業は時間や労力を要するため、サイトリニューアル後は301リダイレクトの設定や処理は行うべきです。
無駄なクローリングを防ぐため
リニューアル時に301リダイレクトを設定しないと、存在しないページに対してもクローリングをおこなうため、無駄なクローリングが発生します。
1つのWEBサイトに対してクローリングするページ数は決まっているため、エラーページを残してしまうと新たに作成したページにクローラーが巡回せず、インデックスされない状態になってしまいます。
無駄なクローリングが起きる理由として、サイトリニューアル(部分リニューアル)時に、一部のページが下記のURL①からURL②のようにURLが変更した場合が想定されます。
URL①:https://aaaaa.com/blog/*****/
↓
URL②:https://aaaaa.com/news/*****/ (リニューアル後のページ)
「/blog」というスペルがつくURLから「/news」というスペルがつくURLに変更したのにもかかわらず、「/blog」というURLのページは残っており、ページの中身は空っぽですが、サイト内にページだけ存在しているためクローラーが巡回し続ける可能性があります。
インデックスの遅延を防ぐため
ドメイン変更を伴うサイトリニューアルをした場合、301リダイレクトを行うことでGoogleのクローラーが新しいサイトに誘導されるため、新規作成したURLがインデックスされる速度を早めることができます。
新しいサイトのインデックスが遅れると自然検索からの流入が少ない状態が続いてしまうため、必ず301リダイレクトをおこないましょう。
301リダイレクトを行う場面
301リダイレクトは、基本的にドメイン変更を伴うサイトリニューアルがあった場合に設定されますが、それ以外で設定されることもあります。
例えば、下記のような場面です。
WEBサイトのURLを変更した時
先述したように、ドメイン変更を伴うサイトリニューアル時に、301リダイレクトの設定や処理を行います。
URLの正規化を行う時
同じ内容のページが複数のURLで存在する場合、一つのURLに統合するURL正規化時にも用いられることがあります。
【URL正規化の具体例】
URL①:https://sem-plus.com
URL②:https://www. sem-plus.com
URL③:https://sem-plus.com/index.html
URL④:https://www.sem-plus.com/index.html
↓
正規化されたURL:https://sem-plus.com
URLの正規化をしていない状態では検索エンジンは別々のページと認識するため、「SEOの評価が分散する」「無駄なクローリングが増える」といった問題が発生するため、必ずURLの正規化をおこないましょう。
また、動的URLで重複したコンテンツが生まれる場合や、PCサイトとスマホサイトでURLが異なる場合は301リダイレクトではなく、「canonical」を利用してURLの正規化をおこないます。
別々のURLを統合する時
WEBサイトの中に「https://sem-plus.com/aaa」と「https://sem-plus.com/bbb」のページがあり、それらを一つの「https://sem-plus.com/ccc」に統合する場合も、301リダイレクトの設定や処理を行います。
URL①:https://sem-plus.com/aaa
URL②:https://sem-plus.com/bbb
↓
統一URL:https://sem-plus.com/ccc
よくあるケースとしては、メディア運用で内容が重複した記事ができてしまった場合です。
似たようなテーマの記事がサイト内に複数あると評価が分散し検索順位に影響が出たり、ユーザーがどちらの記事を見れば良いか分かりにくい為、記事を統合して1つのURLにします。
SSL化を行う時
httpからhttpsにURLを変更する際(SSL化)、301リダイレクトを行わないと、「http時のページ」と「https時のページ」で同じ内容のページが複数存在することになってしまうため、このような場面でも301リダイレクトの設定を行う必要があります。
301リダイレクトの設定方法(.htaccessの書き方)
Googleが推奨している設定方法で、この「.htaccess(ドットエイチティアクセス)」を利用した301リダイレクトの設定方法について紹介します。
301リダイレクトの設定を行うためには、WEBサーバーに「.htaccess」のデータ(テキストファイル)をアップロードする必要があります。
その「.htaccessファイル」には、301リダイレクトの設定に関する構文(プログラミング言語)が記述されてます。そのため、「.htaccess」ファイル対応のWEBサーバーであることが前提条件となります。
【.htaccessとは】
Webサーバーの動きを、ディレクトリ単位で制御するファイルです。
Apache(アパッチ)というWEBサーバー用ソフトウェアが使われている環境下で利用することができます。
▼ 以下では場面ごとのタグの書き方を記載しているので、メモ帳ソフトを開き、構文(プログラミング言語)を記述して頂き、そのデータ(テキストファイル)を.htaccessの拡張子で保存し、サーバーにアップロードしてください。
URLの正規化を行う場合
■「index.html」有りから「index.html」無しに統一する場合の書き方
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index\.html
RewriteRule ^(.*)index.html$ https://www.sem-plus.com/$1 [R=301,L]
■「wwwなし」のURLから「www.あり」に転送設定を行う場合の書き方
RewriteEngine on
RewriteCond %{ HTTP_HOST} ^sem-plus.com
RewriteRule ^(.*)$ https://www.sem-plus.com /$1 [L,R=301]
ドメイン単位でリダイレクトを行う場合の書き方
■「https://sem-plus.com」から「https://sem-plus.jp」に転送設定を行う場合の書き方
RewriteEngine on
RewriteCond %{http_host} ^ www.sem-plus.com
RewriteRule ^(.*)$ https://www.sem-plus.jp/$1 [R=301,L]
転送元のURLと転送先のURLとで同じファイル構造(ディレクト構造)である必要があります。
(トップページからカテゴリページ、下層ページに至るまでの構成などが全て同じ)
ページ単位でリダイレクトを行う場合の書き方
■「https://sem-plus.com/aaa.html/」から「https://sem-plus.com/bbb.html/」に転送設定を行う場合の書き方
RewriteEngine on
RewriteRule ^aaa.html/$ https://www.sem-plus.com/bbb.html/[L,R=301]
部分リニューアルなどでページを削除した場合や、WEBサイトの特定のページのURLを変更した場合に設定します。
ディレクトリ単位でリダイレクトを行う場合の書き方
■「/seo-old/」から「/seo-new/」に転送する場合の書き方
RewriteEngine on
RewriteRule ^seo-old(.*)$ / seo-new$1 [L,R=301]
ページ単位ではなく、ディレクトリ単位で転送設定を行いたい場合の書き方です。
サイトの部分リニューアルやCMSの切り替えで、ディレクトリ構造を変更した場合に必要になります。
■ その他一部のページに転送させたくない場合の書き方
WEBサイト全体にリダイレクト設定をおこなった場合でも、一部のページだけは転送させたくない場合があります。一部のページに転送させないようリダイレクト設定を行う場合の構文は、以下のように記述します。
除外するページのURLは「sem-plus.com/bbb」です。「sem-plus.com/bbb」とつくURL全て、すなわちそこに紐づく派生ページ全て(ディレクトリ)が対象となります。
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_URI} !(^sem-plus.com/bbb/)
RewriteRule ^$sem-plus.com/bbb/ https//:www.sem-plus.com[R=301,L]
301リダイレクト設定時の注意点について
301リダイレクトを設定する場合に、注意してほしい項目が下記になります。
記述ミスの有無に注意する
記述を終えて.htaccessファイルをWEBサーバーにアップロードした後は、きちんとリダイレクトができているか確認してください。
Google Serch ConsoleのURL検査でもリダイレクトができているか確認できますが、確認できる数に制限があるため、HTTPステータスコードを確認できるツールなどで確認してみてください。
URL検査ツールを使用する
WEBサイトを新しいドメイン(URL)に変更した際に、Google Serch ConsoleのURL検査ツールを使うことでクローラーへ直接指示をおこない、インデックスを早めることができます。
▼ URL検査ツールからインデックス登録を促進する方法については以下記事を確認してください。
一度設定したら301リダイレクトを解除しない
301リダイレクトの設定をおこないGoogleに認識されたとしてもリダイレクトは解除してはいけません。
Googleのジョン・ミューラー氏は301リダイレクト設定後、「1年リダイレクトをしておけばその後は解除しても良い」と発言していますが、実際には301リダイレクトを解除した場合、古いURLのドメインの評価は切れてしまいます。
また、ユーザー視点にたって考えた場合、301を解除してしまうと古いURLしか知らないユーザーやURLをブックマークしているユーザーの場合、以前のURLにアクセスしても404エラーのページが表示されるかアクセスできないぺージが表示されてしまいます。
301を維持するには以前のドメインを運用し続けないとならないため、コストもかかりますがユーザーの利便性を考えて可能であれば301リダイレクトを解除しないようにしましょう。
元に戻す可能性があるときは301リダイレクト設定をしない
WEBサイトを大幅に変更する際、一時的にサイトを閉鎖する場合など、閉鎖期間中にアクセス数の減少や検索ユーザー離れを避けるために、まずは301リダイレクトではなく302リダイレクトによる転送設定をおすすめします。
302リダイレクトでユーザーにサイトの再開を知らせるEメール登録フォーム用のページや、WEBサイトの再開までのカウントダウンページなどへ転送設定することで、SEO評価の損失を防止(軽減)することができます。
301リダイレクトは、転送元のサイトを引き続き使用し、一時的な転送設定での用途の場合は、302リダイレクトを設定するようにしましょう。
301リダイレクトを設定できない場合の代替策
JavaScriptによるリダイレクト
WEBサーバーの仕様上、HTTPによるリダイレクト設定ができない場合、JavaScriptでの設定方法があります。HTTPによるリダイレクトがWEBサーバー上で設定および実行されるのに対し、JavaScriptはブラウザ側で設定および実行されます。
GoogleのクローラーもJavaScriptを実行できるため、転送設定されていることを認識でき、古いサイトのSEOの評価を移転後の新しいサイトに引き継ぐことも可能です。
▼ javascriptで組む場合のリダイレクトコードの記述例は下記です。
<script>
window.location.href(‘転送先URL’)
</script>
javascriptによるリダイレクトですが、いくつか応用させたリダイレクト方法があります。
応用方法①:画面幅を認識した際に処理されるリダイレクト設定
サイトへの訪問者のデバイス(PC・スマホなど)の画面サイズを計測して、一定以上の値であった場合は、記述されてある転送先URLへリダイレクト処理される方法です。
画面幅を認識した上でのリダイレクト設定は、レスポンシブデザイン設計のWEBサイト以外にも、モバイル用ページなどをパソコン用ページ以外にも設けている場合に役立ちます。
▼ リダイレクトコードの記述例は下記です。
<script type=”text/javascript”>
if (screen.width <= 767) {
document.location = “転送先URL”;
}
</script>
応用方法②:デバイスごとに切り替えてくれるリダイレクト設定
サイトへの訪問者のデバイス(パソコンかスマホかなど)ごとに表示するページを切り替えてくれる方法です。
▼ リダイレクトコードの記述例は下記です。
var ua = navigator.userAgent;
var redirectPass = ‘/sp/index.html’;
if(ua.search(/iPhone/) != -1 || ua.search(/iPad/) != -1 || ua.search(/iPod/) != -1 ||
ua.search(/Android/) != -1){
location.href = redirectPass;
}
応用方法③:パラメータをつけたままのリダイレクト設定
▼ リダイレクトコードの記述例は下記です。
【パラメータ無しの場合のURL】
https://aaaaa.com/
【パラメータ有りの場合のURL(Google広告からの流入時)】
https://aaaaa.com/?utm_source=google&utm_medium=cpc
上記の設定をおこなうことで、Google広告などで効果測定をするときなどで役立ちます。
応用方法④:秒数を指定した上でのリダイレクト設定
▼ リダイレクトコードの記述例は下記です。
setTimeout(“redirect()”, 0);
function redirect(){
location.href=”/sp/index.html”;
}
上記に記述されているコードでは「0」と記述されているところがあるため、0秒後(アクセス後すぐに)リダイレクトされる設定となります。
metarefreshによるリダイレクト
JavaScriptでのリダイレクト設定が適用できない場合、metarefreshによる設定方法もあります。
metarefreshはhtmlのheadタグ部分に記載する指示により転送する方法です。
そのため、別名でhtmlリダイレクト、もしくは、metarefreshリダイレクトという言い方もあります。
meta refreshはクライアントサイドでの転送です。(WEBサーバー側ではなくブラウザ側で行われる処理という意味です)
▼ metarefreshで組む場合のリダイレクトコードの記述例は下記です。
<meta http-equiv=”refresh” content=”10;URL=’aaaaa-sample.html’” />
ただし、metarefresh によるリダイレクトはステータスコード301を返さないため、古いページと新しいページの関連性をクローラーが認識できず、被リンクの獲得によるドメインの評価も受け継がないため、検索順位への悪影響が考えられます。
また、ユーザーがページに流入して、記事を見ている途中で新しいページに転送されるため、アクセシビリティが低下します。
301リダイレクトが正しく出来ているか確認するツール
301リダイレクトの設定や処理が完了したら、リダイレクトが正しく行われているか確認できるツールがありますので、以下でご紹介します。
ohotuku.jp
シンプルで使いやすい、無料のリダイレクト検証ツールです。
「リダイレクトチェック」という項目に、対象のURLを入力することでリダイレクトの確認ができます。
https://ohotuku.jp/redirect_checker/
リダイレクトチェッカー
リダイレクトの移管順番・処理時間や種類などの情報も確認できるリダイレクト検証ツールです。
https://abashi.net/redirect-checker
Mface Tools
Google・Yahoo!、MSNなどブラウザごとでリダイレクト確認できるリダイレクト検証ツールです。
https://tool.mface.jp/redirects/
301リダイレクトに関するよくある質問
301リダイレクトを使うタイミングはいつ?
WEBサイトを新規ドメインに移行する場合やページのURLを変更する場合、URLの正規化をおこなう時に利用します。
301リダイレクトをしない場合はどうなるのか?
301リダイレクトをおこなわずに、WEBサイトを新しいURLに移行した場合、ブックマークや旧URLのリンクから古いぺージにアクセスしたユーザーは新しいページにアクセスできないため、サイトのアクセス数が低下します。
また、古いページのドメイン評価を引き継がないため、SEO対策上の効果も失い検索順位が低下する可能性があります。
301リダイレクトが出来ているか確認するには?
リダイレクトチェックツールにて確認ができます。
301リダイレクトはどのくらいの間、設定するべきか?
301リダイレクトの設定期間は少なくとも1年間、可能であれば期限の定めなく継続されることをおすすめします。
まとめ
301リダイレクトの設定や処理の方法について解説をしました。
ドメイン変更に伴うリダイレクトだけでなく、WEBサイトの部分リニューアルや様々な場面での使い道があり、WEBサイトのアクセス数強化やSEO対策にも貢献できるため、ぜひ有効活用していきましょう。
▼ HTTPステータスコード一覧は下記の記事をご覧ください。