I was pinging people on Twitter about what to blog about, and Michael Vandemar suggested I take a look at his post about Google web search switching to AJAX. He and some other SEOs have recently noticed that Google search results URLs have been displaying the search query string after a hash mark (#). I'm not an AJAX expert, but some of our developers told me that AJAX typically offers up a better user experience and you can load parts of a page selectively as opposed to the entire page at the beginning. Thus, it seems that Google switched to AJAX-driven search results to create less bandwidth for them, since every refining query will only load the HTML necessary to replace the search results and not necessarily the entire page.

However, there's a drawback to this, as Michael and some other folks have noted. In URLs, hash marks and anything beyond them aren't passed to the server in the referring URLs, nor are they regarded by search engines (this is why we recommend using them for tracking ids in order to avoid duplicate content problems). This means that analytics won't be able to read or record referring keywords/search terms. Instead of differentiating search terms and phrases through the search query string, chances are your analytics program will count Google's referring search traffic as all coming from a single source, Google.com. Obviously this is a big deal--it's incredibly important to know which keywords and phrases are bringing in traffic to your site's pages. Eliminating that informtaion would be like trying to take your newborn baby home from the hospital, only to discover that he/she is mixed into a room with fifty other babies and none of them are wearing identification bracelets.

Michael blogged about potential breaks with the switchover, and so has the Clicky blog. Brian Clark has already noticed some oddities with his analytics:


I haven't gotten the changeover from the search/? query string to the hash mark--when I perform a Google search, I still see the old query string. However, a hash mark query string does resolve for me, so I'm wondering if this is something that'll become more widespread very soon.

Have any of you noticed the hash mark switchover and its resulting effects on your analytics data? What would be a good workaround to this change if Google decides to fully switch to AJAX? Obviously there has to be some fix or else webmasters, site owners, advertisers and Internet marketers everywhere will be pissed...