Android端末でブラウザがChromeだと外部リンクが開かないという事態が発生して、修正作業に追われている人も多いはず。
主な原因は外部リンクのHTMLタグに設定する「target=”_blank”」で、解決策としては以下の2つ。
①外部リンクに「target=”_blank”」を付けない、もしくは「target=”_self”」にする。
こういうこと → Google
②外部リンクに「rel=”noopener”」を付ける。
こういうこと → Google
「WP External Links」の設定
WordPressプラグイン「WP External Links」なら、過去記事の外部リンクも一括で変更可能。リンクの整合性を保つにも非常に便利。
①外部リンクに「target=”_blank”」を付けない、もしくは「target=”_self”」にする場合は、「同じウィンドウ、タブ、フレーム」にして「既存の値を上書きします。」にチェック。
②外部リンクに「rel=”noopener”」を付ける場合は、「それぞれ別の新しいウィンドウまたはタブ」にして「既存の値を上書きします。」にチェックして、「rel 属性の追加」の「”noopener” を追加」にチェック。
これで、Android端末でブラウザがChromeだと外部リンクが開かない、というトラブルも解決。
アフィリエイトリンクは外部リンクにして「noreferrer」を消したい
WordPressの仕様変更で、外部リンク「target=”_blank”」を設定した場合に「noopener」と「noreferrer」が勝手に付くようになりました。
アフィリエイトリンクは外部リンクが基本で、「target=”_blank”」を勝手に削除したらHTMLタグの改変になり、規約違反としているASPも少なくない。
個人的には、アフィリエイトリンクは外部リンクにすべきだと思う。別サイトに移動する場合、別ウィンドウ、もしくは別タブで開くのが当たり前。
ただ、外部リンクにすると「noreferrer」が勝手に付いてしまい、ASP側でのリファラ計測が出来ない。成果には影響ないようだけど、アフィリエイトの不透明さが増してしまうようで困る。
でも、今回の「Android端末でブラウザがChromeだと外部リンクが開かない」問題もある。アフィリエイターにとっては致命的。
だからこそ「WP External Links」を使って、外部リンクを維持したまま「noopener」を付け、邪魔な「noreferrer」を消すというのが、今できる最善策かと。
Cocoonテーマ以外でtarget=_blankリンクのnoopener問題に対処するには、External Linksプラグインを使うというのもアリかもhttps://t.co/ssY2DAYIdw
「外部リンク」メニューで「外部リンクを開く」が「それぞれ別の新しいウィンドウまたはタブ」になっている場合は「noopenerを追加」を有効にすればOK pic.twitter.com/8IyKkIUbAE— わいひら@寝ログ (@MrYhira) August 8, 2019
「WP External Links」が効かない場合の解決策
「WP External Links」には、いくら変更を保存しても外部リンクに「noopener」「noreferrer」が付いてしまうという不具合がある。
大抵の原因は rel属性「nofollow」「noopener」「noreferrer」の記述の順番。
既存のリンクタグに rel属性がある場合は「nofollow」が先頭にないと「noopener」「noreferrer」の変更ができない仕様のよう。
- 「rel=”nofollow noopener noreferrer”」→ OK
- 「rel=”noopener nofollow noreferrer”」→ NG
- 「rel=”noopener noreferrer nofollow”」→ NG
- 「rel=”noopener noreferrer”」→ OK
なので、面倒だけど手作業で「nofollow」を先頭に移動させるか、消すかする他ない。
記事のコメント