HTTPリダイレクト

HTTPのリダイレクトには301リダイレクトと、302リダイレクトがあります。HTTPのステータスコードの詳細についてはリンク先のページでご確認下さい。

HTTPヘッダにあるHTTPステータスコードにてリダイレクトの種類を伝え、Location:ヘッダで移動先を伝える。種類には301 Moved Permanently(恒久的な移転)や302 Found(発見)などがある。Webサーバの設定ファイル(Apacheの場合、httpd.confファイルや.htaccessファイル)や、CGIなどで指定できる。

リダイレクト(HTTP)- Wiki

ステータスコード301はMoved Permanentlyということで永久的な移転となり、302(307)はTemporary Redirectということで一時的な移転となるようです。

ランキングプログラムからの転送

dtn.jpではカテゴリ登録サイト向けのクリックランキング、アクセスランキングを実施していますが、ランキングカウント用のPHPでは$_GET、$_POSTのデータからリンクIDを抜き出し、ランキングカウントテーブルに反映させた後、登録サイトのURLにリダイレクトをしておりました。

ところが、ステータスコードを指定しないリダイレクトは302(307)と認識されてしまい、SEO的にはあまり良くないということのようでした。

プログラムからのリダイレクトも301に

そこで、プログラムからのheader()リダイレクトもステータスコードを入れるようにしておきました。

header("HTTP/1.1 301 Moved Permanently");
header("Location: $LINK");

お持ちのサイトでリダイレクトを設定されている方がいらっしゃいましたら、ステータスコードにもぜひご注意下さい。