本文へ移動
Coffee Break Again キャラクターと物語のWebサイト設計

Guide

旧URLを壊さないサイト移行|301・404・410の使い分けと確認手順

既存サイトを別テーマやサブドメインへ移すときのURL台帳、1対1リダイレクト、404・410、canonical、公開後確認を実例に基づいて解説します。

移行前に最初に作るものは何ですか?

旧URLを1行ずつ記録するURL台帳です。サイトマップだけでなく、実ファイル、データベース、内部リンク、アクセス記録など、確認できる複数の情報源から集めます。URLを漏らしたまま公開すると、本文が残っていても入口を失います。

台帳の列記録する内容目的
旧URLパス、末尾スラッシュ、クエリを含む元の入口確認対象を固定する
処理維持、301、404、410URLごとの意図を残す
転送先同等内容の新URL一括転送を防ぐ
期待結果HTTP状態、canonical、見出し公開後の合否を機械判定する
確認日時本番で検証した日時未確認行を見つける

301・404・410はどう使い分けますか?

結果使う条件使わない条件
200 維持内容とURLをそのまま公開し続ける実体が別URLへ恒久移行した
301 転送同等の内容が新URLにある題材も目的も異なるページしかない
404URLが存在せず、一般的な未検出として扱う削除を明示する運用基準がある
410意図して恒久削除し、代替がない一時停止や将来復旧の予定がある

HTTP状態の解釈は検索サービス固有の反映時間を保証するものではありません。公開後は、実際の応答と各サービスの公式な検査結果を分けて確認します。

なぜ無関係なトップへの一括転送を避けますか?

読者が求めた記事と転送先の答えが一致しないからです。移行率を100%に見せられても、内容の対応関係がなければリンク切れを隠しているだけです。代替がないURLは、明確な404または410を返す方が状態を説明できます。

公開前にどの順番で検証しますか?

  1. 台帳を凍結する旧URL、処理、転送先、期待結果をレビュー可能な形式で保存する。
  2. 成果物を別領域に作る途中の生成物を本番用ディレクトリへ混ぜない。
  3. 内部リンクを全件確認するHTML、画像、CSSなどの参照先が成果物内にあるか検査する。
  4. 転送を連鎖させない旧URLから最終URLへ一度の301で到達するようにする。
  5. 本番相当でHTTPを確認する状態、Location、canonical、見出しを台帳の期待値と照合する。
  6. 公開後に再確認する代表URLだけでなく、台帳の優先範囲を機械的に検査して日時を残す。

canonicalとサイトマップは何を確認しますか?

公開する各ページのcanonicalが、そのページ自身の最終URLを示すことを確認します。サイトマップには、検索対象として公開する200ページだけを載せ、転送元、404、410、noindexページを混ぜません。

  • canonicalはHTTPSの最終URLで、転送を挟まない
  • 末尾スラッシュの方針が内部リンクと一致する
  • サイトマップのURLがすべて200を返す
  • robots.txtのサイトマップURLが実在する
  • 旧URLを指す内部リンクが新成果物に残っていない

Coffee Break Againでは何を検証しましたか?

旧WordPressサイトのURLを台帳化し、コーヒー記事はサブドメインの静的アーカイブへ1対1で移す設計にしました。新しい本体サイトのテーマと一致しない旧記事を、新トップへまとめて転送しない方針です。

主張対象条件根拠限界
URL台帳で全件検査できる移行前に列と期待値を固定できる旧サイトURLを行単位で生成・照合外部からのみ参照される未知URLは別調査が必要
静的化で閲覧用アーカイブを分離できる投稿・検索・コメント機能を終了できるHTMLと同一オリジン参照を全件検査動的機能が必須のサイトには適用できない
1対1転送で入口を保てる旧内容と対応する最終URLがあるパス単位の転送先を台帳化本番反映は公開後の再検証が必要

アーカイブの扱いと閲覧上の注意は旧コーヒー記事についてにまとめています。

よくある質問

古いURLはすべて新しいトップページへ301転送してよいですか?

よくありません。内容が対応しない一括転送は、読者が探していた情報へ到達できず、移行後の不具合も見えにくくします。同等の内容があるURLだけを1対1で転送します。

404と410はどのように使い分けますか?

URLが見つからない一般的な状態は404、意図して恒久的に削除し代替もないと明示したい場合は410を使います。サイト内で一貫した基準を決め、台帳に理由を残します。

canonicalがあれば301転送は不要ですか?

不要にはなりません。canonicalは類似ページの代表URLを示す手掛かりで、訪問者を新URLへ移動させる機能ではありません。恒久移行にはサーバー側の301を使います。

リダイレクトはいつまで残しますか?

外部リンク、ブックマーク、検索結果から古いURLへの訪問が続く可能性があるため、短期間で消さず長期に維持する前提で設計します。維持できないURL変更を安易に増やさないことも重要です。