サイト運営・SEO対策

PHP で 301 / 302 リダイレクトをする方法(SEO 対策)

PHP で 301 / 302 リダイレクトをする方法(SEO 対策)

PHP でリダイレクトをする場合には header 関数を使ってコーディングしますが、その際 301 / 302 リダイレクトを指定する方法をご紹介いたします。

header 関数

特に指定せず header 関数を使って https://hogehoge.com/ にリダイレクトするにはこう書きます…

<?php
  header("Location: https://hogehoge.com/");
  exit();
?>

注意点

3行目に「exit();」を書いている理由ですが、これを書かなければ リダイレクトしたあとに3行目以下のコードが実行されてしまうためです。

このサンプルプログラムでは以下に何も書いていませんが、通常は色んなコードが書かれていることが多く そういった場合に「リダイレクトしてるのに、なぜかリダイレクトされてないような現象が起きている、、??」と…頭を悩ませてしまうことになってしまいます(経験談)。

exit();」はリダイレクトする場合には必ず書いておくべきです。

301 リダイレクト

上記のコードに「301 リダイレクト」を指定するには、header 関数の上に「301 リダイレクト」であることを一行記述して このように書きます…

<?php
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: https://hogehoge.com/");
  exit();
?>

302 リダイレクト

302 リダイレクトの場合には、上記の「header(“HTTP/1.1 301 Moved Permanently”);」を書かなければ 302 リダイレクトになります。

SEO 対策への影響


現在では Google 検索エンジンにおける 301 リダイレクト と 302 リダイレクト の扱いの差はほとんどなくなったそうですが、以前は 301 リダイレクト の場合には 転送前の SEO 評価(Page Rank)を引き継いで302 リダイレクト の場合には SEO 評価(Page Rank)を引き継がなかった時期もあったそうなので、やはりきちんと 301 リダイレクトは指定しておいた方が良さそうですね。

COMMENT

メールアドレスが公開されることはありません。