301リダイレクトとは?SEOへの影響や設定方法、注意点など徹底解説!
301リダイレクトとは、Webサイトの移転に伴って旧URLから新URLに変更した時に、恒久的なURL変更を表すHTTPステータスコード「301 Moved Permanently」を返すための転送処理のことです。
この301リダイレクトがうまくいけば、SEOの評価を引き継ぐことができます。
一方、301リダイレクトをしなかったり誤れば、Googleに評価されづらくなります。
具体的には、WebページのURLを変更した後に301リダイレクトをしなければ、変更前のURLについてる被リンクを変更後のURLに引き継げません。そうなれば、変更後のURLの被リンクの数が減ってGoogleから評価されづらくなります。結果、検索順位が下がるというわけです。
また、meta refreshやjavascriptなどのクライアントサイドリダイレクトを設定すればステータスコード「200」を返すので、恒久的なURL変更を表すステータスコード「301 Moved Permanently」を返すための転送処理にはならずに、SEO評価をうまく引き継げない可能性が高まります。
こうした良くない状況を回避する為に、301リダイレクトの基礎を理解して、適切に設定しましょう。
この点踏まえて今回は、301リダイレクトの意味や必要な理由、設定方法、注意点など中心に、初心者にもわかりやすくポイントをまとめて解説したいと思います。
301リダイレクトとは?
301リダイレクトとは、Webサイトの移転に伴って旧URLから新URLに変更した時に、恒久的なURL変更を表すステータスコード「301 Moved Permanently」を返すための転送処理のことです。
例えば、「https://seolaboratory.jp/seo-abc/」と「https://seolaboratory.jp/seo-edf/」のWebページのコンテンツ内容が重複してるので、「https://seolaboratory.jp/seo-abc/」のWebページにコンテンツ内容を統合したとします。
このときに、「https://seolaboratory.jp/seo-edf/」のURLのSEO評価を「https://seolaboratory.jp/seo-abc/」のURLに引き継ぐために恒久的な転送処理をします。
この処理が301リダイレクトというわけです。
301リダイレクトと302リダイレクトの違い
301リダイレクトと302リダイレクトは、意味や役割、検索結果で表示されるサイトURL情報が違います。
例えば、301リダイレクトは恒久的な転送を意味し、移転元のページURL(古いURL)から移転先のページURL(新しいURL)へSEO評価を引き継ぐことができます。
また、検索結果にインデックスされるコンテンツは新しく、かつ検索結果に表示されるURLも新しくなります。
一方、302リダイレクトは一時的な転送を意味し、移転元のページURL(古いURL)から移転先のページURL(新しいURL)へSEO評価を引き継ぎません。
また、検索結果にインデックスされるコンテンツは新しいですが、検索結果に表示されるURLは古いままです。
このように、意味や役割、検索結果で表示されるサイトURL情報が、301リダイレクトと302リダイレクトで大きく違います。
301リダイレクトが必要な理由
301リダイレクトが必要な理由はいくつかあります。
- SEO評価が下がるから
- 無駄にクロールされるから
- ユーザーが新しいページに自動的に遷移できないから
SEO評価が下がるから
301リダイレクトが必要な理由は、SEO評価が下がるからです。
例えば、サイトリニューアルに伴って「https://seolabo-abc.jp」から「https://seolabo-efg.jp」にURLを変更したとします。
このときに、301リダイレクトしなかったとします。
そうなれば、「https://seolabo-abc.jp」の旧URLの被リンクやコンテンツの評価が「https://seolabo-efg.jp」の新URLへ引き継がれません。
つまり、新URLのSEO評価が下がります。
SEO評価が下がれば、検索順位が下がりやすくなるでしょう。
このように、SEO評価が下がるので、301リダイレクトが必要というわけです。
無駄にクロールされるから
301リダイレクトが必要な理由は、無駄にクロールされるからです。
例えば、「https://seolabolatory.jp/abc」と「https://seolabolatory.jp/efg」のページURLのコンテンツ内容がほぼ同じで重複コンテンツだったので、「https://seolabolatory.jp/abc」のURLにコンテンツ内容を統合したとします。
このときに、301リダイレクトしなかったとします。
そうなれば、「https://seolabolatory.jp/efg」から「https://seolabolatory.jp/abc」のページURLに恒久的にURL変更したことが検索エンジンに伝わりません。
この場合、「https://seolabolatory.jp/efg」と「https://seolabolatory.jp/abc」の両方のページURLがクロールされます。
つまり、「https://seolabolatory.jp/efg」のページURLが無駄にクロールされます。
無駄にクロールされれば、クロールのリソースが浪費されて他の重要なページにクロールが行き届かなかったり、「https://seolabolatory.jp/abc」のページURLの重複コンテンツとして認識されるでしょう。
このように、無駄にクロールされるので、301リダイレクトが必要というわけです。
ユーザーが新しいページに自動的に遷移できないから
301リダイレクトが必要な理由は、ユーザーを新しいページへ遷移させることができないからです。
例えば、サイトリニューアルに伴って「https://seolabo-abc.jp」から「https://seolabo-efg.jp」にURLを変更したとします。
このときに、301リダイレクトしなかったとします。
そうなれば、「https://seolabo-abc.jp」の旧URLにアクセスしたユーザーが「https://seolabo-efg.jp」の新URLにアクセスできません。
つまり、ユーザーが新しいページに自動的に遷移できません。
結果、旧URLにアクセスしたユーザーが新URLにアクセスせずに離脱しやすくなるでしょう。
このように、ユーザーが新しいページに自動的に遷移できないので、301リダイレクトが必要というわけです。
301リダイレクトが必要な例
301リダイレクトが必要な例をいくつか紹介します。
- URLを変更して新しくする場合
- 複数のページのコンテンツを統合して1ページに集約した場合
- URLを正規化する場合
URLを変更して新しくする場合
301リダイレクトが必要なのは、URLを変更して新しくする場合です。
例えば、サイトリニューアルに伴って取得したドメインを新しいサイトに適用したり、特定のWebページのURLの文字列を変更して新しいURLにします。
つまり、URLを変更して新しくするとします。
この場合に、古いURLを新しいURLへ転送する処理をするので、301リダイレクトが必要です。
複数のページのコンテンツを統合して1ページに集約する場合
301リダイレクトが必要なのは、複数のページのコンテンツを統合して1ページに集約する場合です。
例えば、重複コンテンツなので、「https://seolaboratory.jp/edf」と「https://seolaboratory.jp/ghi」のページのコンテンツ内容を「https://seolaboratory.jp/abc」のページのコンテンツに集約するとします。
つまり、複数のページのコンテンツを統合して1ページに集約するとします。
この場合に、「https://seolaboratory.jp/edf」と「https://seolaboratory.jp/ghi」のページURLを「https://seolaboratory.jp/abc」のページURLへ転送する処理をするので、301リダイレクトが必要です。
URLを正規化する場合
301リダイレクトが必要なのは、URLを正規化する場合です。
例えば、「https://www.seolaboratory.jp」と「https://seolaboratory.jp」のwwwありなしのページURLにそれぞれアクセスしたときに同じコンテンツ内容が表示されるので、「https://seolaboratory.jp」のページURLに統合するとします。
つまり、URLを正規化するとします。
この場合に、「https://www.seolaboratory.jp」のページURLを「https://seolaboratory.jp」のページURLへ転送する処理をするので、301リダイレクトが必要です。
301リダイレクトの設定方法
301リダイレクトの設定方法をパターン別にそれぞれ紹介します。
- ドメイン単位で転送する場合
- ページ単位で転送する場合
- ディレクトリ単位で転送する場合
- SSL化(httpからhttpsへの変更)に伴って転送する場合
- WordPressのプラグインを使って転送する場合
ドメイン単位で転送する場合
301リダイレクトは、ドメイン単位で転送する場合の設定方法があります。
例えば、サイトリニューアルに伴って「www.seolabo-abc.jp」から「www.seolabo-edf.jp」にドメイン名だけが変わったとします。
この変更に伴って、「www.seolabo-abc.jp」のドメインを「www.seolabo-edf.jp」のドメインに転送することが必要になります。
この場合、htaccessファイルにRewriteEngine onの宣言文を記述した後、URL書き換えを行うルール条件を指定する「RewriteCond」で旧サイトのドメイン名「www.seolabo-abc.jp」を含めたコードを書き、URL書き換えの実行を指定する「RewriteRule」で新サイトのドメイン名「www.seolabo-edf.jp」を含めたコードを記述します。
1 2 3 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.seolabo-abc.jp)(:80)? [NC] RewriteRule ^(.*) https://www.seolabo-edf.jp/$1 [R=301,L] |
もしくは、Redirect permanentの宣言文を記述した後、転送元のURL(旧サイトのドメイン名「www.seolabo-abc.jp」)を「/(スラッシュ)」から始まる絶対パス(URL-path)で書いて半角スペースを空けて、転送先のURL(新サイトのドメイン名「www.seolabo-edf.jp」)をスキーム名(httpなど)から始まる絶対URLで書きます。
1 |
Redirect permanent / https://www.seolabo-edf.jp/ |
これらのいずれかを記述したhtaccessファイルをサーバーにアップロードします。
アップロード後、「https://www.seolabo-abc.jp/seo301redirect(旧サイトのドメイン配下のページURL)」にアクセスして転送されたページURL(新サイトのドメイン配下のページURL)が「https://www.seolabo-edf.jp/seo301redirect」のように「seo301redirect」部分のディレクトリ名やファイル名が変わらずに表示されれば、ドメイン単位でうまく転送されてることになります。
これが、ドメインを変更した場合の301リダイレクトの設定方法です。
ページ単位で転送する場合
301リダイレクトは、ページ単位で転送する場合の設定方法があります。
例えば、重複コンテンツなので、「https://seolaboratory.jp/edf.html」のページURLのコンテンツ内容を「https://seolaboratory.jp/abc.html」のページURLのコンテンツに集約して統合するとします。
この統合に伴って、「https://seolaboratory.jp/edf.html」のページを「https://seolaboratory.jp/abc.html」のページに転送することが必要になります。
この場合、htaccessファイルにRewriteEngine onの宣言文を記述した後、URL書き換えの実行を指定する「RewriteRule」で、「/(スラッシュ)から始まる絶対パス(URL-path)」の転送元URL(/edf.html)を含めたコードを書き、続けて「スキーム名(httpなど)から始まる絶対URL」の転送先URL(https://seolaboratory.jp/abc.html)を含めたコードを書きます。
1 2 |
RewriteEngine on RewriteRule ^/edf.html$ https://seolaboratory.jp/abc.html [R=301,L] |
このように記述したhtaccessファイルをサーバーにアップロードします。
アップロード後、「https://seolaboratory.jp/edf.html(転送元のページURL)」にアクセスして転送されたページURLが「https://seolaboratory.jp/abc.html」のように表示されれば、ページ単位でうまく転送されてることになります。
これが、ページ単位で転送する場合の301リダイレクトの設定方法です。
ディレクトリ単位で転送する
301リダイレクトは、ディレクトリ単位で転送する設定方法があります。
例えば、「https://seolaboratory.jp/edf/seo.html」のページURLのディレクトリ名を「edf」から「abc」に変更して「https://seolaboratory.jp/abc/seo.html」のようなページURLに変わったとします。
この変更に伴って、ディレクトリ名だけ変わるように転送することが必要になります。
この場合、htaccessファイルにRewriteEngine onの宣言文を記述した後、URL書き換えの実行を指定する「RewriteRule」で、転送元URL(edf)を含めたコードを書き、続けて「/(スラッシュ)から始まる絶対パス(URL-path)」の転送先URL(/abc)を含めたコードを書きます。
1 2 |
RewriteEngine on RewriteRule ^edf(.*)$ /abc$1 [R=301,L] |
このように記述したhtaccessファイルをサーバーにアップロードします。
アップロード後、「https://seolaboratory.jp/edf/seo.html(転送元のページURL)」にアクセスして転送されたページURLが「https://seolaboratory.jp/abc/seo.html」のように表示されれば、ディレクトリ単位でうまく転送されてることになります。
これが、ディレクトリ単位で転送する場合の301リダイレクトの設定方法です。
SSL化(httpからhttpsへの変更)に伴って転送する場合
301リダイレクトは、SSL化(httpからhttpsへの変更)に伴って転送する場合の設定方法があります。
例えば、Webサイトのセキュリティ性を向上させるために、SSL化(httpのプロトコルをhttpsに変更)して「https://seolaboratory.jp」から「https://seolaboratory.jp」のURLに変わったとします。
この変更に伴って、「https://seolaboratory.jp」から「https://seolaboratory.jp」のURLへ転送することが必要になります。
この場合、htaccessファイルにRewriteEngine onの宣言文を記述した後、URL書き換えを行うルール条件を指定する「RewriteCond」でhttpsでなければという条件のコードを書き、URL書き換えの実行を指定する「RewriteRule」でSSL化したURL名「https://seolaboratory.jp」を含めたコードを記述します。
1 2 3 |
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
このように記述したhtaccessファイルをサーバーにアップロードします。
アップロード後、「https://seolaboratory.jp(転送元のページURL)」にアクセスして転送されたページURLが「https://seolaboratory.jp」のように表示されたり、「https://seolaboratory.jp/abc/seo.html(転送元のページURL)」にアクセスして転送されたページURLが「https://seolaboratory.jp/abc/seo.html」のように表示されれば、サイト内のすべてのページがhttpからhttpsへうまく転送されてることになります。
これが、SSL化(httpからhttpsへの変更)に伴って転送する場合の301リダイレクトの設定方法です。
WordPressのプラグインを使って転送する場合
301リダイレクトは、WordPressのプラグインを使って転送する場合の設定方法があります。
例えば、WordPressでサイト構築していて重複コンテンツがあったので「https://seolaboratory.jp/edf」の記事のコンテンツを「https://seolaboratory.jp/abc」の記事のコンテンツに集約して統合するとします。
この統合に伴って、「https://seolaboratory.jp/edf」を「https://seolaboratory.jp/abc」のブログ記事のページURLに転送することが必要になります。
この場合、WordPressのプラグイン「Redirection」をインストールして有効化し、セットアップを完了します。
セットアップ完了後、設定画面に遷移して「転送ルール」の画面下にある「新しい転送ルールを追加」でソースURL(転送元のURL)に「https://seolaboratory.jp/edf」とターゲットURL(転送先のURL)に「https://seolaboratory.jp/abc」を入力して「転送ルールを追加」のボタンを押せば完了です。
完了後、「https://seolaboratory.jp/edf(転送元のページURL)」にアクセスして転送されたページURLが「https://seolaboratory.jp/abc」のように表示されれば、うまく転送されてることになります。
これが、WordPressのプラグインを使って転送する場合の301リダイレクトの設定方法です。
301リダイレクトの確認方法
301リダイレクトされてるか確認するには、リダイレクトチェックツールを使います。
例えば、リダイレクトチェックツールにアクセス後、リダイレクト元となるURL「http://www.seolaboratory.jp」を入力してチェックします。
そうすれば、「http://www.seolaboratory.jp(リダイレクト元となるURL)」から「https://seolaboratory.jp(リダイレクト先のURL)」に301リダイレクトされてることが確認できます。
こうして、リダイレクトチェックツールを使うことが、301リダイレクトの確認方法です。
ちなみにリダイレクトに失敗してたり、301リダイレクトではなく302としてリダイレクトしてる場合があります。
これらの場合は、301リダイレクトの設定を見直しましょう。
301リダイレクトを設定するときに避けたいこと
301リダイレクトを設定するときに避けたいことがいくつかあります。
- サーバー環境の確認を怠る
- 設定の期間を誤る
サーバー環境の確認を怠る
301リダイレクトを設定するときに避けたいことは、サーバー環境の確認を怠ることです。
例えば、自身のホスティングやレンタルサーバーでhtaccessファイルが使えなかったり、htaccessファイルの一部機能(命令)が利用できないように設定されてることを知らなかったとします。
つまり、サーバー環境の確認を怠ります。
この状態でhtaccessファイルをアップロードしても記述した内容が効きません。
そうなれば、恒久的なURL変更を表すステータスコード「301 Moved Permanently」を返すための転送処理ができません。
結果、SEO評価をうまく引き継げないでしょう。
このように、サーバー環境の確認を怠ることが、301リダイレクトを設定するときに避けたいことです。
設定の期間を誤る
301リダイレクトを設定するときに避けたいことは、設定の期間を誤ることです。
例えば、301リダイレクトするためのコードを書いたhtaccessファイルをサーバーにアップロード後、そのファイルを1ヶ月後にサーバーから削除して301リダイレクトの設定を解除したとします。
つまり、設定の期間を誤るとします。
そうなれば、恒久的なURL変更を表すステータスコード「301 Moved Permanently」を返すための転送処理が完全に終わらない可能性が高まります。
結果、SEO評価をうまく引き継げないでしょう。
このように、設定の期間を誤ることが、301リダイレクトを設定するときに避けたいことです。
ちなみに、301リダイレクトの設定を維持する期間は、少なくとも1年間が推奨されてます。
If they're no longer needed after a while (usually I recommend keeping them at least a year), and you don't see traffic to them, then removing them is fine since it makes long-term maintenance easier.
— 🥔 johnmu (personal) updated for 2022 🥔 (@JohnMu) January 18, 2019
翻訳:
しばらくしてそれらが不要になり (通常、少なくとも 1 年は保持することをお勧めします)、それらへのトラフィックが見られない場合は、長期間のメンテナンスが容易になるため、それらを削除しても問題ありません。
まとめ:301リダイレクトの基礎を理解して、適切に設定しよう
301リダイレクトの基礎を理解して、適切に設定しましょう。
一方、301リダイレクトの設定をしなかったり、誤れば、SEO評価をうまく引き継げません。
具体的には、meta refreshやjavascriptなどのクライアントサイドリダイレクトを設定すればステータスコード「200」を返すので、恒久的なURL変更を表すステータスコード「301 Moved Permanently」を返すための転送処理にはならずに、SEO評価をうまく引き継げない可能性が高まります。
また、WebページのURLを変更した後に301リダイレクトをしなければ、変更前のURLについてる被リンクを変更後のURLに引き継げません。そうなれば、変更後のURLの被リンクの数が減ってGoogleから評価されづらくなります。
こうした悪い状況を回避する為に、301リダイレクトの基礎を理解して、適切に設定しましょう。
SEO対策しても検索順位が上がらない…なぜ?
SEO対策しても検索順位が上がらない…なぜ?
検索順位が上がらない理由は、SEO対策の質が低いからです。
例えば、ユーザーの検索意図を無視したり、関連性の低いコンテンツを増やす、内部リンクの最適化など疎かにします。
この場合、SEO対策の質が下がります。
そうなれば、ページやサイト自体の品質が上がらないので、Googleに評価されづらくなります。
結果、検索順位が上がらないというわけです。
こうした悪い状況を回避する為に、サイトの欠点を調査して上位化に必要な対策をご案内します(無料)。
検索順位を上げたり、検索流入を増やすにはSEOが重要!