# 2026年4月時点で、\<a>タグへ「target="_blank"」付与する際、追加で「rel="noopener"」は必要?不要な場合と必要な場合それぞれの理由を解説して。ついでに「noreferrer」についても要・不要とその理由を解説して。
結論から言うと、**2026年4月時点では、通常の `<a target="_blank">` に対して追加の `rel="noopener"` は、現代ブラウザ前提なら機能上はほぼ不要** です。
MDN は `<a>` について、`target="_blank"` を付けると **暗黙的に `rel="noopener"` と同じ挙動になり、`window.opener` を設定しない**と案内しています。WHATWG HTML Standard でも、`noopener` / `noreferrer` / `opener` の意味が整理されており、`noreferrer` は `noopener` を含む扱いです。 ([MDN Web Docs][1])
先に整理すると、
* **`noopener`** = 開いた先から `window.opener` で元ページを触れないようにする。
* **`noreferrer`** = `Referer` ヘッダーを送らない。さらに **`noopener` も含む**。
---
## `rel="noopener"` が不要な場合
**現代ブラウザだけを対象にした、普通の外部リンクの `_blank`** なら、追加しなくても実害はほぼありません。
MDN の `<a>` と `<area>` と `<form>` の説明では、`target="_blank"` は `noopener` 相当の挙動を暗黙に持つとされています。つまり、昔問題だった **reverse tabnabbing** 対策としての `noopener` は、2026年時点ではブラウザ側でかなり吸収されています。 ([MDN Web Docs][1])
実務的にはこうです。
```html
<a href="https://example.com" target="_blank">外部サイト</a>
```
この書き方でも、**今どきの主要ブラウザでは opener が切れる前提で見てよい**です。 ([MDN Web Docs][1])
---
## それでも `rel="noopener"` を付ける意味がある場合
機能上は不要でも、**明示しておく価値はあります**。理由は3つです。
**1つ目**は、**コードの意図が一目で分かる**ことです。
「これは新規タブを開くが opener は渡さない」という設計意図が、レビュー時に明確になります。これは仕様というより運用上のメリットです。
**2つ目**は、**古いブラウザや古いWebViewを少しでも視野に入れる場合の保険**になることです。
WHATWG の dev 版互換表や MDN の過去情報でも、`noopener` 自体は古めのブラウザでは差があり、古い IE 系では弱い時期がありました。2026年に一般企業サイトで IE を主対象にすることはほぼないですが、閉域端末や古い組み込みWebViewが混ざる職場なら、**書いておいて損は少ない**です。 ([HTML Living Standard][3])
**3つ目**は、**`_blank` 以外でも opener を切りたいケース**です。
WHATWG 仕様では、`rel=noopener` は単に `_blank` の補足ではなく、**新しいトップレベル閲覧コンテキストを auxiliary browsing context にしない**ための指定です。つまり、名前付き target などでも opener を持たせたくない設計なら、`rel=noopener` 自体に意味があります。 ([HTML Living Standard][3])
なので実務判断としては、
**現代ブラウザ前提なら “必須ではない” が、コーディング規約として付けるのは普通にアリ**、です。
---
## 逆に `noopener` が必要な場合
2026年時点でも、次のような場面では「必要寄り」と考えていいです。
* **古いブラウザ / 古いWebView互換を少しでも気にする**
* **lintルールや社内規約で明示を求める**
* **`_blank` 以外の target でも opener を切りたい**
* **セキュリティレビューで“暗黙挙動に依存しない”方針を取る**
つまり、「ブラウザがやってくれるから省略」でも成立はするけど、
**企業の実装ルールとしては明示のほうが説明しやすい**です。
## `noreferrer` は要るか
ここは `noopener` と違って、**かなり用途次第**です。
### `noreferrer` が不要な場合
ふつうの企業サイトやLPでは、**まず不要**です。
理由は2つあります。
**1つ目**は、**デフォルトの Referrer-Policy がすでにかなり控えめ**だからです。
MDN では、現在の既定は **`strict-origin-when-cross-origin`** で、クロスオリジンへの HTTPS→HTTPS では **オリジンのみ** を送り、HTTPS→HTTP では送らない、とされています。つまり昔より、最初から漏れ方は抑えられています。 ([MDN Web Docs][4])
**2つ目**は、**計測や流入元分析が壊れやすい**からです。
`noreferrer` を付けると `Referer` ヘッダーを送らないので、相手側のアクセス解析では「どこから来たか」が見えにくくなります。外部送客、提携先、メディア掲載、アフィリエイト、効果測定の文脈では、むやみに付けると不都合が出ます。`noreferrer` は仕様上、単に `noopener` の強化ではなく、**参照元情報を消す**指定です。 ([MDN Web Docs][5])
### `noreferrer` が必要な場合
次のようなときは意味があります。
* **遷移先に参照元を絶対に渡したくない**
* **URLパスやクエリに機微情報が乗る可能性がある**
* **外部サービスに組織名や内部パスをなるべく見せたくない**
* **法務・セキュリティ・プライバシー要件で referrer を切る必要がある**
`noreferrer` は、仕様上 **`Referer` を送らず、さらに `noopener` と同じ効果も持つ**ので、「referrer を完全に切りたい」ならこれ1つで足ります。 ([MDN Web Docs][5])
---
## 実務上のおすすめ
### 1. ふつうの外部リンク
これで十分です。
```html
<a href="https://example.com" target="_blank" rel="noopener">外部サイト</a>
```
2026年時点では `noopener` は機能上ほぼ冗長ですが、**明示しておくとレビューしやすい**です。 ([MDN Web Docs][1])
### 2. referrer を絶対に渡したくない外部リンク
このときは `noreferrer` を使います。
```html
<a href="https://example.com" target="_blank" rel="noreferrer">外部サイト</a>
```
`noreferrer` は `noopener` を含むので、**`rel="noreferrer noopener"` と両方書いても冗長**です。 ([MDN Web Docs][5])
### 3. `noreferrer` を安易に全リンクへ付けない
理由は、**相手側の解析や送客計測を消す**からです。
「セキュリティのため全部 `noreferrer`」は、2026年時点では雑です。多くのケースでは、まずは既定の `strict-origin-when-cross-origin` で十分です。 ([MDN Web Docs][4])
---
## ひとことでまとめると
* **`target="_blank"` に追加の `rel="noopener"`**
→ **現代ブラウザ前提なら必須ではない**。でも、**明示するのは still good practice**。 ([MDN Web Docs][1])
* **`rel="noreferrer"`**
→ **必要なときだけ付ける**。付けると **referrer が消え、かつ noopener も効く**。計測や送客分析に影響するので、全件一律はおすすめしにくい。 ([MDN Web Docs][5])
---
[1]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/a?utm_source=chatgpt.com "<a>: The Anchor element - HTML - MDN Web Docs"
[2]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/noopener?utm_source=chatgpt.com "rel=\"noopener\" - HTML - MDN Web Docs - Mozilla"
[3]: https://html.spec.whatwg.org/dev/links.html "HTML Standard, Edition for Web Developers"
[4]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy?utm_source=chatgpt.com "Referrer-Policy header - HTTP - MDN Web Docs"
[5]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/noreferrer?utm_source=chatgpt.com "rel=\"noreferrer\" - HTML - MDN Web Docs - Mozilla"