コンバージョンリファラーが取れない!WordPressのnoreferrer自動付与を解除する方法メモ

2019年の春先くらいから、アフィリエイトの成果画面でのコンバージョンリファラー(獲得元のURL)が取れていないことが多くなった。

・2019.1~4月分:9割CVリファラー取れてる
・2019年5,6月くらいでCVリファラーが取れているのは6割
・2019.12月分:CVリファラーが取れているのは2割以下まで減少

コンバージョンリファラーが取れない事に直接的な(売上的な)被害はないんだけど、特に特化サイトなどを作って後からテコ入れする時などの重みづけて使う事は結構あって、正直困る。

CVリファラーが取れない原因はWordpress5.1から自動で挿入される「noreferrer」が原因っぽい

原因を調べてみると、2019年春のWordpress5.1のアップデートから実装された「wp_targeted_link_relフィルタ」が原因っぽい。

これによって、ワードプレスの投稿画面などからリンク先を別ウインドウで表示する「target=”_blank”」を指定すると、自動で、「rel=”noopener noreferrer”」が付与される仕様に変更されたようだ。

このフィルターによる自動付与にはセキュリティ強化的な目的があるんだけど、この「noreferrer」を指定すると「リンク先にリンク元の情報を渡さない設定」になるので、ASPの報酬画面にコンバージョンリファラーが表示されなくなるらしい。

wp_targeted_link_relフィルタで勝手に「noreferrer」を付与させない方法

「じゃあ単純に投稿画面から”noreferrer”を手動で消していけばいいじゃん」と思うかもしれないが、手動で消しても投稿を保存するたびに勝手に付与されるので消すことができない。

これはワードプレス5.1からの「wp_targeted_link_relフィルタ」が、保存するたびにtarget=”_blnak”が入ったアンカーに自動で付与してしまうため。

自動付与を解決するために、function.phpなどに直接以下のような「wp_targeted_link_rel」への指示をすればいいみたい↓

//エディターでrel=”noopener noreferrer”自動付加の解除
add_filter(‘tiny_mce_before_init’,’tinymce_allow_unsafe_link_target_demo’);
function tinymce_allow_unsafe_link_target_demo( $mce_init ) {
$mce_init[‘allow_unsafe_link_target’]=true;
return $mce_init;
}

//投稿時に強制付加されるnoreferrer削除
add_filter( ‘wp_targeted_link_rel’, ‘wp_targeted_link_rel_custom_demo’, 10, 2 );
function wp_targeted_link_rel_custom_demo( $rel_value, $link_html ){
$rel_value = str_replace(‘ noreferrer’, ”, $rel_value);
return $rel_value;
}

引用元:投稿時に自動付加されるrel=noopener noreferrerを制御するWordPressカスタマイズ方法

ただ、上記を書いても既に記事内に自動で付与された「noreferrer」は消えないので、手動で消していくしかない。

参考:wp_targeted_link_rel フィルターについて | ワードプレス公式