Analyzing Blog hit statistics


It takes a lot of work to create the blog posts and code samples that I put in my blog, and I was curious about getting more detailed statistics about the posts.


 


I already aggregate some statistics for Microsoft Bloggers (see What is a Microsoft MVP? Calvin’s List updated for the new century), but I was curious about which of my posts was the most downloaded, etc


 


I was watching the statistics accumulate in the log and I noticed that a few were hit much more often than others, especially as a result of a Google search.


 


The Referrer URL is something like http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=GGLG,GGLG:2006-25,GGLG:en&q=remote%20desktop%20ctrl%20alt%20del


 


The after UnEscaping it looks like this:


 


“http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=GGLG,GGLG:2006-25,GGLG:en&q=remote desktop ctrl alt del


 


(See also Handling arbitrary strings in URLs: Escape, InternetCanonicalizeUrl, WinHttpCrackUrl and URI.EscapeUriString)


 


So I wrote 4 lines of code to query the hit statistics. They query the statistics for the Google click-throughs: when a user did a Google search for some string and clicked a result that was one of my blog posts. The code parses out the Google query string to make it easier to read.


 


 


SELECT *,PADR(SUBSTR(ref,AT(“q=”,ref)+2),200) as qexp FROM bloglog WHERE “google”$ref INTO CURSOR results readwrite


REPLACE qexp WITH LEFT(qexp,AT(“&”,qexp)-1) for AT(“&”,qexp)>0 all


SELECT title,qexp FROM results ORDER BY 1


SELECT title,COUNT(*) FROM results ORDER BY 2 DESC GROUP BY 1


 


 


With just a few days of statistics, the number of hits from Google for Reboot from remote desktop was far higher than any other post. Perhaps the remote desktop feature needs to make it more obvious how to reboot the remote machine.


 


    # hits            Title


         595 Reboot from remote desktop


         254 What is a C0000005 crash?


          97 Calvin Hsia’s WebLog


          45 Creating a VFP application as a service:


          43 Visual FoxPro


          35 I want my own email! MSN Premium


          34 Print a t-shirt


          32 Cold Solder Joint


          30 Generating VBScript to read a blog


          29 Creating your own web browser for your SmartPhone


          27 How to use DEVMODE


          25 SQL Select data from a text file


          24 Binding to Internet Explorer events: bug in Typelibrary


          22 Start your Screen Saver NOW!


          20 Dr. Watson: Please send in your error report


          19 How to protect your web site pictures from being saved


          19 Write your own Task Manager


          18 Use Windows 2003 Server and remote desktops for debugging


          18 What happens if external code throws an exception?


          17 A Visual Basic COM object is simple to create, call and debug from Excel


          17 Foxpro Performance tip: field name lookup for tables


 


 


The search strings that lead to my blogs are interesting too.


 


For this entry:  Generating VBScript to read a blog,  these were the search strings that were given to Google, which people then clicked on to get my blog post:


 


  vb scripting replace


  wsh quotes vbscript


  wscript + read text with delimiter


  WinHttpRequest VB help


  read rss title by vbscript


  vb script read rss title


  MSXML.DOMDocument vbscript


  vbscript InternetExplorer.Application


  html vbscript value read


  winhttp createobject vbscript


  InternetExplorer.Application VBScript get text


  ASP  -“.net” transformNode CreateTextFile VBScript


  vbscript read html InternetExplorer.Application


  If command for a vb script


  winhttp vbscript


  read html internetexplorer.application


  example xsl-xml-rss


  example xsl-xml-rss


  example xsl-xml-rss


  quotes in vb script


  WinHttp.WinHttpRequest.5.1 hosting script


  CreateObject(“WinHttp.WinHttpRequest.5”) .Open “Get”


  vbs “internetexplorer.application” createobject


  script vbs CreateObject msxml


  vb script to read text file


  transform xml in html vbscript


  vbscript DOMDocument


  read rss  using vbscript


  vb scripting replace


  oHttp.send

Comments (2)

  1. Steven Black says:

    Hi Calvin,  I read your blog in my RSS aggregator so, in a sense, your posts come to me.  So the stats above are from those who come to your site and read the HTML version.  From analyzing the FoxPro Wiki’s RSS feed, I’ve noticed some interesting things about its RSS feed:

    * Currently between a sixth and a fifth of all Unique IPs request the RSS XML.

    * The number of total pages served doubles, year on year, while the RSS about triples over the same period.

    * The RSS XML feed is by far the most requested page, including the home page and recent changes page.

    * RSS readers are "loyal", returning very regularly, some every hour their PC is on.  This is due to the configurable periodic nature of RSS polling.

    * Because of the RSS redirect capability, this traffic is, in a sense, portable, and would seamlessly adapt if you ever change your blog host.

    So I think it would be cool to quantify various aspects of the RSS you serve, becase this would paint a picture of a your most loyal and probably fastest growing segment of your readers.

    P.S. Spot any interesting country patterns to your RSS traffic?  I do with the wiki.  Some countries are notably more RSS-phyllic than some others.  An notable RSS laggard: Canada. Do you see this too?

  2. warcraft universe and dota allstars