Categories
guide how-to SEO sports

Fantasy Sports Sites Need to be Faster

The web is a mighty big place and the fantasy sports market has grown by leaps and bounds over the past 5 years.  All of that growth spawned many sites that have come and gone, in the news one day and no where to be found 6 months later.  Some of today’s best fantasy sites are having record traffic numbers, and for good reason, because they provide incredible fantasy insight.

What people often forget about, is the technology behind these sites.  Are fantasy sports sites up to date using the latest technology and do they spend time optimizing the sites for speed?  I will be tackling the latter category in this blog post: speed.    The speed at which a website loads is a huge factor in end user satisfaction.  Below you will find the best known names in fantasy sports news and I will compare them to the big boys to see how they stack up in speed.  As most of you know by now, I developed a site called FantasySP and will also show you how FantasySP compares to these sites in terms of speed.

In order to test each website’s performance, I will be using Firebug 1.7.2 with YSlow 2.1.0 under Firefox 4.0.1. I will load each site’s homepage with advertisements shown and advertisements blocked (using AdBlock Plus).  I will also be using Pingdom’s Site Speed tool to test load times. This should give a fair comparison on the speed of each site.

#1) Rotoworld

Rotoworld needs no introduction as it is the premier site when it comes to fantasy news and analysis.  However, does the same hold true when it comes to page speed and size?

Rotoworld with Advertisements

With advertisements shown, you see 228 HTTP requests and a size of almost 2 meg on initial page load.  Your second page load has 212 HTTP requests and 104k in size.  Without a question, they do a terrible job at optimizing their site for speed.

Rotoworld - No Advertisements

Without advertisements, loading Rotoworld has 214 HTTP requests and around 1.8 meg in size.  The second pageload is at 202 HTTP requests and page size is about 40k.  Blocking advertisements at Rotoworld will save you a little bit of time, but not much since their site is in desperate need of optimization.

Pingdom Load time: 9.5 Seconds

2) Rotowire

Perhaps the second biggest name when it comes to fantasy news is Rotowire.  Are they any better when it comes to load times?

Rotowire with Advertisements

Rotowire has 165 HTTP requests and the size of the page is 1.6meg with advertisements. Second pageload will see 134 HTTP requests and around 150k in size.  Slightly better than Rotoworld, but still quite poor.

Rotowire without Advertisements

Without advertisements Rotowire has 103 HTTP requests at 1.3 meg in size.  The second pageload has 88 HTTP requests and 70k in size.  Rotowire has room for improvement, but it seems most of the extra requests and bloat come in the form of advertisements.

Pingdom Load Time: 4.8 seconds.

3) Kffl

kffl is another top fantasy news site in the industry, perhaps they can do a better job when it comes to speeds?

kffl with Advertisements

As you can see HTTP requests with advertisements are at 97 and the size of the page is around 1 meg.  Second page load shows 88 HTTP requests and 75k in size.  So far kffl does a much better job in terms of speeding up the site and minimizing requests and size of the page.

kffl without Advertisements

With no advertisements, initial page load has 83 HTTP requests with the size of the page at around 820k.  Second page load has 74 requests with 77k in size.  Not too bad at all.  In fact, if they fixed the amount of images that load and the amount of javascript files then they would be a lot closer to 50 http requests.

Pingdom Load Time: 10 seconds.  (Why 10 seconds? My guess is that their server isn’t as expensive as the other two and they are in desperate need of a CDN to help with load time)

4)  RotoInfo

RotoInfo isn’t a huge name, but Fanball is no more and these guys were the only other ones I could come up with for good fantasy analysis and news.  So let’s have a look at how they perform.

RotoInfo with Advertisements

Initial page load with advertisements has 158 HTTP requests and weighs in at a hefty 3.2 meg.  Second page load has 46 HTTP requests and 80k in size.  Looks like we have a new winner for total page size thanks to their enormous added size in images.

RotoInfo without Advertisements

With advertisements blocked, it has 147 HTTP requests at 3.1 meg.  Second page load has 35 HTTP requests at 72k.  They are pretty much as bad as Rotoworld and Rotowire.

Pingdom Load Time: 14.1 seconds.

Lets Pause for Reflection

Looking at the past 4 fantasy news websites, it is blatantly obvious that these guys aren’t the best when it comes to speeding up their sites. kffl is the best at keeping HTTP requests down and page size low, but that didn’t seem to translate to a fast page.  Rotoworld, Rotowire, and RotoInfo are remarkably bad at utilizing modern techniques to make sure their sites are as fast as they can be.  Some are lacking a CDN, others are riddled with too many HTTP requests, and most have both problems.  All of these things are fixable, and I urge them to fix these problems.

So you might be wondering, how does FantasySP fit in all of this?  FantasySP was built from the ground up to be fast.  It was built because I wanted a centralized location to keep an eye on player news and manage my fantasy teams.  What FantasySP does is grab news from your favorite fantasy sites (listed above), blogs, and newspapers and presents the information to you as fast as possible.  When you read something interesting, you head over to the source site to get the full scoop.

