アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

301 VS 302

開発中のサイトで、https://でアクセスされたらhttp://にリダイレクトしたり
その逆をやったり、という事案があり、リダイレクトについて諸々調べてたので残しておきます。

HTTPステータスコード

リダイレクトをかます時に、HTTPステータスコードを乗っけることができるらしい。
ほほう。今回のケースだと何か特別乗っけないといけないのかしら?

HTTPステータスコードっていうと、
「403 Forbidden」「404 Not Found」とかいうアレ。
とりあえずいろいろ調べてみる。

参考
HTTPステータスコード - Wikipedia
よく見るHTTPステータスコード一覧とその意味を理解する | SEO HACKS公式ブログ

ざっと見た感じ、301か302かな…?
と思って検索してみたら、案の定「301vs302」みたいな記事がごろごろ。

参考
SEOを正しく行う為に301リダイレクトや302リダイレクトを理解する | SEO Imagination!ブログ
SEO的に301リダイレクトは是が非か? | ランサーズ社長日記
301リダイレクトと302リダイレクト、meta refreshの設定方法や使い方 | WP SEOブログ
Google、モバイル向けサイトのリダイレクトには301よりも302を使うように推奨を変更 | 海外SEO情報ブログ
chromeは、301リダイレクトをキャッシュしている - too_youngの日記

いろいろ貼りましたが、まとめると…

  • 301
    • 引越しなど、その後ずっと移動先URLを使用する場合に使用
    • 「○○.jp/hoge」から「○○.jp/hoge/」に移動させる際もこちら
    • googleからの評価などが移動先URLに引き継がれる
      • 評価やアクセスの一本化
      • 移動元URLは検索結果に出なくなる?
    • 301に設定していても200が返る現象もあるらしい?
    • 環境によっては移動先URLに直接アクセスするようキャッシュされる
  • 302
    • メンテ中など、一時的に移動先URLに移動させたい場合に使用
    • googleからの評価などの移動は発生しない
      • 移動元も移動先も検索結果に出る(が評価は分散する)?
    • ただし、302が何度も検知されるサイトについては301として扱われる場合もある
    • 「○○.jp/index.html」のサイトを「○○.jp」として検索結果に出すのにも有効
      • 「○○.jp」でアクセスしてもらって「○○.jp/index.html」に遷移させる
    • バイル端末でPCサイトにアクセスした際のモバイルページへのリダイレクトは302推奨
    • あくまで一時的なものなのでキャッシュはされない

という感じですかね。

実際の挙動は以下のような感じだそうです。

301リダイレクトと302リダイレクトの違い | 海外SEO情報ブログ

うーん、今回の場合、httpをhttpsに転送したりその逆だったり…
どっちのURLも存在するから引っ越すわけではないし、
かといって一時的な移動でもないし、
っつーかその微妙な違いが上記のパターンにちゃんと当てはまるんかいな…
要するにどちらを使えば…。

…と迷いましたが、301を採用することにしました。
決め手にしたのは、
301の場合→「○○.jp/hoge」から「○○.jp/hoge/」への移動
302の場合→「○○.jp」から「○○.jp/index.html」への移動
というところです。
移動元を検索エンジンに残したいか残したくないかですね。


そして実際にHTTPステータスコードを乗っけたいとき、PHPではhttp_response_codeを使用すればOK。

PHP: http_response_code - Manual