「WEBサイトを移転したけど、転送の方法がわからない」
「新サイトに変わったら、また一からSEO対策をしないといけないの?」
と思うことはありませんか?
そんな時に役に立つ設定が、301リダイレクトです。
301リダイレクトは、WEBサイトの移転などでURLが変更になった場合などに、恒久的にURLを転送することができます。
転送を行うだけでなく元々のURLからGoogleからの評価を新しいURLに引き継ぐSEOの効果などもあるのです。
そこでこの記事では、301リダイレクトを行うとどのような効果があるのか、どのような場合に301リダイレクトが必要となるのか、必要となるシュチュエーションに応じての設定方法についてまとめました。

301リダイレクトとは
301リダイレクトとは、記事を別のサイトに移行した際などに、元のURLから新しいURLへ恒久的に転送させる設定のことです。
301リダイレクトを行うことにより、SEOの効果や重複コンテンツを解消することができます。

新サイトへの移行後301リダイレクトを行わなかった場合、旧サイトのURLが無効になった際にアクセスがエラーとなりユーザーが新サイトにたどり着けない可能性があります。
また、検索エンジンは「旧サイト」と「新サイト」を全く別のサイトだと判断します。
そのため新サイトに旧サイトの被リンクなどの価値が引き継がれず、新サイトは新規でページを公開しているのと全く同じ扱いとなってしまいます。

一方301リダイレクトを行なった場合、検索エンジンは「旧サイト」から「新サイト」へコンテンツが移動されたと認識します。
そのため、「旧サイト」の被リンクなどの価値が「新サイト」にも引き継がれるため、SEO効果が期待できるのです。
さらに旧サイトでキーワードがバッティングしている状態の場合、301リダイレクトを行うことで重複コンテンツの解消の効果も期待できます。
それでは、301リダイレクトの効果や設定方法について詳しく説明していきます。
301リダイレクトをした際のSEO効果
301リダイレクトには、ただURLを転送するだけでなく「検索エンジンにURLを変更したことを伝える」という役割があります。
そのことにより、旧サイトの被リンクなどの評価が引き継がれ、新サイトでも検索順位を保つことができるというSEO効果があるのです。
逆に301リダイレクトを設定しなければ、新規サイトと判断され、一からSEO対策や被リンクを集めることとなります。
301リダイレクトを一度設定すると、旧サイトから新サイトへ自動的に転送されるため設定後は手を加える必要がありません。
ただ、引き継がれるのは良い評価だけでなく、悪い評価も引き継がれるため注意が必要です。
301リダイレクトはどんな場面で必要なのか?
301リダイレクトはどのような場面に必要となるのでしょうか。
そこで、301リダイレクトをするべきなシチュエーションをいくつか紹介します。
サイトの移転などでドメイン自体が変更になる場合
サイトの移転してドメインが変更した際などは、301リダイレクトを行うことで自動的に元のURLから新しいURLへ転送することができます。
301リダイレクトを行わなかった場合は、元のURLが消失した際などに404エラーとしてページが表示されず、ユーザーが正しいサイトを見つけることができない可能性があります。
また、301リダイレクトを行うことで検索エンジンにもURLの変更を知らせることができ、SEO効果も新しいURLへ引き継ぐことができるのです。
特に元のURLの評価が高く検索結果で上位表示されている場合は、301リダイレクトをするべきと言えます。
重複コンテンツを解消したい場合
サイト内で、ページごとに設定したキーワードが複数の記事で被ってしまっている場合など、サイト全体でキーワードとコンテンツの見直しが必要となります。
サイト内の記事数が少なければ修正や記事をまとめる作業なども簡単ですが、記事の数が膨大な場合はかなり大変な作業です。
その際に、優先させたいページへ301リダイレクトを行うことで重複コンテンツの解消が可能となります。
複数のURLを一元化してSEO評価をまとめたい場合
301リダイレクトには、URLを正規化する効果もあります。
以下のように複数アクセス可能なドメインが混在し、別々のURLで同じページが表示されるてしまう場合は、301リダイレクトを用いてURLを一元化することでSEO評価の分散を避けることができます。
- 「http」と「https」が混在している
- 「www.」のついているものとついていないものが混在している
- トップページで「index.html」や「php」などファイル名があるものとないものが混在している
301リダイレクトをした時としなかった場合の違い
ここまで301リダイレクトが必要になるシチュエーションを紹介してきましたが、301リダイレクトをした場合としなかった場合の違いについてまとめておきます。
301リダイレクトをした場合
- 検索エンジンにURLの変更を知らせることができる
- 新サイトに旧サイトの被リンクなどのSEO評価を引き継ぐことができる
- 重複コンテンツを解消することができる
- 複数のURLを一元化することでSEO評価の分散を避けることができる
301リダイレクトをしなかった場合
- 検索エンジンは新URLを新規のドメインと判断するため、SEO評価が引き継がれず一からSEO対策や被リンクを集めなければならない
- キーワードが複数の記事で被ってしまっている重複コンテンツを手動で修正しなければならない
- 複数のアクセス可能なドメインが混在した場合、SEO評価が分散される可能性がある
違いを見ると、301リダイレクトがいかに重要であるかがわかりますね。
301リダイレクトの効果を得るためには、301リダイレクトを正しく行うことが重要です。
次項では、301リダイレクトを正しく行う方法を説明していきます。
301リダイレクトする方法
301リダイレクトを行うには、必要な前提条件があります。
また、シチュエーションに応じて記述方法が異なるため、正しい記述方法を確認することが大切です。
そこで301リダイレクトの前提条件やシチュエーションに応じた記述方法を説明していきます。
リダイレクトする前に確認すべき前提条件
301リダイレクトを行う前に、確認すべき前提条件があります。
確認する条件は以下の通りです。
- .htaccessが使えるサーバーであること
- Apache(アパッチ)というウェブサーバーを使っていること
- 「mod_Rewrite」という機能をサポートしているウェブサーバーであること(推奨)
一部レンタルサーバーの対応状況は以下の通りです。
レンタルサーバー | .htaccess | Apache(アパッチ) | mod_Rewrite |
---|---|---|---|
Xserver | ◯ | ◯ | ◯ |
さくらインターネット | ◯ | ◯ | ◯ |
ロリポップ | ◯ | ◯ | ◯ |
ミックスホスト | ◯ | ◯ | ◯ |
上記の通り、有料のレンタルサーバーは基本的に301リダイレクトに対応しています。
サーバーが301リダイレクトに対応しているかどうかは、サーバー会社のホームページなどに記載されているので301リダイレクトを行う際は一度確認しておくと安心です。
.htaccessファイルの作成
301リダイレクトはGoogle推奨の.htaccessファイルで設定することが基本です。
.htaccessとは、Webサーバーの動きを決定する設定ファイルです。
Apache(アパッチ)と呼ばれるウェブサーバで使うことができます。
契約しているサーバーによっては、ドメイン単位で.htaccessの編集が可能な「.htaccess編集」機能がついています。

