In questo articolo Indice dei contenuti 2 sezioni
uBlock Origin ha smesso di rincorrere gli annunci pubblicitari di Facebook, e lo ha detto senza troppi giri di parole: mantenere filtri affidabili contro le inserzioni della piattaforma di Meta è diventato un lavoro insostenibile per un progetto open source portato avanti da poche persone. Non si tratta di una resa totale dell’estensione, ma di una scelta precisa sulla manutenzione futura. Quando Meta cambierà di nuovo il codice delle pagine per aggirare le regole attuali, i contributor non promettono più di correre a scrivere una contromossa.
Il contesto aiuta a capire perché si arriva a questo punto. I content blocker sono nati in un web dove banner, script pubblicitari e tracker erano relativamente facili da riconoscere: bastavano un dominio, un URL, una classe CSS o una struttura HTML abbastanza stabile. Facebook è un caso diverso, perché inserzioni e post normali convivono nello stesso feed, condividono buona parte della struttura della pagina e il codice che li distingue può cambiare in fretta. Il progetto, nato nel 2014 su iniziativa di Raymond Hill, non è del resto soltanto un ad blocker: lavora con filtri di rete, regole cosmetiche, scriptlet e liste come EasyList ed EasyPrivacy.
Perché bloccare la pubblicità su Facebook è diventato un rebus
Su gran parte dei siti l’inserzione arriva da un dominio pubblicitario riconoscibile. Il blocker intercetta la richiesta HTTP prima che la risorsa venga caricata dal browser, su desktop o su mobile, e la faccenda si chiude lì. Facebook invece distribuisce contenuto editoriale e pubblicitario attraverso la stessa infrastruttura, quindi bloccare un hostname o una famiglia di URL con troppa aggressività rischierebbe di far saltare il feed insieme agli annunci.
Entra così in scena il filtraggio cosmetico. Invece di impedire una connessione di rete, uBO individua nel DOM, cioè nella struttura della pagina, l’elemento che rappresenta una pubblicità e lo nasconde. La documentazione del progetto distingue i normali filtri CSS dai filtri procedurali, capaci di usare operatori come :has(), :has-text(), :matches-attr() o :xpath() per riconoscere strutture più complesse. In pratica un filtro cerca dentro un post l’etichetta che corrisponde a “Sponsored” o al suo equivalente nella lingua dell’utente, poi risale al contenitore dell’intera inserzione. Funziona finché la pagina conserva una struttura leggibile.
Offuscamento del markup e costi di manutenzione
Qui sta il nocciolo della questione. Secondo le spiegazioni pubblicate nella discussione che ha dato origine al caso, il testo che permette a una persona di riconoscere un contenuto sponsorizzato può risultare spezzato tra più elementi HTML. Nel DOM compaiono caratteri e nodi inutili alla visualizzazione ma sufficienti a mandare fuori strada una regola che cerchi una stringa precisa. È il classico offuscamento del markup: una parola come “Sponsored” può diventare qualcosa tipo “Sxyzponabcsored”, con i frammenti xyz e abc nascosti via CSS. Visivamente nulla cambia, ma una ricerca testuale elementare non trova più niente. Aggiungiamo classi e attributi generati dinamicamente, nodi che cambiano ordine e versioni differenti del markup servite a utenti diversi, e il bersaglio diventa mobile.
I filtri procedurali di uBO sanno cercare testo, attributi e relazioni tra nodi, risalire agli elementi parent, combinare più condizioni. Il limite non è la capacità tecnica, è la stabilità. Più il filtro deve ricostruire il significato di una struttura HTML volutamente mutevole, più costa svilupparlo e più crescono i falsi positivi. Meta controlla il codice della pagina e può modificarlo quando vuole, i volontari devono ogni volta rifare la logica necessaria per riconoscere l’annuncio senza rompere il resto del sito.
Nella discussione su Reddit il tono si scalda: i contributor arrivano a intitolare il thread “About disgusting Facebook devs”. Frustrazione comprensibile, davanti a filtri resi inutili poche ore dopo l’aggiornamento. Letta dall’altra parte, però, la piattaforma sta difendendo una delle sue principali fonti di ricavo, con metodi ben più aggressivi di quelli di un normale editore che finanzia contenuti e servizi con la pubblicità.
Il tema resta scivoloso. L’utente ha diritto a proteggere privacy, sicurezza e qualità della navigazione, soprattutto davanti a pubblicità invasive e tracciamento eccessivo. Ma quando un editore usa correttamente una CMP, raccoglie o nega il consenso secondo le scelte espresse e blocca il caricamento delle tecnologie pubblicitarie fino alla risposta dell’utente, la domanda sul finanziamento resta in piedi. Server, CDN, banda, licenze, sviluppo, redazione e collaboratori vengono pagati comunque, anche quando l’accesso sembra gratuito. Qualcuno definisce l’uso indiscriminato degli ad blocker una forma di appropriazione indebita del contenuto: il termine “furto” è discutibile sul piano giuridico, ma fotografa un problema concreto quando l’utente rifiuta sia il pagamento sia la pubblicità.











