PHPのhttp_response_code(200);とは?
PHPの http_response_code(200);
は、HTTPレスポンスのステータスコードを
200 OK に設定する関数です。
本記事では、この関数の役割や使用例、注意点について詳しく解説します。
http_response_code(200);
の基本
HTTPレスポンスコードは、クライアント(ブラウザやクローラー)が
サーバーから受け取る応答の状態を示します。
http_response_code(200); // Googlebot に 200 OK を返す
このコードを実行すると、クライアントは 200 OK
のステータスを受け取り、
「リクエストが正常に処理された」と判断します。
使用される主な場面
この関数は、以下のような状況で活用されます。
カスタム 404 ページで意図的に 200 を返す
通常、存在しないページにアクセスすると 404 Not Found
が返されます。
しかし、特定のページでは 200 OK
を返したい場合があります。
if (!file_exists($page)) {
include 'custom_404.php';
http_response_code(200); // 通常は 404 だが、200 に変更
}
これは、Googlebot にカスタムの 404 ページをインデックスさせる場合に使われることがあります。
リダイレクト後のページで正しいステータスを設定
リダイレクトを行った後、特定のページで 200 OK
を明示的に返すことがあります。
header("Location: /new-page.php");
http_response_code(200); // リダイレクト後に 200 OK を確実に返す
通常、リダイレクトでは 301 Moved Permanently
や 302 Found
が使われますが、
特定の要件では 200 OK
を指定することがあります。
Googlebot などのクローラー向けに適切なステータスを返す
Googlebot がページをクロールする際、誤って 403 Forbidden
や 500 Internal Server Error
を返すと、インデックスされなくなる可能性があります。
特定のページで確実に 200 OK
を返すことで、クロールエラーを防ぐことができます。
if ($is_googlebot) {
http_response_code(200); // クローラーに 200 OK を返す
}
http_response_code(200);
の注意点
適切なステータスコードを使用する
誤って 404 Not Found
や 500 Internal Server Error
を 200 OK
に変更すると、SEO に悪影響を与える可能性があります。
例えば、本来 404 Not Found
を返すべきページに 200 OK
を返すと、Google はそのページが正しいと認識してしまい、検索結果に不要なページがインデックスされる可能性があります。
既にレスポンスを送信した後には変更できない
PHP の http_response_code()
は、レスポンスの送信後には変更できません。
echo "Hello, World!";
http_response_code(200); // これは無効になる
このように echo
で出力を開始した後では、http_response_code()
は意味を持ちません。
そのため、適用する場合は、出力処理の前に記述する必要があります。
まとめ
http_response_code(200);
は、HTTPレスポンスのステータスコードを200 OK
に設定する関数。- カスタム 404 ページやリダイレクト後の処理、Googlebot への対応などに利用される。
- 不適切な使用は SEO に悪影響を及ぼす可能性がある。
- すでにレスポンスを送信した後には適用できない。
正しく使うことで、適切なレスポンス管理が可能になります。
適用場面をしっかり理解して、適切に活用しましょう!
Apacheでキャッシュを無効化する方法
9月 15, 2024.htaccessで既存のリライトルールにリダイレクト設定を追加する方法
9月 10, 2024.htaccessMac で編集する方法
5月 14, 2018