リダイレクトはURL変更時に重要な作業!やり方・種類・設定方法を解説

長期間ウェブサイトを運営していると、既存ウェブページのURL変更が必要となることがあります。たとえば社名変更にともなう新しいドメインの採用や、ホームページ全体のリニューアルによる各ページのURL変更、URLの一部を修正する場合などです。 いずれの場合も、URL変更を行うときは、リダイレクトを忘れず設定しておきましょう。 本コラムでは、URL変更時に欠かせないリダイレクトとはどのようなものなのか、その特徴と詳しい設定方法を解説します。

リダイレクトを設定する目的とは

リダイレクトとは

リダイレクトとは、ウェブサイトを訪問したユーザーを、別のURLへ誘導するための仕組みです。ユーザーが変更前のURLにアクセスしたとき、ウェブページにリダイレクト設定が施されていれば、新しいURLへ転送してくれます。

 

ドメインを変更したりURLの一部が変更したりした場合もリダイレクトを利用できます。また、ユーザーの端末に応じて、パソコン用またはスマホ用のウェブサイトに案内するという使い方も可能です。 リダイレクトをウェブサイトに設定する理由は、次の2つがあげられます。

・ユーザーの離脱防止
・検索エンジンの評価を引き継ぐ

目的1.ユーザーの離脱を防止するため

すでに削除してしまったウェブページにユーザーがアクセスした場合、画面には「404 Not Found」が表示されます。

リダイレクトによる新しいURLへの誘導がなければ、ユーザーは「ウェブサイトがなくなった」「目的のページが削除されている」と感じ、直帰や離脱してしまうでしょう。

しかし、リダイレクトで新しいURLに誘導・転送されれば、ユーザーの離脱を避けられますし、誘導先のウェブページから新たに他のページヘの遷移や問い合わせなどのコンバージョン獲得にもつながります。

目的2.検索エンジンの評価を引き継ぐため

SEOの観点からもリダイレクトの設定は重要です。リダイレクトを設定せず、新しいURLで変更前のURLと同じ内容のコンテンツを作成した場合、検索エンジンからは「別のコンテンツ」として認識されます。

変更前のURLで積み重ねてきた検索エンジンからの評価が引き継がれないまま、ゼロからユーザーの訪問数などトラフィックを得ていかなくてはなりません。 あらかじめ古いURLにリダイレクトを設定しておくと、新しいURLに変更前のURLの評価を引き継ぎます。結果、検索結果の順位が著しく低下するリスクを抑えられます。

目次へ

知っておきたい2種類のリダイレクト

リダイレクトの主な種類は以下の2種です。

・サーバーサイドリダイレクト
・クライアントサイドリダイレクト

サーバーサイドリダイレクト

サーバーサイドリダイレクトとは、サーバー側からの指示で行われるリダイレクトです。 ユーザーがウェブページにアクセスしようとしたとき、ブラウザからサーバーにリクエストが送られます。

通常なら、サーバーはリクエストされたウェブページを表示するための情報を送りますが、サーバーサイドリダイレクトが設定されている場合、「リダイレクトが設定されている」という情報のみが送られます。

ブラウザは送られたリダイレクト情報によって、新しいURLへ自動転送される仕組みです。 ユーザー側から見ると、古いURLにアクセスする前に自動で新しいURLに転送されるため、タイムロスを感じることなくウェブページを閲覧できます。

クライアントサイドリダイレクト

クライアントサイドリダイレクトは、一度変更前の古いURLが表示されるタイプの設定です。ここで言うクライアントとは、ブラウザのことをさしています。

ユーザーがウェブページにアクセスしようとしたとき、サーバーはブラウザからのリクエストどおりの内容(変更前のURLにあるコンテンツ)を送ります。

一方で、実際のウェブページ上では「本サイトは移転しました。5秒たっても自動で移動しない場合は、下記のリンクをクリックしてください」など、移転先のURLへ誘導する内容が表示されます。 一度変更前のURLを表示させてから転送する分、クライアントサイドリダイレクトは、ユーザーが求めるコンテンツにアクセスできるまで若干のタイムラグが生じるのが特徴です。

目次へ

【設定方法】リダイレクトのやり方

具体的なリダイレクトのやり方を紹介します。リダイレクトの設定方法にはさまざまなやり方がありますが、今回は4つの方法を解説します。

・htaccessでのリダイレクト
・phpによるリダイレクト
・meta refreshによるリダイレクト
・Javascriptによるリダイレクト

