
This Is Why Your Website Is Slow  - evo_9
http://www.technologyreview.com/blog/mimssbits/27371/?p1=A3
======
ComputerGuru
We're running an experiment on our site, we've disabled ads entirely and we've
seen an improvement in page load speeds across the board.

Unfortunately, some of the better-paying CPM ad networks have the slowest
javascript ads the world has ever seen.

We're basically trying to see if removing ads improves our page load speed and
therefore our SERP enough to somewhat offset the lost income.

~~~
jerhewet
Write some JS to delay loading the adverts until after all of the other
content on your page(s) has been loaded and displayed. JQuery (especially)
makes it easy to delay this kind of stuff and do the <div> injections well
after your page is visible in the client browser.

I coded one two (three?) years ago for a contract, and it worked like a charm.
Used it for tracking pixels, Google tracking, and a bunch of other stuff.

Surprised this kind of snippet isn't readily available on the intertubes.

~~~
jonasvp
It is: <https://github.com/Knewton/Gatling/wiki/Gatling-Overview>

~~~
jerhewet
Excellent! Haven't browsed all the links yet, but I didn't see any examples
for injecting anything except trackers. Templates for some of the more common
scripts like AddThis, and a few advertising examples, would be nice. Not that
it's any harder, but some diversity would certainly help your cause.

Let me know if you'd like a few of my more devious snippets to add to your
project, like overloading document.write (surprising how many of those damned
advertising scripts _still_ use document.write instead of div injection!
:-\\).

~~~
jonasvp
Sorry, didn't mean to imply it was my project. It's just one I'm using for a
site with a _lot_ of trackers (some clients do go hog-wild on those).

------
GoodIntentions
adblock + noscript ftw.

I was really (really) hesitant to begin blocking adverts. I believe in paying
for what I use. What finally pushed me over the edge was "good" sites
unknowingly distributing malware via adverts.

~~~
clobber
I wish that Safari on iPad had a plugin functionality for things like adblock
and noscript. Sometimes web browsing can be excruciatingly slow from all the
scripts and ads on websites.

Luckily there is an option to turn off JavaScript but there needs to be more
control like whitelisting.

~~~
csarva
Safari doesn't have any selective blocking capabilities but there's always 3rd
party browsers for that. Check out Ghostery for iPad which is focused on
privacy & blocking 3rd party trackers:

<http://purplebox.ghostery.com/?p=1016022066>

------
joezydeco
I have a small number of sites blocked in /etc/hosts but a little searching
found this hosts.txt file that seems to be updated pretty regularly. Gonna
give it a try.

<http://someonewhocares.org/hosts/>

~~~
jonursenbach
Wish this were in a git repository.

~~~
chalst
Your wish is my command:

<https://github.com/chalst/pollockhostsfork>

I'll see how good I am about updating this: there seem to be 2-4 changes most
weeks.

 _Postscript_ \- I've emailed Dan Pollock to see if he thinks this git repo is
worthwhile. There is already a version of the file on Github at
<https://gist.github.com/399642>, but it is not updated and is a year and a
half old.

~~~
joezydeco
That's awesome.

So could I get a little more detail here about why git is important? Are you
making a init script to pull the file directly into /etc/hosts at boot (or at
an interval)?

~~~
chalst
Well, it's a little bit of work.

The point is that several people can maintain their own branches of /etc/hosts
and use git to keep them up to date and propagate their additions.

I'd just clobber /etc/hosts from the repo file with cp -f, whenever the repo
is changed, no need for any cron/init automation.

------
allbutlost
AddThis, ShareThis etc are also popular culprits here.

I'm sure that this is choir-preaching at its finest, but using the non-async
AddThis plugin should be avoided at all costs.

~~~
eli
_shrug_

I've seen one AddThis call replace half a dozen individual Javascript/IFrames
for all the different social networks. Seems like that would generally be an
improvement.

------
Too
Ironically the site with the article itself pops up 13 items on my Ghostery, i
think that's the most i've ever seen while browsing. Beats techcrunch's 12
trackers.

~~~
RyanMcGreal
It's not ironic:

<http://www.zeldman.com/2011/11/18/it-is-not-ironic/>

~~~
mrspeaker
I think it is: <http://en.wikipedia.org/wiki/Irony>

------
rvkennedy
You paste code from a company with the words "media", "brand", "share" or "ad"
in its name, you get what you deserve.

------
cynwoody
Merely mapping googleads.g.doubleclick.net to 127.0.0.1 made a huge difference
to my browsing experience.

Despite the resources of Google, that server is waay overloaded. I was staring
at the browser status line waiting for that server to cough up, so the page
could render correctly (or at all).

Supposedly, there are ways to embed doubleclick ads that do not slow down page
rendering. However, most of the sites I visit haven't mastered the technique.

------
Fluxx
The article mentions that Google will rank you page lower if your site is
"slow," which the article says can happen if you install these slow widgets
and trackers. Don't forget that Google is not running any javascript, flash or
loading images when it requests your page, so they're not affected by these
trackers. What Google means by "slow" is _how fast your server can return an
HTML response_.

~~~
slig
I don't think so. In the Webmasters Tools you can see that Google has metrics
for "Site performance" [1] and for "Time spent downloading a page (in
milliseconds)".

Also, you can see that Google is running JS and loading flash by looking at
the Image Preview that appears when you search.

[1] "This page shows you performance statistics of your site. You can use this
information to improve the speed of your site and create a faster experience
for your users" <http://i.imgur.com/Jfz8O.png>

~~~
Fluxx
So we're basically both right, but I was wrong in my initial assessment. Their
_crawler_ doesn't give them the page speed metrics, they get it from their
toolbar data:

 _Page load time is the total time from the moment the user clicks on a link
to your page until the time the entire page is loaded and displayed in a
browser. It is collected directly from users who have installed the Google
Toolbar and have enabled the optional PageRank feature._

[http://www.google.com/support/webmasters/bin/answer.py?answe...](http://www.google.com/support/webmasters/bin/answer.py?answer=158541)

------
aw3c2
Give disabling Javascript a try. Uninstall Flash. Most of the web will work
and it will be fast and much less annoying.

~~~
mixmastamyk
Noscript and flashblock are a more functional approach I think. Meaning, load
js and flash when and from where you choose to.

------
harrylove
I read the title and immediately heard John Goodman say "This is what happens,
Larry. This is why your website is slow, Larry."

------
grandalf
I've never used any of those, but the facebook forum plugin routinely takes >
2 seconds to load!

------
tmhedberg
Ironic that Ghostery pops up to warn me about 16 trackers on the article's
page.

------
yayadarsh
Ghostery found 14 on this page itself.

------
mrsebastian
So, how many of these services does HN use? :P

 _hides_

~~~
rvkennedy
From the speed of the site, I'm guessing none.

