- このブログでは、広告ブロック機能が検出されないとき、訪問者に uBlock Origin のような 信頼できる広告ブロッカー の導入を勧めている
- この案内メッセージは ユーザー体験を妨げないように 設計されており、一度閉じると再表示されない
- 実装には
nativeads.js スクリプトと、広告関連のクラス名が大量に付いた <div> を利用し、広告ブロッカーが要素やネットワークリクエストを遮断するとメッセージが表示されないように設計 されている
- メッセージは 一度閉じると Cookie で記憶 され、CSS によって画面の片隅に小さく表示されてコンテンツを隠さず、JavaScript が無効なブラウザーでは表示されない
- DNS ブロックは検出する方法がないため、筆者は代わりに 非侵襲的で簡単に閉じられる案内 として実装したと述べている
広告ブロック推奨メッセージが必要な理由
- インターネット広告はユーザーの時間を浪費させ、広告業界はインターネット環境全体に 悪影響 を及ぼしている
- サイトの収益性が極めて低くなるため、多くのウェブサイトが 広告まみれの低品質ページ に成り下がってしまう
- クリエイターを支援したいなら、広告を見るよりも 直接支援(1ドルでも効果的) のほうがはるかに効果的である
広告ブロック推奨メッセージの設計目的
- ほとんどのユーザーが広告を インターネット体験の一部 と認識しているため、筆者はサイト上に直接メッセージを表示している
- 「No adblocker detected. Consider using an extension like uBlock Origin to save time and bandwidth. Click here to close.」というメッセージがページ右下に小さく表示される
- コンテンツを隠さず、メッセージを閉じると以後は表示されない
- ウィンドウが小さい場合はメッセージは表示されない
- 特定の拡張機能(uBlock Origin)だけに言及する理由は、ユーザーが 広告を通じて広告ブロッカーに触れることが多く、商用広告ブロッカーの危険性や詐欺的性質があるためである
- 広告で宣伝される広告ブロッカーは、結局ユーザーから収益を得る
実装方法と技術的事項
- HTML には広告ブロック案内メッセージ用の div 領域があり、さまざまな広告関連クラス名が含まれている
- メッセージの追加は
/nativeads.js という JavaScript ファイル が担当している
- Cookie ベースでメッセージの一度きりの表示を保証する
- 「Click here to close.」をクリックすると div を隠し、Cookie を更新する処理を行う
- CSS によってメッセージの視覚的な位置とスタイリングを指定している
- 十分な画面スペースがあるときだけ右下に固定表示される
- 広告ブロッカーが該当 div 要素や nativeads.js ファイルを ブロック(削除またはリクエスト遮断) した場合、メッセージ自体が表示されない
- さまざまな広告関連クラス名によって、大半の広告ブロッカーが div を削除するよう誘導している
- 特に ネットワーク遮断中心(adblock lite など) の拡張機能でも、script のネットワークリクエストを遮断するとメッセージが消える
- DNS ベースの広告ブロック までは検出できないという限界がある
- JavaScript をサポートしないブラウザーでは広告ブロッカーは不要なため、メッセージも表示しない
- CSS が適用されていない状態でも、メッセージは機能面では動作する(スタイルなしで表示される)
3件のコメント
Braveブラウザをおすすめします
Hacker News の意見
ublockorigin.comは、実際の uBlock Origin 開発者である Raymond Hill の所有ではない。見たところ意図は善良そうでUIも悪くないが、Hill の管理下にはなさそうで、マルウェアのような脅威の潜在的な侵入口になり得る。Hill の公式チャネルは https://github.com/gorhill/uBlock だ。参考になるリンクとしては README.md と Wiki がある私のブログでも以前から、広告ブロッカーがないことを検出すると広告ブロッカーをインストールするよう勧めるメッセージを表示していたのですが、私だけではなかったとはうれしいですね