WordPress で別ウィンドウでリンクを開く target=”_blank” を指定すると自動で付与される rel=”noopener noreferrer” は「消さない」でおこう

WordPress を使ってウェブサイトを作っている方の中で、記事中に Amazon や 楽天 などの商品ページへリンクをつけて紹介している方もいると思います。例えば、

僕が先日買ったゲームキャプチャー「GC550 PLUS」は 4K パススルー機能が付いててとてもよかったので、気になる方はぜひ Amazon で詳細を確認してください。

みたいな。GC550 PLUS は実際に使っているんですけど、とてもいい製品ですね。

で、今回はこのリンクの話なんですが、WordPress 4.7.4 以降では別ウィンドウで開く target=”_blank” を設定していると、自動で rel=”noopener noreferrer” が付与されます。

そして、本記事公開時での最新バージョン WordPress 5.1 からは Gutenberg ブロックエディターで作った記事中に、target=”_blank” を設定しているリンク先があれば、自動で rel=”noopener noreferrer” が付与されます。

つまり WordPress では「target=”_blank” を設定しているリンク先には、自動で rel=”noopener noreferrer” が付与されるよ」ってことですね。

ただし、過去に作成した記事や JavaScirpt などで生成した URL は自動で付与されない場合もあるので、全記事を遡って付与されるわけではないみたいです。詳しい挙動がわかったら追記します。

なんで rel=”noopener noreferrer” が自動で付与されるんですか?その理由を知ろう

端的に書くと、Tabnabbing(タブナビング) 対策として rel=”noopener noreferrer” が付与されています。Tabnabbing については以下の記事で詳しく解説されているので、ご参考ください。

rel=”noopener noreferrer” を付与するとアフィリエイトの成果に影響があるってほんと?

ところで、この rel=”noopener noreferrer” を付与すると、例えばアフィリエイト ASP の1つである A8 の記事中には「売り上げは発生するけど A8 が提供している『リファラ情報』は取得できなくなるよ」と書いてあります。

A8 のように、アフィリエイトの売り上げに影響はなくても、リファラ情報を取得して何かを提供しているサービスが十分に機能しなくなる可能性はあります。これは WordPress 側でセキュリティーのことを考え対応した結果だよ、という話ですね。

もし「自分の使っている ASP ではどうなるんだろう。rel=”noopener noreferrer” を付与することで、動かなくなるサービスあるのかな?」など気になる方は、問い合わせしてみましょう。

rel=”noopener noreferrer” を消すようなカスタマイズはやめよう

rel=”noopener noreferrer” を消す方法はあります。ただし、現時点でのセキュリティー対策として講じられているので「rel=”noopener noreferrer” は消さずに」付与したままにしておくのが今のところベストだと思います。

rel=”noopener noreferrer” をどうしても付与したくない場合はこうしよう

もし、WordPress でリファラー情報を正しく送りたい(機能させたい)場合はリンク先を別ウィンドウで開く target=”_blank” を指定しなければ OK です。rel=”noopener noreferrer” は付与されません。

リンク先を別ウィンドウで開くか、それとも今表示しているウィンドウで開くか「外部リンクと内部リンクで開くウィンドウを変えたほうがいいのかどうか」など考え方はいろいろあると思いますが、やっぱりセキュリティーを優先に考えていきたいかなぁと僕個人的には思います。

著者:bouya Imamura