こないだ、別タブで開く際(target=”_blank”を指定した場合)に、rel=”noopener”を付ける方法を紹介しました。
これでこの件は方が付いたと思っていたのですが、上手く行っていないケースを見つけました。それは、バリューコマースのLinkSwitchを使った場合です。LinkSwitchについてはこちらの記事で。
実際に様子を見てみましょう。
まず、検証ですので、LinkSwitchは使わず、また、External Linksプラグインも無効化しておきます。つまり、通常のWordPressの状態です。
では、Yahoo!ショッピング(PayPayモール)のリンクを貼り付けます。
選択した品物は特段の意味はありません。たまたま目に留まったドライブレコーダです。
上のように「リンクを新しいタブで開く」にチェックを入れて「リンク追加」します。
target=”_blank”と共に、rel=”noopener”が指定されています。
この状態でソースコードを見てみます。
上記の他に、”noreferrer”も付いています。アフィリエイトリンクだとこれは困りますけど、今は単にYahoo!ショッピングへのリンクなので問題はありません。
では、続いて、LinkSwitchを有効にし、ソースコードを確認します。
ちゃんとバリューコマース経由のリンクに変換されています。また、rel=”nofollow”になり、”noopener”も”noreferrer”も消えています。
次に、External Linksプラグインを有効化し、ソースコードをチェックします。
これで”noopener”が付いてくれれば良かったのですが、そうはなってくれません。「data-wpel-link」は付いているので、External Linksが有効になっているのは間違いありません。このプラグインが効いたあとで、LinkSwitchによる書き換えが行われているのでしょう。
困りました…。