[レベル: 上級]
URL を変更した際の、検索におけるリダイレクトの利用方法を説明する技術ドキュメントを Google は大幅に刷新しました。
日本語ページはまだ更新されていません。
英語で読みたくない人のために、この記事では、新たに追加された情報を中心に注目点を紹介します。
【UPDATE (2021/7/12)】
日本語ページも更新されました。
リダイレクトの種類は 2 つ
リダイレクトには大きく分けて 2 種類あります。
- Permanent redirects(恒久的なリダイレクト)
- Temporary redirects(一時的なリダイレクト)
恒久的なリダイレクトでは、リダイレクト先の URL を検索結果に表示します。
一方、一時的なリダイレクトでは、リダイレクト元の URL を検索結果に表示します。
たとえば、https://example.com/abc/
を https://example.com/xyz/
にリダイレクトしたとします。
検索結果に表示される URL は次のようになります。
- 恒久的なリダイレクト ⇒
https://example.com/xyz/
(リダイレクト先) - 一時的なリダイレクト ⇒
https://example.com/abc/
(リダイレクト元)
基本的には、完全に URL を変更してもとに戻すことがないときには恒久的なリダイレクトを利用し、URL 変更が短期間で元に戻す予定があるときには一時的なリダイレクトを利用します。
リダイレクトの設定方法
リダイレクトの設定方法は複数あります。
Google 検索における信頼性が高い順に次のようになります。
信頼性が低いとリダイレクトとして処理されない場合がありえます。
恒久的なリダイレクト
- サーバーサイド リダイレクト
- HTTP 301 リダイレクト
- HTTP 308 リダイレクト
- refresh リダイレクト
- 待機時間 0 秒の meta refresh タグ
- 待機時間 0 秒の HTTP ヘッダー refresh
- JavaScript リダイレクト
- Crypto redirect(クリプト リダイレクト)
一時的なリダイレクト
- サーバーサイド リダイレクト
- HTTP 302 リダイレクト
- HTTP 303 リダイレクト
- HTTP 307 リダイレクト
- refresh リダイレクト
- 待機時間が 0 秒より大きい meta refresh タグ
- 待機時間が 0 秒より大きい HTTP ヘッダー refresh
リダイレクトの設定方法の補足
それぞれのリダイレクト設定方法について簡単に補足します。
サーバーサイド リダイレクト
サーバーサイド リダイレクトは、サーバー側の構成により HTTP ヘッダーで 3xx の HTTP ステータスコードを返します。
サーバーサイド リダイレクトは最も信頼性が高いリダイレクトです。
URL を変更するときは、可能な限りサーバーサイド リダイレクトを使うようにします。
設定方法は、.htaccess や PHP などサーバーのシステムによって異なってきます。
refresh リダイレクト
refresh リダイレクトの HTTP ヘッダー refresh というのは、HTML の meta refresh
タグを記述するではなく HTTP ヘッダーで refresh を返すやり方です。
次のような指定が HTTP ヘッダーに含まれるようにします。
Refresh: 0;url=/xyz/
※すずき独り言: HTTP ヘッダーで refresh を返せるのなら、3xx も返せますよね。これを使う理由があるのか?
JavaScript リダイレクト
JavaScript リダイレクトでは、window.location.href
を使います。
ただし、JavaScript はサーバーサイド リダイレクトも refresh リダイレクトも使えない場合に利用します。
これら 2 つと比べると信頼性が低くなります。
Crypto リダイレクト
Crypto リダイレクトは、ページ/サイトが移転したことをメッセージで伝えるとともに新ページへリンクしておくことです。
たとえばこんなのです。
HTML コードはこんな感じです。
<a href="https://newsite.example.com/newpage.html">新しいホームページへ移転しました!こちらからどうぞ。</a>
Crypto リダイレクトはほかのリダイレクトがどれも使えないときの最終手段です。
信頼性が最も低く、リダイレクトとして認識される保証はありません。
ちなみに、Crypto といってもビットコインなどの暗号資産(暗号通貨)とは何ら関係ありません。
Google 内部では、”cripto” という用語が一般的に使われているんだそうです。
意味合いは、本当はそうではないけれどそのように使われている状態を表します。
たとえば、実際には 404 ページなのに 200 のステータスコードを返してしまっている、いわゆる “Soft 404″(ソフト 404)は “crypt-404” と呼ばれています。
つまり、「Crypto リダイレクト」とは実際にはリダイレクトではないけれどリダイレクトのように使われている状態です。
先日公開された Google 検索における HTTP ステータスコードの扱いに関する技術ドキュメントと同様に、リダイレクトの技術ドキュメントもテクニカル SEO に強くなりたい人は必見です。
いずれ日本語ページも更新されるでしょうが、英語で読むのがおっくうなら Google 翻訳に頼って、早いところ読んでしまいましょう。
検索セントラルの技術ドキュメントには各リダイレクトの記述例も載っています。