Archive of UserLand's first discussion group, started October 5, 1998.

redirect.userland.com

Author:Dave Winer
Posted:10/11/1999; 7:24:43 AM
Topic:redirect.userland.com
Msg #:11912
Prev/Next:11910 / 11913

A new virtual server

Over the weekend we brought up a new virtual server, redirect.userland.com.

It's really simple. Here's how it works. This link:

http://redirect.userland.com/redirect$http://www.wired.com/

takes you to the Wired News home page, but along the way it goes thru my server where it tallies the hit, and notes the referer URI.

An open toe-dip

I also set it up so that all links from Scripting News, as they appear on the "My.UserLand" page, go thru this redirector. Instead of picking someone else's channel as the guinea pig, I'm using my own. I want to see if there are user complaints. It's a fairly common practice, and it's a cornerstone feature of the monetization of syndication and aggregation, as we do it at UserLand. This change happened yesterday and it seems to be working!

The next dip

Jon Udell wrote a great piece on Byte.Com this morning. He always tackles the tough subjects. He's my friend, so I don't think he'll mind that I took the opportunity to pass his story thru my redirector. It's Monday morning, I'm probably going to deliver a fair number of hits to his story.

Let's find out how many. That's the purpose of the redirection. Let's find out what the value of a link on Scripting News is today, and this will give me a way to measure the effect of things we do to increase the value of such a link.

A simple script

It was incredibly simple to reprogram the aggregator to add the redirection to a channel based on a boolean in its service table. And of course it's simple to do the redirection. Here's the code that does the tracking, this code executes every time a link passes thru the redirector:

local (pta = html.getPageTableAddress ());
local (url = string.urldecode (pta^.pathargs)); //the stuff after the $
local (now = clock.now ());
local (adrcal = @redirectData.redirects);
local (adrday = mainResponder.calendar.getDayAddress (adrcal, now));
local (adrlink = @adrday^.[url]);
if not defined (adrlink^) {
	new (tabletype, adrlink)};
bundle { //bump hitcount
	if defined (adrlink^.hitcount) {
		adrlink^.hitcount++}
	else {
		adrlink^.hitcount = 1}};
bundle { //add referer info
	try { //some HTTP requests don't have referers
		if not defined (adrlink^.referers) {
			new (tabletype, @adrlink^.referers)};
		local (adrreferer = @adrlink^.referers.[pta^.requestheaders.referer]);
		if defined (adrreferer^) {
			adrreferer^++}
		else {
			adrreferer^ = 1}}};
mainResponder.redirect (url)

Statistics

Here's a screen shot I took after the redirector had been running for a few minutes:

http://www.outliners.com/images/frontier6/redirectData.gif

The same information on an HTML page (not frozen in time):

http://redirect.userland.com/report




There are responses to this message:


This page was archived on 6/13/2001; 4:53:00 PM.

© Copyright 1998-2001 UserLand Software, Inc.