フィルターリストには何が書かれているのか

広告ブロッカーは、突きつめればリストです。何が広告かを知っているわけではありません。どのアドレスが広告を配信しているかを知っているだけです。そのアドレスはフィルターリストに並んでいて、ブロッカーの出来は、どのリストを備えているか、そしてそのうちどれが導入後に有効になっているかで大きく決まります。

ルールには二種類あり、まったく別の働きをします。

ネットワークルールは「この要求は外に出さない」と言います。ブラウザーは、ページが読み込もうとするアドレスをすべてリストと照らし合わせ、端末を離れる前に取り下げます。何も読み込まれず、何も描画されず、時間もかかりません。ブロッカーを入れたページのほうが、たいてい早く表示し終わるのはこのためです。

コスメティックルールは「この要素は見せない」と言います。広告が自前のアドレスを持たない場所で効きます。たとえばタイムラインの途中に挟まれた広告投稿は、ページの残りと同じ接続で届きます。コスメティックは読み込みを止めるのではなく、後から片づけます。この違いは重要です。ネットワークルールでは通信量が節約されますが、コスメティックルールで節約されるのは見た目だけです。

大きなリストは、開かれた共同作業から生まれます。有志がアドレスを書き加え、別の人が確かめ、あるルールがサイトを壊せば取り下げられます。地味な作業ですが、そもそもこの仕組みが成り立っているのはそのおかげです。広告ネットワークがアドレスを変える速さに、一社だけで追いつけるはずがありません。

地域の話になると面白くなります。広告はどこでも同じではありません。ドイツで配信されるものと、ブラジルや日本で読み込まれるものとでは、配信元のサーバーが違います。だからこそ一般のリストとは別に地域別のリストがあり、適切なものを有効にしないブロッカーは、その国で組織的に取りこぼします。

そして、新しく生まれた制限があります。Chrome が Manifest V3 に移行して以来、拡張機能が同時に有効にできるルールセットの数には上限があります。プラットフォームが許す以上のリストを備えても、選ばなければなりません。選ばれなかったものは、どれほど優れていてもブロックしません。つまり、リストが多ければ自動的に良いわけではないのです。大事なのは、どれが有効になっているかです。

私たちがサイトでルール数を挙げないのも、同じ理由です。数字は性能らしく響きますが、何も語りません。半分が無効の二万件は、動いている五千件より少なくしか止められません。数えるべきは結果であり、それは主張ではなく測定できるものです。