Webサイトのリニューアルや修正でサイトURLが変化した際、忘れずにリダイレクトを設定しているでしょうか?
リダイレクト設定をしないと、旧URLにアクセスした際にページが表示されず、ユーザー側にストレスを与えてしまいます。さらにはサイト訪問者を減らすことになるので、見込み客を逃してしまう恐れもあります。
今回は、リダイレクトの意味と種類、設定方法について解説したいと思います。
リダイレクトの意味とは?
リダイレクト(redirect)とは、あるページにアクセスした際に、別のページに遷移させる設定のことです。
例えば、WebサイトのリニューアルでサイトURLが変化した場合、何も設定しないと旧サイトのURLにアクセスした際にページが表示されず、ユーザーは離脱してしまいます。しかし、リダイレクト設定を行うことで、旧サイトのURLにアクセスしても新サイトに遷移させることができ、サイトからの離脱を防ぐことができます。機会損失を避けられるのです。
301リダイレクトと302リダイレクトの違いは?
リダイレクトには「301リダイレクト」と「302リダイレクト」の2種類が存在します。この2つの違いを理解した上でリダイレクトの設定を行う必要があります。
301リダイレクト
301リダイレクトとは、「永続的に」リダイレクトを行う設定です。サイトのURLが変わったり、URLのスラッグが変更になるなど、URLの変更が永続的な場合に行います。
302リダイレクト
302リダイレクトとは、「一時的に」リダイレクトを行う設定です。ページの修正やメンテナンスなどで、一時的に別ページにリダイレクトさせたい時に行います。
301リダイレクトの設定方法(htaccess)
次に301リダイレクトの設定方法について解説します。htaccessファイルに記述を加えることでリダイレクト設定を行うことができます。
1)サイトURLが変更になった場合
https://oldsite.com
または https://www.oldsite.com
にアクセスした場合、https://www.newsite.com/
にリダイレクトする場合の記述です。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^oldsite\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.oldsite\.com$
RewriteRule (.*) https://www.newsite.com/$1 [R=301,L]
2)常時SSL化(http → https)する場合
HTTPSでないURLにアクセスした際に、同じURLの状態でHTTPSへリダイレクトする記述です。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
3)ディレクトリ単位でリダイレクトする場合
/old-directory/
を /new-directory/
にリダイレクトする場合の記述です。
Redirect 301 /old-directory/ /new-directory/
/old-directory/
を https://newsite.com/new-directory/
にリダイレクトする場合の記述です。
Redirect 301 /old-directory/ https://newsite.com/new-directory/
4)ページ単位でリダイレクトする場合
old-page.html
をnew-page.html
にリダイレクトする場合の記述です。
Redirect 301 /old-page.html /new-page.html
まとめ
Web制作においてリダイレクトの知識は必要不可欠です。リダイレクトの設定方法を知っているだけでなく、リダイレクトの意味や301と302の違いを人に説明できるようにしておきましょう。