
PCにしろMacにしろiPhoneにしろAndroidにしろ、多くの人がブラウザのコンテンツブロッカー(広告ブロッカー)の拡張機能やアプリを利用していると思うが、強力な広告ブロッカーはWordPressなどのSNSへのシェアボタンやAmazonアソシエイトまで強制的に決してしまう場合がある。


SNSへのシェアボタンは場合によっては「この記事をシェアしたい」と思うこともあるだろうし、Amazonアソシエイト広告も例え購入しないとしても書籍の書影などを表示出来てサイト運営者・訪問者双方にとって有用な場合がある。
ここでは広告ブロッカーによるSNSシェアボタン・Amazonアソシエイト強制非表示の対策を紹介してみる。
ちなみにCSSのクラスネームに"AD"などの広告を連想させる単語が入っていると、例え中身が広告ではなかったとしても大半の広告ブロッカーはそのクラスネームごと消してしまう。
例えば<div class="ad">というクラスがあったとすると、広告ブロッカーはその<div>ごと消してしまう。
クラスネームを付けるときは広告を連想させる単語は使わないようにしよう。
iOS広告ブロッカー 280blockerへの対処法

iPhoneで人気の広告ブロッカーとして280blockerというものがあり、実際に僕も購入して利用しているが、数ある広告ブロッカーの中でも280blockerは極めて強力な広告ブロッカーだ。
280blockerでは例えアプリの設定でSNSシェアボタンのブロック機能をオフにしても、ほとんどのSNSシェアボタンプラグインの表示を消してしまう。
ちなみにAmazonアソシエイトに関してはアプリ側で設定しない限りきちんと表示されるので安心していい。
SNSシェアボタン非表示への対処法だが、SNSシェアボタンを自分で作るなど、色々な方法があるのだが、280blockerでも表示されるSNSシェアボタンプラグインに思い切って変更してしまうのが一番手っ取り早い。
僕が試した限り、環境によって違ってくるかもしれないがAddToAny、AddThisなどの有名プラグインは280blockerではシェアボタンが表示されず、最終的にはWP Social Bookmarking Lightに落ち着いた。

WP Social Bookmarking Lightなら、少なくとも現時点の280blockerの定義ファイルではブロック対象とならず、280blockerを有効にしてもきちんとシェアボタンが表示される。
AdGuard for Safariへの対処法

AdGuard for Safariは近年利用者が増えてきている広告ブロッカーで、280blockerと同じくかなり強力であり、AddToAny、AddThisなどのSNSシェアボタンプラグインは、例えAdGuardの設定でシェアボタンを表示させる設定にしても消えてしまうため、280blockerの対処法と同様にWP Social Bookmarking Lightにすれば現時点での定義ファイルでは表示されるようになる。
Amazonアソシエイト広告については、ユーザー側の環境にもよるのだがカエレバやRinkerなどのプラグインで表示させている場合は消えないが、Amazonアソシエイト公式から引っ張ってきたコード(テキスト、画像リンク、価格表示付きのバナー広告の3種類いずれも)は消えてしまう。


アドセンス広告だけでなくアソシエイト広告まで消えてしまう
AmazonのPA-APIの規約改定に伴い、カエレバやRinkerを使用せずにAmazonアソシエイトの公式のコードを貼っている人も増えていると思うので、Amazonアソシエイト公式の広告が消えてしまうというのはちょっと問題だ。
個人的におすすめなのがカッテネというプラグインで、こちらは少々設定に手間がかかるものの、PA-APIを使用していないので規約改定の影響も受けず、AdGuard for Safariが有効でも消えないため、現状ではAmazon製品の紹介にはカッテネを利用するのが一番いいかもしれない。
ただし、カッテネを用いた場合でもAmazonアソシエイト公式から入手した商品画像は消えてしまうため、商品画像のアドレスをAmazonのストアページから引っ張っくる必要がある。

AdGuard for Safariで消えてしまう画像アドレス。
/ws-fe.amazon-adsystem.com/から始まるアドレス
AdGuard for Safariでも消えない画像アドレス。
https://images-na.ssl-images-amazon.com/またはhttps://images-fe.ssl-images-amazon.com/から始まるアドレス。
なお、Google Chrome版のAdGuardでは特に設定しなくてもSNSシェアボタンやAmazonアソシエイト広告が表示されるため(価格表示付きのバナー広告はChromeでも消える)、Safari版だけがかなり特殊な仕様となっているようだ。
まとめ
ブラウザの拡張機能やアプリによる広告ブロックはWebを閲覧する上で視認性が上がるし、定義ファイルの更新により最新の広告にもいち早く対応するなど、利便性は大きい。
ただ、最近の広告ブロッカーは拡張機能にしろアプリにしろ、あまりに強力になりすぎて、ブログやサイトの有用な要素まで消してしまうことが多々ある。
広告のブロックの是非については僕は意見出来る立場にないが、今回のようにSNSシェアボタンやアソシエイトまで消してしまうのは、やはりサイト運営者・訪問者双方にとってもマイナスとなることがあるように思う。