画像はエックスサーバーですが、③の部分に行いたい転送処理の記述を行います。
一部レンタルサーバーの「.htaccess編集」機能もしくは編集支援機能の提供状況は以下の通りです。
レンタルサーバー | 「.htaccess編集」機能 |
---|---|
Xserver | ◯ |
さくらインターネット | ◯ |
ロリポップ | × |
ミックスホスト | ◯ |
「.htaccess編集」機能や編集支援機能がついていないサーバーの場合は、.htaccessをご自身で作成する必要があります。
.htaccessの作成は、Macであれば「テキストエディット」、Windowsであれば「メモ帳」で作成可能です。

新規作成で、ファイル名を「.htaccess」とします。
「.」で始まるファイルを作成できない場合は、ひとまず「sample.htaccess」など適当なファイル名でOKです。
そこに以下で紹介する301リダイレクトのコードを記載し、そのファイルを使用しているサーバーにアップロードすることで301リダイレクトを行うことができます。
アップロードするためには、ホームページのデータをサーバーに転送したりダウンロードしたりする「FTP(ファイル トランスファー プロトコル)」を使用します。
「.」で始まるファイルを作成できていない場合も、アップロードする際にファイル名を「.htaccess」に変更してください。
サイト全体で行う場合
サイト全体を一括でリダイレクトを行う場合、旧サイトと新サイトの違いはドメインだけで、転送元と転送先でファイル構造が全く同じであることが条件になります。
.htaccessファイルには、以下の内容を記述します。
「【転送先URL】」には、新しいURLを入れます。
新しいURLは、「https://sample.com/」のように「http」から始まり、「.com」「.net」「.jp」「.co.jp」などのTLD(トップレベルドメイン)までを入力してください。
また、サイトを引っ越した場合は、この301リダイレクトの設定を行った後にサーチコンソールのアドレス変更も忘れずに行うようにしましょう。
個別・ページ単体で行う場合
次に、ページごとや目的ごとに301リダイレクトを行う方法や意図について説明します。
ページごとのリダイレクト
旧サイトと新サイトのファイル構造が異なる場合や、ページごとにリダイレクトを行いたい場合のリダイレクト方法を紹介します。
例えば以下のURLで旧サイトのページから新サイトのページに転送させたい場合、旧サイトのページと新サイトのページを1行に記述します。
旧サイト:https://AAA.com/AAA.html
新サイト:https://BBB.com/BBB.html
RewriteRule AAA.html$ http://BBB.com/BBB.html [R=301,L]
また、複数リダイレクトする場合は、改行して追加します。
Google公式のヘルプによると、リダイレクトの連鎖は5個未満(できれば3個以下)が望ましいとされています。
SSLに変更(http→https)するリダイレクト
SSL(Secure Sockets Layer)は、インターネット上でユーザーとの通信を暗号化することにより安全性を高める仕組みです。
https://~:SSL化されている
GoogleやSafaliもSSL化を推奨しており、ユーザーがSSL化されていない「http」のページにアクセスしようとすると「保護されていません」など警告が表示されてしまいます。
また、「http」と「https」のページが混在している場合、SEO評価が分散される恐れがあります。
そこで「http」から「https」にリダイレクトを行うことにより、SEO評価の分散を防ぎ、なおかつSSL化することでユーザーは安心してアクセスすることができるのです。
サイトのSSL化を行なった際なども、「http」でのアクセスを「https」にリダイレクトを行うことをおすすめします。
サイトにある全ページをSSLに変更(http→https)する際の記述方法はこちらです。
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
一方、サイトの一部分のみを指定してSSLに変更(http→https)する際の記述方法はこちらです。
RewriteBase /
RewriteCond %{REQUEST_URI} ^【リダイレクトしたいページの相対パス】.*$ [OR] RewriteCond %{REQUEST_URI} ^/form/.*$
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
wwwの有無を統一するリダイレクト
サイトを立ち上げたデフォルトでは「www」の有無にかかわらずどちらでもアクセスできてしまいます。
どちらにもアクセスできてしまうとなると、SEO評価が分散される恐れがあります。
http://AAA.com/へアクセスがあった際に、http://www.AAA.com/へリダイレクトをかけることで、「www」の有無を統一することによりSEO評価の分散を防ぐのです。
記述方法は以下の通りです。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^AAA\.com
RewriteRule ^(.*)$ http://www.AAA.com/$1 [L,R=301]【「www」なし→あり】
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.AAA\.com
RewriteRule ^(.*)$ http://AAA.com/$1 [L,R=301]
トップページのindex.htmlやindex.phpの有無を統一するリダイレクト
「index.html」や「index.php」は、設定しておくとそのページをトップページとして自動で認識してくれような便利な設定です。
その「index.html」を表示しないように設定する際にも301リダイレクトを行います。
記述方法は以下の通りです。
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://AAA.jp/$1 [R=301,L]
「index.html」の部分を「index.php」に変更すると、「index.php」にも使用できます。
wordpressで301リダイレクトを行う場合
WordPressで301リダイレクトを行う場合、「Redirection」という便利なプラグインが用意されています。
「Redirection」は、転送元・転送先を入力するだけで301リダイレクトを行うことがでるため、「.htaccess」を使わずに済む便利なプラグインです。
「Redirection」については、別の記事で紹介していますので、詳しくはそちらの記事をご覧ください。
301リダイレクトで評価が引き継がれるまでの期間
301リダイレクトを行なった後、旧リンクから被リンクなどのSEO評価を正しく受け継ぐには一般的に2週間〜5週間必要とされています。
評価が正しく認識されるまでの期間についてはGoogleは以下のように言及しています。
- 301リダイレクトはページ単位で処理される
- 部分的に301されていてもドメイン全体で適用されたわけではない
- 一般的には、2、3週間〜4、5週間、または2ヶ月くらいかかる場合もある
- 1回のクロールで完了しない
- サイトまたはページが移転したという認識には時間がかかる
サイトを引っ越した場合はサーチコンソールのアドレス変更を行うことで、Google に変更を通知し、Google 検索の結果を元のサイトから新しいサイトに移行することができます。
そのため、サイトを引っ越した場合は必ずサーチコンソールのアドレス変更も忘れずに行いましょう。
しかし、以下の301リダイレクトの場合はアドレス変更ツールを使用しないでください。
- SSLに変更(http→https)するリダイレクト
- wwwの有無を統一するリダイレクト
- トップページのindex.htmlやindex.phpの有無を統一するリダイレクト
301リダイレクトが出来ているかの動作確認方法
「301リダイレクトをしたけどきちんと動作しているの?」「動作を確認できる方法はないの?」と気になりますよね。
その場合、「リダイレクトチェック」というツールを用いて正しく301でリダイレクトされているか確認することができます。

使用方法は、画像の赤枠で囲んである部分に転送元となるURL(旧サイトのURL)を入力して「チェックする」を押すだけで簡単にチェックできます。

リダイレクトが正しくできていない場合は、リダイレクト回数が0回であったり、リダイレクト先が違っている場合があります。

リダイレクトは、SEO評価に関わる重要な設定です。
301リダイレクトを行なった後は必ず、正しくリダイレクトされているかツールを用いてチェックするようにしましょう。
まとめ
この記事では、元のURLから新しいURLへ自動的に転送させる301リダイレクトの効果や、必要となるシュチュエーション別の設定方法について説明しました。
元のURLから新しいURLへSEO評価を引き継ぐ役割もあるため、サイトにとってとても重要な設定です。
必要なシチュエーションに応じて正しく301リダイレクトを行い、サイト評価の維持や上昇を目指しましょう。