Blue-Hat SEO, RPC Ping, and Metrics

"Pluck your magic twanger, Froggy!" -- Andy Devine

Recently I started playing with some ideas on using RPC Ping endpoints to help promote one of my websites, ittyUrl.net. For those who aren't familiar, it is customary to ping RPC servers with the title and url of a new blog post. Most Blog hosting software already has this built in. But - it also works for websites with articles, forum posts, or that display custom search results, like mine does.

The idea is that these RPC servers will be prompted to go out and request your post and they'll index it, and many sites (some not so noble) will pick up the links and essentially you have gotten yourself some free backlinks (of course, backlinks with a low or no PageRank can actually do you harm from an SEO perf standpoint, but that's a separate issue).

One example site that more or less picks up everything for you is weblogs.com. They have a "rolling" display of all the ping updates they've gotten, and you can download OPML-format XML files that list everything. The smaller one is less than 2MB - but that's sufficient to go link crazy. One guy even recommends on his blog that you should take these titles and replace the url of the link with your own custom scraped content, create a "rolling xml feed" of it, and ping the RPC servers with your feed. That's a little more like "dark grey" SEO to me, but - hey -- whatever floats yer boat!

A service that "combines" reliable RPC servers in one shot for you is Pingomatic. You put in your title, link and optional RSS feed url, check off all the services you want them to ping, and they take care of it. I've automated this process with a little "Pinger" fire-and-forget delegate wrapper class. But essentially what you can do (to make it easy) is take the required GET url and use it as a template like so:

Then, all you need to do is String.Replace the "blogname", "bloggurl" with your dynamic custom items and using the WebClient class, do an HTTP GET with the "DownloadString" method and check your results.

I should hasten to add that you want to do this on an individual basis as each article, forum post or blog post is added. If you try to do a bunch at a time, you are going to start getting some of those "Slow down, cowboy! - you just sent one, etc." messages. Here is example code:

public static void PingOMatic(string title, string url)
pingoMatic = pingoMatic.Replace("blogname", title).Replace("bloggurl", url);

WebClient pingoWc = new WebClient();
string pingoString = pingoWc.DownloadString(pingoMatic);
System.Diagnostics.Debug.WriteLine("pingomatic--" + pingoString);
catch (Exception ex)
System.Diagnostics.Debug.WriteLine("pingomatic--" + ex.Message);

I call the above using my Fire and Forget delegate wrapper so it's a non-blocking call.

You could also put this into your blog template in an invisible IFRAME whose src attribute points to the pingomatic GET url with the (example, Blogger) template Items in the place of the replaceable items and every time somebody reads a post on your blog, the RPC server list gets pinged.

You might be wondering what is the result of this. Well, its very early in the game, but here is a pic of adsense Page View traffic for ittyurl.net after I installed this code:

The big shot upwards at the right is what happened to traffic after I started the pings on each new unique search that users make on ittyurl.net's search page. Traffic literally tripled from its current level within 3 days. Of course, a lot of that is the ping requests from the ping servers, but you get the idea. Regarding what may happen to revenue, it's too early to tell, but there is no doubt that this will increase your traffic.

One of the interesting side effects of this is that the googlebot will come and visit almost immediately after one of these little ping sessions. I've also noticed that either googlebot or some other bot that's picking up these links makes "bogus searches" that might have search terms like "fcjghri wxhtyuio". I haven't figured this out yet, but at present it is only a minor annoyance.

The bottom line of this, as the title suggests, is metrics. Everything that happens on that site is logged into the database, and i can do all the statistics and metrics I want with simple SQL - to find out EXACTLY what is happening on my site(s).

N.B. Here is a chart of daily clicks (Adsense) up to 7/12/2007, which clearly shows that the increased traffic is not just "RPC Ping robotics" but real people clicking on ads:

N.B. The ShortChanges xml feed for weblogs.com is now here.

In Other News . . .

I just read where Microsoft has switched 79 of the 80 boxes that power microsoft.com to Windows Server 2008, leaving just one on Server 2003 so they can compare. I'm downloading it as I write. As long as it will upgrade over Windows Server 2003 x64, I guess I'm ready.

N.B. Installed Server 2008 Enterprise x64 last night, started around 9PM and I think it finished sometime around 1AM - I was asleep, but it took care of the rebooting and all by itself. This was an upgrade over Server 2003, and it went very smoothly. All my software is still there, and it all works! Have to search for some 64-bit audio and video drivers to finish up, but that's a minor issue and to be expected.