It took Diffen several years to get to a point where we crossed 1 million unique visitors a month. The next million took only 1 month.
After flirting with the 1MM mark a couple of times, it finally happened in August 2012. And in September traffic to Diffen crossed the 2 million unique visitor mark.

Totally awesome!
But we’re not going to get carried away with this success. Growth cannot continue at this pace unless we make significant investments in content, product and marketing. In fact, it is only October 1 today and yet we think traffic in October, November and December will experience negative growth.
And traffic is only a small part of the big picture. So many things matter more than traffic. For example:
As we’ve said before, one algo update by a major search engine has the potential to decimate traffic. And yet while we recognize the risks, we also know when to party ;)
It is generally easier to share what you’re reading on a mobile device than desktops. Mobile browsers allow you to email, share on Twitter and, with the latest Chrome and iOS 6, share on Facebook.

One advantage of Twitter’s sharing widget aka Tweet button is the via field. Mobile websites cannot afford to add bulk by loading the Twitter widget. So perhaps mobile browser vendors should start supporting a way to add the via hint. It would work like this (without the mangled smart quotes that Tumblr introduced below):
<link rel=”twitter” href=”https://twitter.com/Diffen”>
With that in your <head> the browser now knows the publisher’s Twitter handle and will automatically append (via @Diffen) to the tweet text.
[video]
Last month we started using event tracking in Google Analytics (henceforth forever called GA). Should have started years ago but as they say - better late than never. Thought it might be a good idea to share a few things that we learned.
1. Have clear goals
We have a pretty high bounce rate so we wanted to understand what people are clicking on to see how we could make the product more engaging. The second goal was to track which content categories get how much traffic. Believe it or not, we weren’t tracking pageviews by content category. With so many content categories, each with their own super- or sub-categories, it’s important to know where you’re lagging and where you’re doing well.
2. Learn from others
It’s weird but it was impossible to research GA hacking without running into Cardinal Path. We thought Wikia has many content categories so their GA implementation would probably be a good model. So we set out to find where the magic happened and ran into Cardinal.
3. How event tracking actually works
Geek out on this StackOverflow thread to explore how GA event tracking actually works. If you’re tracking a click on a page, the browser probably doesn’t give GA enough time to send its GIF request with the payload to the server. It’s possible the browser opens your link before GA’s Javascript gets a chance to do its thing. (UNLESS ga.js introduces some sort of document.unload handler which finishes all GA tracking before allowing the original document to unload and the new page to load. That would be cool for tracking purposes but totally UNcool for our users. Given a choice between making the site experience faster for users and tracking their clicks, we’d choose our users every single time. Even if you wake us up at 4am to ask. Fortunately, it seems that GA does not force an unload handler on the original document.)
4. Use onMouseDown
So how to handle scenarios where the browser is too fast for ga.js? That’s where we ran into Cardinal Path again with this awesome blog post about onClick vs onMouseDown when using event tracking. Most examples for GA event tracking will show you code like
<a href=”/wherever” onClick=”_gaq.push([‘_trackEvent’,category,action,label]);”>click me!</a>
But you can increase the probability that clicks will be tracked if you fire your GA event onMouseDown rather than onClick.
5. Page-level custom variables are useless. Use events instead
At first we tried using page-level custom variables for tracking what content categories are most popular. So for example when a visitor gets to the MacBook Air vs. Pro comparison, we want to track a hit for all the categories in the breadcrumbs. The top-level category is Technology and the second level is Consumer Electronics. We assigned the first custom variable for the top-level category, the second custom var for the 2nd level category and so on. But we wanted to do all this tracking after page load i.e. in $(window).load(function(){…});. But for it to work correctly you need to set your custom vars before GA’s trackPageview call. That’s a major difference between using custom vars and event tracking.
trackEvent fires a request to the big G’s servers immediately but setCustomVar waits until some other function fires a request and piggybacks on that to send its data back to the mother ship. In most cases no other events would be fired so we wouldn’t be able to accurately track custom variables.
Enter event tracking for content categories. We now track each category of the bread crumb as an event where:
The event label is interesting because apparently it’s not needed. GA’s web interface gives you the ability to use the Page Title as the primary dimension when viewing data for a particular Event Action. We didn’t know that so we tracked the page ourselves in the label. What’s interesting is that the numbers we see via the Labels breakdown are different from what GA shows when it breaks them down by page title. We’re still not sure why that is. It’s not a huge discrepancy but it’s not teenie tiny either.
So there you have it. That’s how we implemented GA event tracking.
UPDATE: CardinalPath has released an open-source project GAS (Google Analytics on Steroids) that looks very promising.
On Aug. 27, we hit a milestone in the history of Diffen. 1 million unique visitors in a calendar month. We had come close before and flirted with 1M on a couple of occasions. But missed the mark by a few thousand. But August was different. We crossed the milestone with a few days of August to spare.

