エリア変更後の古いURLを404にせず、現在地へつなぎ直した話

記事
IT・テクノロジー
今日は、Next.jsで作っているサロンプロフィールページのURL設計を見直した。

プロフィールURLには都道府県やエリア名を含めている。検索結果やSNSで見たときに内容が分かりやすい一方、サロンが移転したり、登録エリアを修正したりするとURLも変わる。新しいページだけを表示できれば機能としては動くが、過去に共有されたリンクや検索エンジンに残ったURLを開くと404になる問題があった。

そこで、古いURLでアクセスされたときも、まずサロン自体の識別子でデータを確認し、現在登録されているエリアとURL上のエリアを比較するようにした。両者が違えば、Next.js側で現在のプロフィールURLへ恒久転送する。サロンが存在しない場合だけ「見つかりません」を返し、同じURLへの転送や無限ループが起きない条件も加えた。

実装後は、エリア変更前のURL、変更後のURL、存在しないサロンの3通りを確認した。古いリンクは新しいページへ移動し、新しいリンクはそのまま表示され、存在しないデータだけが404になる状態にできた。

今回は見た目を変える改修ではないが、公開後のサイトではこうした「変更後も入口を壊さない」処理が効いてくる。URLを配布した後や検索結果に載った後に、データ変更だけで導線を失うのは避けたい。

既存サイトのページ追加やデータ構造の変更、Next.js・WordPressの表示不具合でお困りの場合は、現状を確認したうえで、影響範囲を絞った改修から対応しています。小さな調査や1機能だけのご相談も歓迎です。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す