本チュートリアルでは、301リダイレクトを「設計→実装→検証→運用」まで一気通貫で進めます。対象は、中小〜大規模サイトのSEO担当・Web担当・開発者。作業時間は規模に依存しますが、小規模のURL変更なら半日、ドメイン移転は数日〜数週間の計画を見込みましょう。難易度は中級。コード例・チェックリストを豊富に用意しています。
注目ポイント:Googleは恒久的なURL変更に「サーバーサイドの永久リダイレクト(301/308)」を推奨し、サイト移転では「可能な限り長く、一般的に少なくとも1年」リダイレクトを維持するよう明記しています(英語版のガイド、2025年時点)— 詳細はGoogleのSite moveガイド(2025)とRedirectsの説明(Google Search Central, 2025)を参照。
迷ったら次の順で考えます。
根拠:308は「POSTなど元のHTTPメソッドを保持する永久リダイレクト」としてRFC 7538(2015)で定義。307/308のメソッド保持はRFC 7231(2014)の整理と合わせて理解しておくと実装判断がブレません。Googleの正規化ガイドでも、リダイレクトは強いシグナル、canonicalは次に強いと説明されています(Google Canonicalization, 2025 / 重複URLの統合, 2025)。
小さな判断早見表:
実装前に「旧→新」のURLマッピング表を用意します。ポイントは次のとおり。
チェーン/ループはクロール効率とUXを落とします。検出と解消にはScreaming Frogの「Redirect Chains / Loops」レポートが有用です(Screaming Frog ユーザーガイド, 2025)。
できるだけサーバー(またはCDNエッジ)で実装し、JS/メタリフレッシュは避けます(Google Redirectsガイド, 2025)。
代表スニペット:
HTTP→HTTPS 強制(パス保持)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
非www→www 統一(HTTPS前提)
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
大文字→小文字(サーバー設定で RewriteMap を使用)
RewriteEngine On
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
注意:ファイル名の大小違いを吸収する mod_speling は副作用があり、推奨されません(Apache mod_speling, 現行版)。
HTTP→HTTPS(パス・クエリ保持)
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
非www→www(443側で分離)
server {
listen 443 ssl;
server_name example.com;
# ssl_certificate ...
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com;
# 本体設定
}
運用ヒント:
よくある罠:
デプロイ前(ステージング)
デプロイ直後(本番)
curl -IL https://example.com/old-path
(応答チェーン・最終着地を確認)Google Search Console(GSC)
ログ/監視
最低限、次のKPIを週次で確認します。
Googleはサイト移転時のリダイレクトを「少なくとも1年」維持するよう求めています。シグナル移行とユーザーのブックマーク・外部リンクの更新を待つためです(Google Site moveガイド, 2025)。
curl -IL https://example.com/old-path
Redirect 301 /old-path https://example.com/new-path
server { listen 80; server_name example.com; return 301 https://example.com$request_uri; }
Cloudflare: Bulk Redirects(Dashboard ナビ)
WordPress: 書き換えルールのフラッシュ(開発者向け)
// After changing rewrite rules in a plugin/theme
flush_rewrite_rules();
参考: WordPress Developer Reference(flush_rewrite_rules, 2025)
計画・設計
実装
検証
運用
最後に:不安が残る場合は、「設計(マッピングと正規化)→最小ルールで実装→計測で確認→段階的に拡張」というリズムを守れば、トラブルは最小化できます。ここまで完了したら、あなたの301リダイレクト設計は2025年基準で十分に実戦的です。