Before I show you how fast FantasySP is, let me show you how fast ESPN and CBSSports are since they are the best in the business with an unlimited budget.

1) ESPN

ESPN is one of the premier sports sites on the internet and they have recently undergone a major redesign.  Perhaps they need to show us how to create a speedy website?

ESPN with Advertisements

With advertisements, ESPN has 88 HTTP requests and weighs in at 800k.  The second page load has 26 HTTP requests with 62k in size.  Clearly, these guys know what they are doing.

ESPN without Advertisements

Without advertisements, ESPN has 76 HTTP requests and is 674k in size.  The second page load has 15 HTTP requests and 60k in size.  They do a fantastic job at minimizing HTTP requests, making sure the size of the page is small, and utilizing a CDN.  Even with their embedded video on the front page and interactive scoreboard, their site does a fantastic job at keeping things speedy.  Perhaps the only thing they could do to further improve things is to create a CSS sprite for some of their images.

Pingdom Load Time: 2.5 seconds. (Using the best techniques with the best hardware results in super fast load times, no surprise there)

2) CBSSports

How does CBSSports compare to ESPN?  Let’s find out.

CBSSports with Advertisements

CBSSports has 51 HTTP requests with 700k in total size with advertisements.  Second page load has 10 HTTP requests at 48k in size.  These are extremely impressive numbers considering they have advertisements shown.

CBSSports without Advertisements

Without advertisements CBSSports has 45 HTTP requests and about 700k in size again.  Second page load has 6 HTTP requests with 46k in size.  If they combined their javascript and created a CSS sprite then they would save even more HTTP requests and perhaps get it down to about 30 or 40.

Pingdom Load Time: 2.9 seconds.

FantasySP

I’ve talked a lot about load times and speed, so hopefully my site runs more like ESPN and CBSSports and less like Rotoworld.  Let’s find out:

FantasySP with Advertisements

With advertisements FantasySP has 55 HTTp requests at 358k in size.  On the second page load, 25 HTTP requests at 42k in size.  Clearly one of the best sites in terms of HTTP requests and the smallest in size.  This sounds great, but keep in mind that some of the other sites such as ESPN, CBSSports, and Rotoinfo have a richer user experience by including videos and/or interactive scoreboards. This is the main reason why I am able to keep page size so small.

FantasySP without Advertisements

Without advertisements FantasySP has 38 HTTP requests at 241k in size.  On the second pageload there are 9 HTTP requests with 29k in size.  When it comes to reading fantasy news, the end user might prefer FantasySP over any other fantasy site listed here based on speeds alone.  In fact, new signups to FantasySP get advertisements disabled to speed up their experience and they are replaced with Player Trends.  Hows that for enticing?

Pingdom Load Time: 1.0 seconds.

FantasySP utilizes modern techniques to improve the end user’s experience.  I use Cloudflare to speed up DNS, block bad traffic, and a whole bunch of other nuggets.  I use Amazon as my CDN. I minify and combine my javascript and css files.  I also use a CSS sprite to reduce HTTP requests.  For the backend I installed NewRelic so I can keep track of realtime performance and fix inefficiencies with the site.  I also automatically redirect mobile visits to my uber fast mobile site.  You could say I am addicted to speed, and I hope you are too.  I did all of this myself, so imagine if I actually had a team of developers and a group of people that share my vision. HINT HINT!

So What’s Your Point?

The point of this whole post is to inform sites in the fantasy news space to spend the time to improve the user experience.  The size of your homepage should not be near 3 meg in size with 150+ HTTP requests.  Your products and news are great, and all you need are some fine tuning.  Major sports sites like ESPN and CBSSports are highly optimized and well oiled machines.  There is no reason why Rotowire, Rotoworld, Kffl, and RotoInfo can’t follow their lead.  I am a HUGE fan of these sites and FantasySP would not exist without them, so please use what I’ve talked about in this post and improve your sites.

Questions?  Comments? Glaring mistakes?  Please let me know.

UPDATE:  Here is a handy spreadsheet with speed data. Light green denotes best performing, dark green good performing, orange is bad performing.

UPDATE #2: As per request, I’ve taken a look at DraftSharks.  They have also been added to the spreedsheet above.

DraftSharks

DraftSharks with Advertisements

DraftSharks with advertisements has 80 HTTP Requests at 1.1 meg in size.  The second pageload has 6 HTTP Requests and 38k.  This puts DraftSharks on par or better than kffl.  Completely respectable job optimizing the site for speed.  Much like all the other sites, if they combined js files and created a CSS sprite then HTTP requests would be even lower.  It also wouldn’t hurt if they looked into a CDN solution if it fits in their budget.

DraftSharks without Advertisements

Without advertisements DraftSharks have 79 HTTP requests at 1.1 meg.  Second page load has 5 HTTP Requests at 38k.  Not much of a difference, mainly because most of their ads aren’t blocked by default by AdBlock Plus.

Pingdom Page Load: 7.2 seconds.  (The pageload slowdown is likely due to Pingdom adding 80 or so EXTRA images that I did not see based on my testing.)

Categories
SEO

Google instant previews for Twitter & Gawker are broken

