サイト内のURLを別タブで開く際に、同一ドメイン内であれば、noreferrer
やnoopener
を付ける必要は基本的にありません。以下にその理由を詳しく説明します。
理由
- セキュリティの観点:
noopener
は、リンク先のページが元のページにアクセスできないようにするための属性です。これは、外部サイトにリンクする場合に特に重要です。外部サイトが悪意を持っている場合、元のページを操作されるリスクを防ぐために使用されます。しかし、同一ドメイン内であれば、そのようなリスクは存在しないため、noopener
を付ける必要はありません。
- リファラー情報の送信:
noreferrer
は、リンク先にリファラー情報を送信しないようにするための属性です。これも外部サイトに対しては有効ですが、同一ドメイン内での遷移ではリファラー情報を送信することが通常の動作であり、特に問題はありません。したがって、noreferrer
を付ける必要はありません。
- ブラウザの挙動:
- 現在の主要なブラウザでは、
target="_blank"
を指定した場合、暗黙的にrel="noopener"
が適用されるため、特に明示的に指定する必要がなくなっています。これにより、セキュリティ上の問題が軽減されています。
- 現在の主要なブラウザでは、
結論
したがって、同一ドメイン内のURLを別タブで開く場合、noreferrer
やnoopener
を付ける必要はありません。ただし、外部サイトへのリンクの場合は、これらの属性を使用することが推奨されます。
参考サイト
https://myajo.net/tips/10672/
https://cinci.jp/blog/20240723-review-target-blank-noopener-noreferrer-practices