目次
301リダイレクトとは
301リダイレクトとは、URLが恒久的に移動した場合のHTTPステータスコードのことです。
※HTTPステータスコード=WebブラウザがWebサーバから受け取る情報であり、3桁の数字からなるコード
- 100番台:処理中
- 200番台:成功
- 300番台:リダイレクト
- 400番台:クライアントエラー
- 500番台:サーバエラー
どんな時に必要?
- ホームページの移転で、ドメインが変更
- ホームページの構成が変わり、ページURLが変更
- 「www」や「index.html」の有無を統一
SEO的効果
301リダイレクトにより、転送後のURLは転送前のURLの評価を引き継ぐことができるので、SEO的に効果があります。一方、一時的に移動した場合の302リダイレクトがありますが、これは、評価を引き継ぐことができません。
記述方法
.htaccessに記述します。
ページ変更
1 2 |
RewriteEngine on RewriteRule ^old_page.html$ http://example.com/new_page.html [R=301,L] |
ディレクトリ変更
1 2 |
RewriteEngine on RewriteRule ^old_dir(.*)$ /new_dir$1 [R=301,L] |
ドメイン変更(下層ページURL変更なし)
1 2 3 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^old\.com RewriteRule ^(.*) http://new.com/$1 [R=301,L] |
wwwありに統一
1 2 3 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com RewriteRule ^(.*) http://www.example.com/$1 [R=301,L] |
wwwなしに統一
1 2 3 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example\.com RewriteRule ^(.*) http://example.com/$1 [R=301,L] |
index.htmlなしに統一
1 2 3 |
RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://example.com/$1 [R=301,L] |
httpsに統一
1 2 3 |
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://example.com/$1 [R=301,L] |
いつまで必要?
最低でも1年、可能ならばずっと取り除かないそうです。