Hacker News new | ask | show | jobs
by DanBlake 3934 days ago
Its a race that (if the ad industry gets smarter) will be very hard for the ad blockers to match.

Because publishers have control of the website, they can do things like randomize the div name, parameter names, javascript names, javascript functions, sizes of the ad, randomize images for the ad, use dynamic JS positioning, etc..

Basically if a publisher was serving their own ads and didn't want them blocked, you would be extremely hard pressed to counteract it.

As far as building your extension- You cant build it so its automated. No matter what you build, Any publisher could bypass it within minutes. The best you can do is make it so the site doesnt work if ads are showing, but publishers are already fine with this (hence why warnings are put up saying 'disable adblock to continue')

1 comments

> Its a race that (if the ad industry gets smarter) will be very hard for the ad blockers to match.

Not really. I currently have my browser setup to strip out the main text content and display it "reader" style with images pre-loaded but requiring a click to display.

Even if you get tricky with loading of content via JavaScript trickery adblockers can always run the JavaScript etc but only "fake" render it.

Thats like saying ad blockers cant win because you browse the web from view-source:

Even in that case, If the pub wanted to, he could check to see if you requested additional ad-serving JS/images/resources from a request before showing you the html/js content. If the sites 'content' is loaded with JS rather than being visible in the static source, there is not going to be much you can do.

> Thats like saying ad blockers cant win because you browse the web from view-source:

Personally I find most of the value is in the content and not the layout. So it's not really anything like view source which mixes them and makes it very difficult to read the content.

Of course it's a bit different with full blown web apps but I can't think of any web app I use that is supported by advertising.

> If the sites 'content' is loaded with JS rather than being visible in the static source, there is not going to be much you can do.

The problem is now two-fold: 1) You are going to hurt your search rankings, and 2) it is possible for ad blockers to get around. Like I said just get the browser to load and run the js, ads, etc, and just not render anything that's not clearly content.

Ad driven sites could up the game by requiring user interaction before they load the content, but if the interaction is simple and repeatable then its easy to tag and handle.

They could start requiring captchas etc that are integrated with the ads before requesting the content via js but at this point I'd really start to question whether your regular users will stick around.

So to be clear:

1: Search rankings not effected, because you do a "if useragent is googlebot and iprange = x, show normal site"

2: You are going to run the advertisements on the publishers site, even if they have nasty malware attached to them and use your system resources? Not displaying those ads wont keep your computer safe. Does not seem like a good idea.

3: There is so much logic capable in JS which can determine if its being hidden or not - What color is position x,y ? Its white? thats not correct... dont load the site. There could be a infinite amount of these non-interaction gotchas you will not be able to automate- You will have to go back and try to write a rule each time, and that rule will be tricky if everything is randomized.