301リダイレクトとは
「URLが恒久的に移動した」とブラウザ・Googleに伝える仕組み。旧URLにアクセスすると自動的に新URLへ転送され、SEO評価も90〜99%引き継がれます。
302との違い
- 301:恒久的な移転(SEO評価を引き継ぐ)
- 302:一時的な移転(評価を引き継がない)
URL変更時は必ず301を使うのが正解です。
必須シーン5つ
- サイトリニューアルでURL構造を変更した
- 独自ドメインに移行した
- http→https化した
- www有無を統一したい
- 古いページを統合した
設定方法:Apache(.htaccess)
# 個別URL → 個別URL
Redirect 301 /old-page.html https://example.com/new-page.html
# www なし → www あり
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
# http → https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
設定方法:WordPress
- Redirectionプラグイン(無料・最定番)
- Rank Math / Yoast SEO有料版にもリダイレクト機能
- 管理画面で旧URL→新URLを登録するだけ
設定方法:Nginx
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
よくある失敗
- リダイレクトチェーン:A→B→Cと連鎖(評価がどんどん減衰)
- リダイレクトループ:A→Bで終わってない、設定ミス
- 302で設定:SEO評価が引き継がれない
- 301設定後の旧URLが404:実は転送できていない
確認方法
- ブラウザで旧URLにアクセス→新URLに転送される
- Search Consoleの「URL検査」で確認
- 「Redirect Checker」(無料Webツール)
- サーバーレスポンスが「HTTP/1.1 301 Moved Permanently」
まとめ
- URL変更時は必ず301
- サーバー別(.htaccess/Nginx/WordPress)で設定法が違う
- リダイレクトチェーン・ループに注意
- Search Consoleで動作確認
