301リダイレクトと302リダイレクトの違い

301リダイレクト:”Permanent Redirect”のことで「恒久的な転送」を表す 302リダイレクト:”Temporary Redirect”のことで「一時的な転送」を表す

302リダイレクトは新しいコンテンツをインデックスしつつも、URLは昔の古いURLを残す一方で、301リダイレクトはURLも新しいURLを返します。

あるサイトを完全に引っ越しをする場合は301リダイレクトで、一時的な仮置場の場合は302リダイレクトを利用します。

サイトを完全に移転する場合でも、「最初は一時的に302でリダイレクトして、しばらくした後301で完全にリダイレクトする」のがいいという指南もあるようですが、現在では初めから301リダイレクトで転送するのが適しているようです。

302リダイレクトを利用する場合は、期間が1,2週間など具体的に定まっている場合に利用したほうが良く、それよりも長期に及ぶ可能性がある場合は301リダイレクトを行うのが慣例なようです。

これらのリダイレクトを実際にPHPで書く場合は以下のようになります。

301リダイレクト

<?php 
header('Location: http://○○○.com/', true, 301);
exit();
?>

302リダイレクト

<?php 
header('Location: http://○○○.com/');
exit();
?>