こんにちは、ツバサです。
記事のURLを変更したとき、古いURLにアクセスした人を新しいURLに自動で飛ばす方法を調べた。これがリダイレクトだ。
リダイレクトとは
あるURLにアクセスしたとき、自動的に別のURLに転送する仕組みのこと。ページのURLを変更したり、サイトを引っ越したりしたときに、旧URLへの訪問者を新URLに誘導するために使う。
代表的な種類は301リダイレクト(恒久的な移転)と302リダイレクト(一時的な移転)の2つ。301の場合、検索エンジンは旧URLの評価を新URLに引き継ぐ。302は一時的な転送なので評価の引き継ぎは行われない。
静的サイトでの実装方法
meta refreshタグを使う
GitHub Pagesのような静的サイトではサーバー設定ができないため、HTMLのmeta refreshタグでリダイレクトする。<meta http-equiv="refresh" content="0;url=新URL">と書くと、ページを開いた瞬間に新URLに転送される。
canonicalタグも併記する
meta refreshだけでは検索エンジンが「恒久的な移転」と判断しないことがある。canonicalタグで新URLを指定し、noindexも設定しておくのが安全だ。
覚えておきたいポイント
リダイレクトチェーンを作らない
A→B→Cのように転送が連鎖すると、ページの読み込みが遅くなり、検索エンジンの評価にも悪影響が出る。転送は1回で完結するようにする。