Making websites javascript heavy seems to be all the rage these days. Some sites like Gawker (and related sites by the company) have been heavily criticized for their javascript heavy redesign. While others like Twitter have been mostly praised for their work.  Both sites are very similar in URL structure and functionality.  But did you know that Google Bot can’t seem to accurately capture a screenshot for either site?

Gawker

Gawker: Google Instant Preview

Twitter

Twitter: Google Instant Preview

Before you panic and exaggerate these findings, keep in mind that Google can crawl these sites just fine.  The problem is only with the screen capture and preview that is shown in the Google SERPs.  I guess the real question is, who is at fault here?  Googlebot for not being able to grab an accurate screenshot or the site developers for going a bit overboard on javascript?

Categories
cloudflare optimization

Does Cloudflare live up to the hype?

I have given Cloudflare a try for the past week or so for FantasySP.com and want to pass along my thoughts.  I saw a few reviews that were quite astonishing and decided to find out if they are accurate.  I have been reading great things about it and couldn’t resist trying it out.

Will Cloudfront Increase Pages Per Visit?

Unfortunately no.  The only reason you’ll see an increase in pages per visit is if you change the setting to add your Google Analytics code to every page.  I decided to use this myself and look at the results:

Pages/Visit

Notice the bump in pages/visit?  Almost double.  That is when I added the Analytics code to every page and it completely skewed everything out of whack.   Meanwhile GetClicky and awstats both showed them to be at normal levels.  So clearly this Cloudflare setting should not be used and anyone who shows these type of drastic results are just lying to themselves.

I obviously don’t think Cloudflare adds this setting to artificially increase analytics stats.  Although, I can’t explain why this happens, since they claim its fine to add without removing the old code.

Will Cloudflare Decrease Bounce Rate?

Probably not.  If anything, it could have a slight increase in your bounce rate depending on how much bad bot/spam traffic you were getting.  Although, a bad bot might even help your bounce rate because they are often times so abusive and load many pages.  If Google Analytics shows a drastic decrease in bounce rate then it is due to the Cloudflare setting to add the script to every page.  Have a look at my bounce rate:

Bounce Rate

Sorry folks, Cloudflare is no miracle bounce rate solution. 🙁

Will Cloudflare Increase the Speed of the Site?

Yes, even using their free service!  Cloudflare has a whole list of features that show how they can decrease the time it takes for a page to load.  They will cache content, similar to a CDN and provide optimized routes to your site, and block abusive traffic.  If you pay for their service then you will see even better benefits (none of which I have tested).

So I guess the real question is, does Cloudflare make FantasySP faster?  Yes and no.  I have most of my static content already on Amazon’s Cloudfront.  My DNS before Cloudflare was Amazon’s Route 53.  So how much of a benefit am I really getting when some of Cloudflare’s services were already taken care of?  Here is a look at Googlebot’s time it takes to crawl FantasySP.com:

Googlebot Crawl Rate

According to Googlebot, the site isn’t faster, perhaps slightly slower if anything.  It could be that Amazon’s Route 53 provides equally as good routing for end users and I don’t see much of a difference.  Either way, there isn’t enough evidence to make a call on this.  What really matters is if there is a difference for the end user in a real browser.  For my site, javascript is what is holding back the end user experience.  Which brings up my next point, Rocket Loader.

Does Rocket Loader Improve Speeds?

To test Rocket Loader’s performance, I will be using NewRelic’s End User performance tracking.  I have been using this for well over a month and it should show any trends with end user speeds.

As you can see, there is a large decrease in pageload time and goes from 8 seconds to 6! Awesome right?  Well, unfortunately I noticed that Rocket Loader was screwing up some of the rendering of advertisements that were on the site.  Thus making my site’s javascript unusable.  Rocket Loader works fine with Google AdSense, but AdSense doesn’t generally hang as much because of their recent optimizations.

What I really wanted Rocket Loader to do, was to improve performance of the other ad networks that I use.  These are the ones causing all the slowndown.  Alas, it wasn’t meant to be.  Clearly it was making a difference, but it is a bit buggy at this point.  My next step is to selectively use Rocket Loader on certain javascript components and see if it will make a difference in overall load time without breaking things.  Stay Tuned for that!

So Where Does This Leave Us?

After reading all of this, you might think I’d come to the conclusion that Cloudflare isn’t worth the trouble.  Exactly the opposite.  Cloudflare delivers on a lot of the promises of the service.  Just be sure you don’t make mistakes like enabling Google Analytics on every page.  That feature just doesn’t make any sense to me.  (I’d love to hear your thoughts on this.)

If you aren’t using a CDN or a customized DNS service, then switching to Cloudflare should have an impact on quicker load times.  Even if you do have a CDN and a customized DNS service, the fact that Cloudflare blocks bad threats and saves your server resources and prevents lots of spam.  It’s also nice to see trending data for search engine bots and outbound links.

I’d love to try out Cloudflare’s pay only services to see if they improve upon speeds, but they do not offer a trial for such a thing.  Perhaps down the line I will test these as well.  I also think Rocket Loader will continue to improve and will truly make a difference for some users out there.

What do you guys think?