6 ポイント 投稿者 GN⁺ 2025-09-10 | 3件のコメント | WhatsAppで共有
  • このブログでは、広告ブロック機能が検出されないとき、訪問者に 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件のコメント

 
mango 2025-09-10

Braveブラウザをおすすめします

 
GN⁺ 2025-09-10
Hacker News の意見
  • 私は広告ブロッカーのおかげで、もう10年近くオンライン広告から完全に隔離された生活をしている。たまに広告をブロックできない、あるいはそもそもインストールできない端末でWebを使うと、SEO重視で広告だらけのサイトを見る体験は、まるで麻薬の巣窟に足を踏み入れるような感覚になる。こういうものが大半の人にとって日常だというのは残念だ
    • AndroidでGoogle Play Storeを開くたびに、まるでディストピア的なショッピングモールに入るような気分になる。必要なアプリのほとんどはF-Droidで済ませていて、公式アプリだけをPlay Storeで使っている。だからPlay Storeは、デザインがユーザーフレンドリーではなく、視覚的ノイズであふれているように見える。ほとんどの人が広告に悩まされているのが現実なのだと強く感じる。いつかuBlock Originすら塞がれて、何の保護も受けられなくなるのではと心配だ
    • 私も似た立場だ。Webだけでなく、テレビもなく、広告の流れるラジオも聞かないなど、広告をほとんど目にしない。だから人々がどうやって広告に耐えているのか、まったく理解できない
    • 家ではルーター側のDNS広告ブロックとブラウザーの広告ブロック拡張の両方を使っている。5Gデータ通信や公共Wi‑FiでWebを使うたびに不快な体験をするので、すぐに広告ブロックVPNを有効にする
    • 主要な広告プラットフォームですら品質管理はひどいものだ。YouTubeでも以前、カナダ首相のディープフェイクが暗号資産詐欺を宣伝する広告が流れていた。クリックするとカナダ国税庁を装ったフィッシングサイトに飛ばされた
    • すべての端末でBraveを使っている。他の端末でYouTube動画を見せたときに広告が3回も出たり、地域ニュースのページを読み込んだら広告だらけだったりすると、「うわ、私たちみたいなフリーライダーのせいで、本当に広告を浴びせる方向に行っているんだな!」と思う
  • 「広告ブロッカーは検出されませんでした。uBlock Origin のような拡張機能を使って、時間とトラフィックを節約しましょう。」<br>注意力とプライバシーも一緒に守れる。こうした案内文は良いアイデアだ。個人的には案内文から “like” という表現は外したい。uBlock Origin は素晴らしいが、他のブロッカーの中にはマルウェアだったり問題のあるものもある。ちなみに案内文でリンクされている ublockorigin.com は、実際の uBlock Origin 開発者である Raymond Hill の所有ではない。見たところ意図は善良そうでUIも悪くないが、Hill の管理下にはなさそうで、マルウェアのような脅威の潜在的な侵入口になり得る。Hill の公式チャネルは https://github.com/gorhill/uBlock だ。参考になるリンクとしては README.mdWiki がある
    • 最近の PuTTY ドメインスクワッティング事件以降、こうした類似サイトをさらに疑うようになった。実際、ublockorigin.com の所有者は “my other tools” セクションを通じて、まったく関係のない別の商品を宣伝している
    • たいていの一般的なインターネット利用者は、GitHub のリンクを渡されても何をすればいいのかまったく分からない。公式サイトで簡単な導入案内を提供していないのは惜しい。ただし、開発者が直接管理していないサイトにリンクするのは慎重であるべきだ、という点には同意する
    • このコメントはきちんと評価されていない気がする。README にも GitHub のヘッダーが多すぎて使いづらい。UBO には公式のランディングページが絶対に必要だ
  • FBI も、広告ブロッカーは人々が悪質なサイトへ誘導されるのを防ぐ助けになると主張している<br> TechCrunch の記事公式アーカイブ を参照
    • 私は前から、広告ブロッカーは現代最高のアンチウイルスだと思っている
  • 私は広告が大好きというわけでもないし、広告ネットワークを強く尊重しているわけでもないが、広告とトラッキングを防ぎながらWebサイトのデータをただ乗りで利用する文化にも、正直少し居心地の悪さを感じる。暗黙に結ばれた社会的契約があると思う。サイトは広告で収益を得られるからこそ、大量のコンテンツを無料で提供し整理しているのだ。多くの人が広告を拒否しブロックすれば、結局こうしたサービスもコンテンツ配信をやめることになるだろうし、その意味でブロックは一種のシステムへのフリーライドだと思う(もしサービス破壊が目的なら一貫していて称賛するが)。礼儀正しくなくてもこの契約を守らないのは自由だが、そもそもこの契約の戦略が気に入らないなら、そのサービスを使うべきではなく、自分で代替手段を探すか新しいプラットフォームを考えるべきだ
    • 私はもともとこの構造は妥当だと思っていたが、広告主側が追加で契約を破った事例が多すぎる。たとえば:
      • 自動再生動画が私のトラフィックを勝手に消費する
      • 突然音声が鳴り出してスピーカーを占拠し、妨害してくる
      • ウィンドウやタブの操作を妨げるポップアップ
      • 私のあらゆる閲覧習慣を追跡・集計する監視
      • おおむね責任の所在がないマルウェアやフィッシングの発生源
      • 1つのコンテンツに広告が3倍くらい混ざってページ体験が完全に壊れること 広告を見ることが単に無害で素朴な問題にすぎないかのように装われているが、現実はそうではないと思う
    • 私はもうこの理屈には同意しない。広告があまりにひどくて、ある日、左右にそれぞれ20%ずつを占める巨大なアニメーション広告が出てきて、しかも音も大きくてうんざりした。そのうえページが読み込まれた瞬間に3〜4個のポップアップが開き、ウイルス警告や怪しいコンテンツ広告が大音量で流れる体験をした。ポップアップブロックはすでに有効にしていたのに、こんなことが起きた。その日「セルフクリック広告」というものを初めて知って、すぐに広告ブロッカーを入れた。結局、社会的契約を破ったのは彼らの方だ。広告とそのシステムはもう信用していない。昔のダイヤルアップ時代に、詐欺サイトのせいで電話料金が跳ね上がった記憶も残っている
    • もう少し視野を広げて見るべきだ。最近、裁判所は Google がオンライン広告市場で2件の違法な独占行為を行ったと判断した 関連記事。しかし、まだ実効的な解決策は示されていない。そして DoJ も Meta を相手に類似の訴訟を起こしており、事件は進行中だ 関連Wiki。私に言わせれば、相手が契約を破ればその契約は無効だ。社会的契約も同じだ。企業が大きな違法行為をしたのなら、私たちがそんな契約に縛られる理由はない。違法な乱用が解決されるまで、オンライン広告そのものを全面的に拒否するのは正当だ。Google や Meta のような巨大企業が法律を破ったのなら、ad tech は即座に禁止されるべきだ。Webサイト(パブリッシャー)もこうした状況で実際に被害を受けているのだから、本当の解決を望んでいるのではないかと思う
    • 「広告ブロックは広告やトラッキングを防ぎながらデータにただ乗りする不道徳な文化だ」という主張には全面的には同意しない。今の無料Webサイトは Wordpress、Blogger、Wix、Weebly など多様で、これらは自社バナー広告以外に重い広告スクリプトなしで運営されている。Neocities や Digital Ocean を使えば、月5ドルで好きなドメインとテーマのサイトも運営できる。Buzzfeed、The Verge、Gizmodo のようなメディアは、たいていサードパーティコンテンツ(YouTube、Vimeo など)を埋め込むだけで自前ホスティングもしない一方、単なる再加工ニュース記事に広告やアフィリエイト商品レビューを載せる傾向が強い。こうした「ドロップシッピング」的なWebが、昔の無料Webサイト文化を壊してしまった
    • 小規模ブロガーや独立系クリエイターが、自分の考えを共有し、サーバー代の一部でも広告で賄うモデルは問題ない。しかし、個人情報を収集・販売して利益を得てきた超巨大企業との間には、そんな社会的契約そのものが成立しない。彼らはただ私のデータを売っているだけだ。何が行われていて、どう防ぐかを知っているのに、なお広告とトラッキングを受動的に許すなら、より悪い世界を作ることに加担しているのと同じだ。巨大企業を個人のように尊重する理由はない
  • ビッグテック企業は、私たちが少しずつ侵害されることに慣れさせ、それが当然であるかのように感じさせてくる。無料で多くのサービスを与えているふりをしながら、同意もなく私たちから多くのものを奪っている。私たちを操作し、情報に壁を作り、人間の条件を悪化させることさえある。こうした企業に対抗して行動するのに罪悪感を覚える必要はない。ちなみに昨日、Chromium で uBlock Origin がもうサポートされていないという表示が出た。だから MS365 以外では Chromium を使っていなかったのだが、やはり正しい選択だったと思う。Firefox では今も問題なく動いている
  • 「DNS ベースの広告ブロックは、実際に広告を読み込まない限り検出のしようがない」という問題について、私の考えでは、ブロックリストに入るようなドメインを登録し、そのリソースでテストすれば、両方(拡張ベース/ドメインベース)のブロック有無を確認できる。もちろんドメイン自体が落ちていたりネットワーク障害があったりすれば誤検知は避けられないが、すべてのテストに完璧を期待するのは無理だ。もし自分のドメインをブロックリストに簡単に追加する方法を知っている人がいたら、ぜひ手伝ってほしい。年に数ポンド程度なら喜んで払うし、リクエスト量の負荷も問題ない。さらに、単に “display:none” と “display:block” を切り替えるだけでなく、同じサイズのスペースを確保しておいて正しいメッセージを表示するか、初期状態では空白だけにしておいて誤動作時に間違ったメッセージが出ないようにするつもりだ
    • 新しいドメインを作るのは十分やる価値がある試みだと思う。ドメインを設定して短いブログ記事を書くだけでも、HN コミュニティがブロックリストへの追加を手伝ってくれるはずだ。そして、せっかく作るなら寄付ボタンも追加するといい
  • CERN でさえ、誰もが安全にインターネットを使うために広告ブロッカーを勧めている<br> 関連記事 を参照<br> Web が登場した当初、ここまで広告が氾濫するとは思っていなかっただろう
    • 今なら Firefox や、もっと制約の少ない他のブラウザーをみんなに勧める流れになりそうだ。最近、妻のコンピューターを見るのを手伝っていたら広告だらけになっているのを見た。以前は uBlock を入れてあげていたのだが、Chrome の拡張機能管理ページを確認すると、Google が uBlock を自動で無効化し、未対応拡張として表示していた。ブラウザーを再起動するたびに uBlock を再び有効化しなければならない。最近の Chrome は広告ブロッカーを意図的に追い出そうとしているように見える
  • 今日のインターネットの空気に合わせるなら、こういうメッセージもユーザーに不親切なポップアップ形式にしないといけないのかもしれない。X ボタンも背景色とほとんど同じ色の極小サイズにして、画面の中でいちばん押しにくい場所に配置すべきだ。タッチ端末ではタッチ領域も小さく、位置もずらしておくべきだ。iPad ではポップアップが全面を覆い、閉じる方法すらないべきだ
  • ブラウザーには、ページの onload 後の JavaScript 実行を簡単に無効化したり、クリック時にだけ JS を有効化したりする機能があってほしい
    • Brave ブラウザーを使えば、デフォルトで JS を無効化し、必要なサイトごとに手動で有効化できる
    • 私もこの意見に100%同感だ。昔の IE の Stop ボタンがその役割を果たすものだと思っていた
    • uBO の「クリックで JavaScript を無効化」ボタン機能はとても便利だ
    • 昔の Opera(Chromium ベースになる前)は、メニューから JS のオンオフが簡単にできたが、適用範囲まではよく覚えていない
    • 昔は広告スクリプトが document.write() を使って即時実行され、遅くなる部分が多かった。今でもそうなのか少し気になる
  • 「好きな著者を支援したいなら、広告を見るより直接お金を送れ。1ドルのほうが広告収益よりずっと助けになる」という主張には同意しない。昔、自分の個人サイトの上部にだけ小さなバナーを置いていたが、その広告収益のおかげで家賃のかなりの部分を賄えた。直接お金を送ってくれた人は 0.01% もいなかった。広告を見るのは嫌いだが、広告でクリエイターが稼げるのも事実だ
    • それでも考えてみると、広告を見た1人が本当に 1ドル以上の広告収益をもたらすのかは、改めて考える必要がある
 
tribela 2025-09-10

私のブログでも以前から、広告ブロッカーがないことを検出すると広告ブロッカーをインストールするよう勧めるメッセージを表示していたのですが、私だけではなかったとはうれしいですね