JavaScript リダイレクトとは、JavaScript のコード (window.location.href や window.location.replace()) を使用してブラウザのページ遷移を実行する手法です。クライアントサイドで動作するため、ユーザーの環境やアクセス条件に応じた動的なリダイレクトが可能です。
JavaScript リダイレクトの利点は、条件分岐の柔軟性にあります。ユーザーのデバイス種別、ブラウザの言語設定、Cookie の有無、ログイン状態などに基づいて、異なる URL へ転送できます。A/B テストのトラフィック振り分けにも活用されます。<% if (typeof amazonTag !== 'undefined' && amazonTag) { %><a href="https://www.amazon.co.jp/s?k=JavaScript%20入門%20実践&tag=<%= amazonTag %>" target="_blank" rel="nofollow noopener noreferrer" class="amazon-inline-link">Amazon の関連書籍</a><% } else { %>Amazon の関連書籍<% } %>も参考になります。
ただし、JavaScript リダイレクトには重要な制約があります。検索エンジンのクローラーは JavaScript を実行しない、または実行が遅延する場合があるため、SEO の観点では HTTP リダイレクト (301/302) が推奨されます。Google は JavaScript リダイレクトを認識できますが、処理に時間がかかるため、インデックスへの反映が遅れる可能性があります。
また、JavaScript が無効化されている環境ではリダイレクトが機能しません。アクセシビリティの観点からも、JavaScript に依存しないフォールバック (noscript タグ内のメタリフレッシュなど) を用意することが推奨されます。<% if (typeof amazonTag !== 'undefined' && amazonTag) { %><a href="https://www.amazon.co.jp/s?k=フロントエンド%20開発%20ベストプラクティス&tag=<%= amazonTag %>" target="_blank" rel="nofollow noopener noreferrer" class="amazon-inline-link">フロントエンド開発の実践書</a><% } else { %>フロントエンド開発の実践書<% } %>も役立ちます。