Yes, we know that we’re too dependent on Google right now and one change of their algo can crush traffic. But we’re celebrating in September and have a very cool sponsorship lined up. (Details next week)
W00t!! We love round numbers.
We know that one Google algorithm update can easily set us back but today is a day to celebrate!
Joe Biden vs Paul Ryan ratings
Biden’s rating includes votes from the 2008 election comparison so it’s not going to be an apples-to-apples comparison with Paul Ryan immediately. This snapshot is a good indication of their starting scores so when we examine their ratings a few months from now we’ll know how each candidate did.
Behavioral psychologists will tell you (and we would too) to take these ratings with a pinch of salt. Biden performed well because in the last election he was being compared to Palin. His ratings would most likely have been lower if people were rating him on a page that compared him to Obama instead. So making note of this starting line is important because come November, we’ll be able to do a more accurate head-to-head comparison of Ryan with Biden, without letting Biden take advantage of his former comparison with Palin.
Google Webmaster Tools is reporting that in the last month the number of 404 errors has skyrocketed from about 9,000 to 77,000.

We can’t figure out why. In fact, when we check our server logs and look for 404 status codes returned to Googlebot in the last month, there’s only about 10,000 (which might even have some duplicate records..we haven’t checked).
So what in the name of Tim Berners Lee is going on?
Let’s look at the types of URLs Google Webmaster Tools (GWT) is reporting:
Here’s the deal, though. All the processors and all the user requests don’t add up to more than 2,500 URLs. So where the hell is Google getting 77,000 of them?
What we did
Google Webaster Tools: The Good, the Bad and the Ugly
The Good: They tell you there’s something wrong with your site! +1 for transparency and proactive information sharing. They even give you a list of URLs they found, as well as where to fix the problem (sitemap or list of pages that link to the bad URL). All of this information is very helpful and kudos to them for providing it.
The Bad: They only tell you about 1,000 URLs and don’t give you the full list. The CSV download is missing crucial info viz. where the URL is being linked from. Where did Google find the URL?
The Ugly: The rise reported by GWT does not reconcile with the number of 404s returned to Googlebot as indicated by our server logs. And there’s no way to know when Google will remove these 404s from its index.
Why could this be happening?
We honestly have no idea. There are only guesses. Right now we’re leaning towards a theory that blames spam. Spammers sometimes create user accounts on Diffen (which is a wiki and runs on the awesome MediaWiki platform - the same software that powers Wikipedia). Mediawiki has user pages where registered users can write a little about themselves. We require reCAPTCHA when users sign up but spammers manage to defeat it from time to time. They have been posting spam by creating such user pages. It’s possible they are linking to thousands of such user pages but only succeeding in actually creating a few of them, (which we find and delete). It could even be negative SEO by a third party but that’s not our favorite theory right now.
Mandel vs. Brown - who's leading? -
![]()
Brown is ahead in the polls but Mandel is all over YouTube. This is the most expensive race in Ohio’s history - over $24 million have been raised.
Market share for different versions of Internet Explorer. IE 6 is dying!!