301リダイレクトと302リダイレクトの違い
サイトリニューアルなんかで、URLが変わったりして、URLをリダイレクトさせるときに、あれ?301だったっけ?302だけ?とかなることってありませんか。
- 301 ... ”Permanent Redirect”で「恒久的な転送」
- 302 ... ”Temporary Redirect”で「一時的な転送」
字面だけ見ると、はて?という感じですよね。
そもそもリダイレクトって何?
https://ja.wikipedia.org/wiki/リダイレクト_(HTTP) より
ウェブサイトにおけるリダイレクト(英: redirect)とは、ウェブサイトの閲覧において、指定したウェブページから自動的に他のウェブページに転送されること。URLリダイレクト(URL redirection)とも言われる。
通常はウェブページのURLが変わったときに、元のURLから新しいURLへ誘導するときに用いられる。フィッシング詐欺サイトへの誘導などで用いられている場合もある。
ということです。
一般的には Apacheなんかの .htaccess で
RewriteEngine on
RewriteRule ^old.html$ https://example.com/new.html [L,R=301]
とか書く記述のことです。
どっちを使えばいいの?
設定するリダイレクトが、今後解除する可能性があるかどうか、で考えると良さそうです。
具体的な例としては、
301 ... サイトリニューアルなどでURL変更が変わった時など
302 ... メンテナンス画面、エラー画面など
という感じです。
なぜ使い分ける必要があるの?
SEO的、つまり、主にGoogle検索エンジンが見たときにどのように判断されるか、ということです。
メンテナンス中の画面など検索結果にでてきてもあまり嬉しくないですし、そもそも意味がないですよね。
逆に、URLが変わると、検索エンジンで検索してもすぐには検索結果は変わらないので、目的のページにたどり着けなくなっちゃいます。
URL知っている人は別ですが、普通、キーワードとかで検索しますから。
つまり、Google先生には素直に従っとけってことですね(*´ω`*)