htaccessでのリダイレクトの設定方法

.htaccessとは、さまざまな設定を記述したファイルのことです。サーバー上に置くことで、リダイレクトなどサーバーの動作を制御できます。

.htaccessでリダイレクトを設定するときは、まずメモ帳機能などのテキストエディタでファイルを作成する必要があります。最初にファイルを保存するときは、拡張子が.txtであれば、どのような名前をつけても問題ありません。

リダイレクトの設定が必要になる場面は複数あります。ここでは「ページ削除や移動でURLを変更した場合」や「ドメインを変更した場合」など代表的な記述方法を解説します。 .htaccessを使用したリダイレクトの記述方法は、次のとおりです。

※〇〇から□□へURLを変更した場合

RewriteEngine on
RewriteRule ^〇〇.html$ https://www.abcde.com/□□.html [L,R=301]

上記はドメイン変更せず、URLのみ変えたい場合に使用します。ページを削除や移動した場合に新しいURLへ転送するための設定です。

$の左側に変更前のウェブページのURLを記述し、リダイレクト先に指定する新しいURLはhttpからすべて書くのが基本的なルールです。 2行目末尾の [L,R=301]の記述は、リダイレクトの種類を指定しています。(詳しい解説は後述します) ドメイン変更にともなうリダイレクト設定を行うときは、下記のとおり記述します。

※〇〇から△△へドメインを変更した場合

RewriteEngine On RewriteCond %{http_host} ^www.〇〇.com
RewriteRule ^(.*) https://www.△△.com/$1 [R=301,L]

.htaccessを使用したリダイレクトの設定は、不備に注意しましょう。

誤った記述内容のファイルをサーバーにアップロードすると、ウェブサイト全体が真っ白になるなどのトラブルが発生します。

phpによるリダイレクトの設定方法

phpとは、ユーザーがアクセスしたタイミングや状況に応じて、異なる表示内容を生成する「動的」なコンテンツ作りに利用されるプログラミング言語です。 たとえばブログの更新や投稿されたコメントの表示など、表示内容が変化するウェブページはphpが使用されています。

phpは通常、HTMLで記述したファイルに埋め込む形で使用します。リダイレクトの設定を行う場合も同様に埋め込み、記述する内容は以下のとおりです。

※〇〇から□□へURLを変更した場合

