サイト制作
noopenerとnoreferrerの違い 別タブの安全性と参照元情報を分けて考える
2026-11-07
この記事には広告・アフィリエイトリンクが含まれます。

リンクのrelに書くnoopenerとnoreferrerは同じ役割ではありません。開いた先からのopener参照と、Refererヘッダーの送信を分けて整理します。
noopenerはopener、noreferrerは参照元情報にも作用する
noopenerは、新しく開いたページからwindow.openerを通して元のページへアクセスできないようにする指定です。一方、noreferrerは参照元を示すRefererヘッダーを送らず、noopenerの働きも含みます。
二つの語を同じ意味として暗記するより、「元のウィンドウへの参照」と「どこから来たかという情報」を分けると分かりやすくなります。リンク先URLそのものを変える指定ではありません。

参照元を残したいかも、仕様として決める
noopener自体はRefererヘッダーを送らないようにする指定ではありません。ただし、実際にどの参照元情報が送られるかは、Referrer-Policyなど別の設定にも左右されます。
noreferrerを付けると、リンク先で参照元を使った集計ができなくなる場合があります。自分のサイトからの遷移を伝えたい場面か、参照元を伝えない方針かを考えて選びましょう。アクセス解析の数字だけを見て、リンクが動いていないと決めつけないことも大切です。
別タブにしただけでリンク先の安全性は保証されない
MDNは、現在のブラウザーではtarget="_blank"にnoopener相当の保護が暗黙に付くことを説明しています。既存コードを読むときは、明示されたrelとブラウザー側の挙動を分けて確認してください。
どちらの属性も、リンク先の内容や運営者の安全性を保証するものではありません。リンク先を確認し、必要な保護と参照元の扱いを決める、という順番で考えると実装が整理できますよ。


