WordPress 4.7.4の「rel=”noopener noreferrer”」自動付与の問題

  • 投稿 : 2017-05-09
WordPress4.7.4のTinyMCEエディタで、target=”_blank”が指定された場合に、rel=”noopener noreferrer” 属性が自動的に追加されるようになりました。
target blankの場合リンクのrel属性に noopener noreferrerが自動的にセットされる – WordPress Snippet

トピック: リンクに「target=”_blank”」を設置時に起こる現象について « サポートフォーラム — WordPress

・Wordpress 4.7.4からの機能(4.7.4にアップデートすると追加される機能)
・リンクに「 」がついていると、自動で「rel="noopener noreferrer"」が付与される
・Wordpressのビジュアルエディタ(TinyMCE)を使っている時のみ、自動付与される

今のところビジュアルエディタを使ってない場合は、大丈夫だと思われる。
過去の記事は、再編集とかしない限りは、元のままだと思われる。
こんな感じだと思います。

少し当ブログで確認してみましたが、ビジュアルエディタを使ってないと問題ないと思われます。過去に投稿したものも、自動で付与とかはされていませんでした。

自動付与の機能を停止する方法

自動付与の機能を停止する方法

add_filter( 'tiny_mce_before_init', 'clf_tiny_mce_before_init' );
function clf_tiny_mce_before_init($settings) {
    $settings['allow_unsafe_link_target'] = true;
    return $settings;
}

テーマのfunctions.phpに上記を追記すれば、機能停止するようです。

情報源:
Topic: Remove rel = “noopener noreferrer” in wordpress 4.7.4 « WordPress.org Forums
トピック: リンクに「target=”_blank”」を設置時に起こる現象について « サポートフォーラム — WordPress

自動付与されたものを削除する方法

function remove_noopener_noreferrer($the_content){
  $the_content = str_replace('noopener noreferrer"', '"', $the_content);
  return $the_content;
}
add_filter('the_content', 'remove_noopener_noreferrer', 100);

テーマのfunctions.phpに上記を追記すれば、「noopener noreferrer」を表示時に削除してくれると思います。

置換前の文字列「noopener noreferrer"」
置換後の文字列「"」

上記のコードの文字置換はこんな感じになってます。環境によっては違うかもしれないので見直してくださいね。

おそらく、過去に置換されたものは、「Search Regex — WordPress プラグイン」を用いて、直接置換したほうが確実だとは思います。

検索で調べた情報

◆WordPress4.7.4アップデート内容
2017年4月にリリースされたWordPress4.7.4へのアップデートにより
外部リンクタグ「target=_blank」に対して、
自動で「rel=”noopener noreferrer”」が付与されるようになりました。
このタグの影響により、リファラ(参照元)が会員様のサイトから送信されない様になっております。

◆A8.netへの影響
該当のWordPressのバージョンにおいてA8.netの広告タグを貼り付けた際に、広告タグ内に自動で「rel=”noopener noreferrer”」が挿入されるようになりました。

・これによる、トラッキングへの影響はありません。
 売上はこれまで通り発生いたしますのでご安心ください。

・コンバージョンリファラレポートの「リファラ」情報がA8.netにて取得できなくなりました。
 急に「リファラ」情報が取得できなくなった、という事象が発生した場合、
 WordPress4.7.4へのアップデートに伴う上記タグの自動付与の影響が考えられます。
WordPress4.7.4アップデートに伴う影響について | A8スタッフブログ

たぶん、何もしないで放置でも問題ないかも?!。
とりあえず、A8.netは問題ないみたいですね。


rel="noopener noreferrer"は必要なのか?!

を使った脆弱性Tabnabbingとその対策 | 69log

上記あたりが詳しいです。
スポンサーリンク