http_response_code( 301 ) ;
header(‘Location: https://□□.com/’);
exit();
?>

変更前のURLを記載する必要はなく、転送先のURL情報やステータスコード(301)を記述します。 ステータスコードはリダイレクトの種類を指定するもので、上記のように301と指定されていない場合、自動でURLの変更は一時的な302リダイレクトと認識されてしまいます。

上記のheader関数を記述するときは、上部に他のタグやテキスト、空白などが入らないように注意しましょう。上部にheader関数以外の記述がある場合、リダイレクトの指示内容を記述する前に中途半端な状態でheaderが自動送信され、エラーが生じます。

meta refreshによるリダイレクトの設定方法

meta refreshとは、HTMLファイルに専用のメタタグを記述することでリダイレクトを設定できる方法です。そのため「HTMLによるリダイレクト」とも呼ばれます。 meta refreshによるリダイレクトは、HTMLファイルのの間へ次のように記述します。

※□□へURLを変更した場合

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

content=”0の部分に任意の数字を入れることで、新しいURLへ転送されるまでの時間を指定できます。 リダイレクトまで5秒かかるように設定したい場合の記述内容は、content=”5;です。

間を置きたくない場合は、上記のように0と入れましょう。 meta refreshは、他のメタタグと同じくGoogleによってサポートされています。ただし、必ずしも変更前のURLの評価を新しいURLへ引き継げるわけではないため、推奨はされていません。 以前の評価を確実に引き継ぎたい場合は、.htaccessのほうがおすすめです。

Javascriptによるリダイレクトの設定方法

Javascriptもmeta refreshのように、ブラウザ側で行うリダイレクトの一種です。 クローラーはJavascriptの動きを多少は認識できるようになっていますが、必ずしも変更前のURLの評価を引き継げるとは限らない点に注意してください。

※□□へURLを変更した場合

<script>
window.location.href(‘https://□□.com/’)
</script>

の間に、上記の記述を加えます。Javascriptは、内容次第で端末ごとに転送先を分けたり、画面幅を指定したりと、さまざまな制御ができるのが特徴です。

Javascriptによるリダイレクトの注意点として、ユーザー側の設定に機能が左右されることがあげられます。ユーザーがブラウザのJavascriptを無効にしている場合、指定した新しいURLへ転送することはできません。

目次へ

SEOを考慮したリダイレクトの使い方

ここまで紹介してきた各リダイレクト方法は、それぞれメリットもあれば注意点もあります。たとえばSEOを考慮すると、変更前のURLでせっかく積み上げてきた評価を引き継げないような設定は避けるべきでしょう。

最後に、SEOを考慮してリダイレクトを行うために押さえておくべきポイントを3つ紹介します。

永続的なリダイレクトと一時的なリダイレクトを使い分ける

リダイレクト設定を行うときは、永続的なものなのか一時的なものなのかを指示しましょう。指示がない場合、検索エンジンからは自動的に一時的なリダイレクトと判断されるケースもあります。

設定するリダイレクトの種類がどちらにあたるのかは、301もしくは302のステータスコードで指示します。それぞれの特徴は、次のとおりです。

・301リダイレクト
・302リダイレクト

■301リダイレクト

301リダイレクトとは、永続的な転送を希望する場合に使用するステータスコードです。ウェブサイトのリニューアルでウェブページのURLが変わったときや、ウェブサイト全体を別のドメインに移転したときなどに使用します。

リダイレクトに301を指定すると、Googleがインデックスするのは新しいURLです。重複しているウェブページを統合して、ひとつのURLを正規化するときに役立ちます。

301リダイレクトの注意点は、変更前のURLの評価が引き継がれる一方で、インデックスされるまでにある程度の時間を要することです。よってウェブページのURL変更や統合、ウェブサイト全体の移転を行ったら、早めにリダイレクト設定を行う必要があります。

■302リダイレクト

302リダイレクトとは、301が永続的なリダイレクトを指示するのに対して、302は一時的に転送したい場合に使用するステータスコードです。ウェブページやウェブサイトを完全に変更後のURLに移行するのではなく、短期的に転送機能を利用します。

活用方法は、たとえばウェブサイトの不具合発生時、復旧までの間に表示する一時的なウェブページへの転送に使用するなどです。目安としては、1か月前後の期間であれば、301ではなく302リダイレクトを利用すると良いでしょう。

302リダイレクトを設定した場合、Googleがインデックスするのは変更前のURLです。 最近は302であってもウェブページの評価は反映される傾向にありますが、SEOの観点からすると、完全に新しいURLへ変更するのであれば、301の設定のほうがおすすめです。

リダイレクトを設定する場合はサーバーサイドで行う

前述のとおり、リダイレクトの設定方法はサーバーに行うものもあれば、ウェブページ側に埋め込むものもあります。 設定や管理の難易度が異なる他、SEOへの影響にも差が出ます。

サーバーサイド以外のリダイレクト方法を設定した場合、Googleからの評価が一部引き継がれないリスクがあるため、SEOを考慮するのであれば、大前提としてリダイレクトの設定はサーバーサイドで行うべきです。

ウェブページに埋め込む方法は、リダイレクト設定のできないサーバーを利用している場合に活用しましょう。

リダイレクトの設定期間は最低でも1年が必要

永続的なリダイレクトを設定する場合、担当者を悩ませることのひとつが「いつまで旧URLにリダイレクト設定を残しておくべきか」ではないでしょうか。

リダイレクト設定の最適な期間については、Googleのゲイリー・イリェーシュ(Gary Illyes)氏が最低1年と明言しています。

また、可能であればユーザーのために無期限に残しておくほうが良いとも答えており、リダイレクトの設定期間は長ければ長いほど成果が出ることが分かります。

他サイトからの被リンクの可能性も考慮すると、短期間でリダイレクト設定や変更前のURLを完全に削除することは効果的とは言えません。可能な限り古いウェブページも残し、リンクから流入するユーザーの取りこぼしを避けることが重要です。

 

目次へ

まとめ

ウェブサイトを運営していると、ドメイン変更やURL変更が必要となる場合があります。変更前のURLにアクセスしたユーザーの流出を防ぐためには、リダイレクト設定による転送・誘導が欠かせません。 リダイレクトと一口に言っても、複数種類の設定方法があります。使用しているサーバーの種類やリダイレクトを必要とする期間、設定や管理方法の手軽さも考慮して最適な方法を選びましょう。