【アフィリエイト】報酬が無効?!クリック数があるのにインプレッション数が0になる不具合の具体的な対処法を超分かりやすく説明しまっせ!
各国の面白い出来事や、旅する為の情報を日々書いています。なんやかんやで英語指導暦15年以上。
カナダ留学→英会話講師→世界一周→ロシア→オーストラリアでワーホリ→ロシアの大学で講師業→スペイン→日本 (コロナ)→フランス。
どうも、座右の銘は「「ビンタって叩く方も痛いんだよ!」って言うけど絶対叩かれる方が痛いと思う」、Tatです!
今回はブログにアフィリエイトのリンクを貼ったのに何故か翌日以降インプレッション数が0になる、、、でもクリック数はある、、、という不具合の具体的な対処法をお伝えします。
こんな感じ↓の不具合ですね
僕もここ数週間この問題に悩まされておりまして、「あーでもない」「こーでもない」と悩みながら色々な対処法を試した所ようやく解決しました!
長かった、、、、(*T▽T)
ではでは、具体的に見ていきましょう!
目次
上手く行かない原因はwordpressの自動整形機能だった
そもそも事の発端は
・普通にブログの記事にアフィリエイトリンクを貼った
・その日のインプレッション数は通常通り表示される
・しかし翌日以降、貼ったアフィリエイトのリンクのインプレッション数が0になる
という事が続いたことです。
毎日コツコツリンクを増やしていったのに、数日経てばそれらが全て0になっていました。
ただ何故かクリック数はちょっとだけある、という意味不明な状況。
表示されていないのにクリックされているとはこれ如何に、、、
で、色々情報を集めた結果、wordpressは“自動整形“という機能が付いているらしいとの事。
この自動整形機能は
・改行コードを <br>
タグに変換
・インラインタグまたは文章には <p>
タグを適用
・改行が2回続いたら <p>
タグを適用
というのを勝手に行うのですが、ざっくり言ってしまえば「良かれと思ってプログラミングコードを綺麗なものに自動で書き換えてくれる」機能です。
要は勝手に部屋に入って来て掃除するオカンみたいなもんじゃな
近藤さん
全国のおかんに謝れ
たかし
この機能、普通にブログやホームページを運営しているだけならとっても便利な機能なんですが、アフィリエイトのリンクを貼るとなると邪魔で仕方が無い機能なのです。
アフィリエイトの広告リンクを勝手に変換するんですから、そりゃいくら貼ってもインプレッション数が増えませんよね。
トラッキングするためのコードを無効化されちゃってるんですから。
自動整形機能が働かないようにする方法
じゃあ結局wordpressの自動整形機能が動かないようにすれば良いんや!と思い色々調べた結果、Qiitaというサイトの家富正幸さんのこのページを参考にさせて頂きました。
家富さん曰く、
function override_mce_options( $init_array ) { global $allowedposttags; $init_array['valid_elements'] = '*[*]'; $init_array['extended_valid_elements'] = '*[*]'; $init_array['valid_children'] = '+a[' . implode( '|', array_keys( $allowedposttags ) ) . ']'; $init_array['indent'] = true; $init_array['wpautop'] = false; $init_array['force_p_newlines'] = false; return $init_array; } add_filter( 'tiny_mce_before_init', 'override_mce_options' );引用元:https://qiita.com/jyokyoku/items/c560b0d1eacc1df61620
というコードを、使っているブログテーマのfunctions.phpに貼り付ければ自動整形機能が働くなるとのこと。
具体的には
・全てのタグ・全ての属性を許可(空の <span>
タグや <div>
タグなどが削除されるのを防ぐ)
・<a>
タグに全てのタグを入れられるようにする・
・自動的に <p>
タグで囲われることを防ぐ
という動きをするコードのようです。
要は打ち込んだリンクやプログラミングコードが改行部分とかで勝手に変えられずにそのまま反映されますよ!ってことみたいですね。
詳しい内容はQiitaの家富正幸さんのページでご確認下さい。
という事でこのコードをfunctions.phpにコピペしてみました。
「functions.phpってどこ?どこに貼り付けたら良いの?」という方は↓をご覧下さい。
「貼り付け方は分かるよ!」という方は次の項目へどうぞ。
まずはダッシュボードの【外観】→【テーマの編集】を選択
そうすると↓のような画面が出てくるので、画面右側の【テーマのための関数】という所をクリックしましょう。
すると、テーマを編集するための場所が出てきます。
そこが functions.php です。
あとは上に書いてある自動整形機能を働かせなくする為のコードをコピーして、②のように余白の部分にそのまま貼り付けましょう。
後は③の【ファイルを更新】を押せば完了です!
これで改行等を勝手に変換する機能は働かなくなります。
自動整形機能を止めた時の注意点
ここで注意して欲しいと言いますか、知っておいて欲しいことがあります。
上記のコードを入れると、今までの記事の(上手く自動で整形されていた)改行部分が無効化されてしまいます。
簡単に言えば、今まで書いた記事を編集する時に”改行が無くなってしまう”ということです。
既に公開している記事が勝手に変わることはありませんが、その記事を編集しようとすると改行がなくなるのでまた最初から改行し直す必要が出てきます。
こんな感じ↓
本来はこうなのに
こうなる!
こんな感じで改行が無くなってしまうんですねー。
ネット上に既にあがっている記事が変わることは無く別に何か問題がある訳ではないですし、このプログラミングコードを入れてから再度改行し直せばちゃんと反映されるので大きな問題はありません。
ただただ単純に全ての文章をまた改行しなおすのは中々面倒ってだけです。。。。
まぁ改行ついでにリライトが出来るのでこれも良いかなと思い込んでコツコツ改行しましょう!笑
改行の自動整形機能を止めたのにまたインプレッション数が0になるのはセキュリティーの問題
さて、上でお伝えしたwordpressがオカンが勝手に本棚を整理してくるかのような自動整形機能を止めて、再度アフィリエイトのリンクをコツコツ貼った翌日。
意気揚々とインプレッション数を確認すると、
うむ、ちゃんと増えておる!
俺ノ時代ガ 来タナ コレ、、、!
暮井さん
なんて思っていると、その翌日。
まさかのまたインプレッション数が0になってる!!!
自動整形機能止めたのに!!なんで?!!
※びっくりし過ぎてその時のスクリーンショットを撮り忘れました
またもやインプレッション数が0、にも関わらずちょっとだけクリック数がある という状態になっていたんです。
その後2~3日様子を見てもずっとそのまま。
それで、「おかしいなー」「原因はなんじゃ、、、」と思い、記事に貼っていたアフィリエイトのリンクと元々のリンクを見比べてみると、
何か変なコードが勝手に追加されとるやないかーーーーい!!!
とある陽気なアメリカ人
そうなんです、何だかよく分からないですがリンクの中に「noopener」っていうコードが勝手に入っていたんです。
普通に自分の記事にアフィリエイトのリンクを貼って、翌日見たら勝手に変わってる!!という状況でした。
それでコレを調べてみると、WordPress4.7.4であるセキュリティー機能が実装されたんですがそれが原因のようです。
原因となっているセキュリティー機能は、アフィリエイトのリンク等の外部リンクに「target=”_blank”(リンクを新しいタブで開く)」というコードが入っていると、そのリンクに対して「rel=”noopener noreferrer”」というコードが自動的に付加され、参照元が取得できなくなるというものでした。
Tabnabbingというフィッシング詐欺へのセキュリティー対策のようですが、リンク先のページには行けるけど参照元は取得出来ないよ!というものらしいです。
詳しくはこちら
なるほど、要は女の子のスリーサイズを教えて貰っても実際にそれが正しいかを確かめる事が出来なくなる機能ってことじゃな!
近藤さん
何か違うしさっきからその例えシリーズは何なん?
たかし
もちろんセキュリティー強化のために必要な物だとは分かっていますよ。
分かってはいますが、そのせいでアフィリエイトリンク元が参照されなくなる事と比べると、僕にはあまり優先度合いが高い物ではありません。
ということで、この「rel=”noopener noreferrer”」というコードが自動的に付加される機能を止める方法を探しました。
「rel=”noopener noreferrer”」が自動付加されるのを解除する方法
色々な情報を探した結果、「寝ログ」さんに具体的な方法が書かれていたので参考にさせて頂きました。
詳しくは寝ログさんの説明を見た方が分かりやすいと思うので、取り合えず「rel=”noopener noreferrer”を無効にするコード」を貼り方をお伝えします。
「rel=”noopener noreferrer”」の自動付加を止めたい・無効にしたい場合は↓のコードを先ほど同様 functions.php にコピペするだけで出来ます。
僕は先ほどの自動整形のコードから3行以上空けて貼り付けました。
//ビジュアルエディターでrel=”noopener noreferrer”自動付加の解除functiontinymce_allow_unsafe_link_target_demo($mce_init){$mce_init[‘allow_unsafe_link_target’]=true;return$mce_init;}add_filter(‘tiny_mce_before_init’,‘tinymce_allow_unsafe_link_target_demo’);//本文からnoopener noreferrerを取り除くfunctionremove_noopener_and_noreferrer_demo($the_content){$the_content=str_replace(‘ rel=”nofollow noopener noreferrer”‘,‘ rel=”nofollow”‘,$the_content);$the_content=str_replace(‘ rel=”noopener noreferrer”‘,”,$the_content);return$the_content;}add_filter(‘the_content’,‘remove_noopener_and_noreferrer_demo’,9999);
引用元:https://nelog.jp/remove-rel-noopener-noreferrer
このコードをfunctions.phpに貼ることで
・自動でアフィリエイト等の外部リンクに「rel=”noopener noreferrer”」が自動付加されるのを止められる
・既に「rel=”noopener noreferrer”」の自動付加されたリンクの「rel=”noopener noreferrer”」を除去する
という2点が出来るようになります!
取り合えずコレを試してみた所、確かに自動付加されずにちゃんとインプレッション数に反映されました!
補足としては、確かに自動付加されることはなくなりましたが、既に自動付加されたリンクの「rel=”noopener noreferrer”」は除去されていませんでした。
1日~2日しか様子を見ていませんが除去されていなかったので再度自分でリンクを貼り直しています。
なんやかんや試していて月を跨いでしまったので全体数は0に戻ってしまいましたし、貼り直しの手間もありますが、ようやくちゃんと反映されるようになり一安心です。本当に。
まとめ
以上、アフィリエイトリンクのインプレッション数がちゃんと反映されない時の対処法でした!
これの解決までにとても悩まされましたので、同様の悩みを持っている方の助けになれば幸いです。
蛇足ですが、アフィリエイトで言うと最近アフィリエイト記事をプロに代行して貰えるサービスというのを見つけてめっちゃテンションが上がっております!
不動産と同じように最初に多少費用を投資しても、その後勝手に稼ぎ続けてくれる数記事をプロの方に作って貰えるのであれば十分に価値があるサービスだと思います。
ご興味がある方はアフィリエイト記事をプロに代行して貰えるサービス
コレもちゃんとインプレッション数に反映されますように。。。。!
近藤さん
ではでは!
追記
この記事でご紹介している方法で一時的に改善されましたが、またインプレッション数が0に戻ってきています(2018年8月現在)
ただ今原因と対策法を調査中です。
解決策を見つかればまた記事にまとめますが、もし上記以外の解決策をご存知の方がいらっしゃったら教えて下さい~(ToT)
この記事を読んだ人は以下の記事も読んでいます
各国の面白い出来事や、旅する為の情報を日々書いています。なんやかんやで英語指導暦15年以上。
カナダ留学→英会話講師→世界一周→ロシア→オーストラリアでワーホリ→ロシアの大学で講師業→スペイン→日本 (コロナ)→フランス。
Comment
rel=”noopener”を付けるようにとレントラックスから、連絡がきたのですが、A8は今でもつけないほうが良いのでしょうか?
杉本さん、
コメントありがとうございます。
ASP側から連絡が来たのであれば付けている方が良いのでは無いかと思います、、、
僕もまだ試行錯誤中なので、断言は出来ませんが、、、すみません(TдT)
了解いたしました。ありがとうございました。
日本語が含まれない投稿は無視されますのでご注意ください。