Waxy.org
Waxy.org is the sandbox of Andy Baio, a writer and tech entrepreneur in Portland, OR. I work with Expert Labs, helped build Kickstarter, founded Upcoming, made an album, and other stuff too.

Contact Me: Email, AOL IM, or follow me on Twitter.

Backlinks

Posted May 10, 2002

Occasionally, there's an idea so simple and powerful that you have to drop whatever you're doing and implement it immediately.

Yesterday, I read the Jon Udell article that's making the rounds (via Mefi and Flutterby). I didn't immediately grok it, but seeing it in action (1, 2, 3) did the trick.

Visually, I was inspired by Mark Pilgrim's concise display, but didn't want to periodically parse through my Apache logs. I wanted real-time results without limiting myself to one particular web server log format. So I wrote a Perl script that's now included on every entry page via SSI, using flat files to store the data.

As a result, there may be some issues with scalability on heavily trafficked sites, but I'd think most weblogs wouldn't have a problem. Anyway, if you want to try it, all it requires is Perl, server-side includes, and a world-writable directory to store the files in. Download Waxy Backlinks now. Installation info inside.

Installation is pretty easy, so long as you know your way around a Unix shell.

1. Rename the file from backlink.txt to backlink.cgi.
2. Save the file to a directory readable by your web server and make it executable (e.g. 'chmod 755 backlink.cgi')
3. Create a directory to store the cache files in and make it world-writable (e.g. 'chmod 777 backlink_dir/')
4. Edit line 16 of backlink.cgi, changing the '$backlinkdir' directory to point to your own cache directory.
5. Add the following server-side include to your .shtml file(s), where you want the backlinks to be displayed:
<!--#exec cgi="/cgi/backlink.cgi" -->

That's it! If you'd like, you can optionally customize the display by changing the header, footer, and backlink HTML in the script. If you get stuck, I might be able to help.

8 Comments (Add Yours)

May 13, 2002
4:53 PM  
Andy Baio wrote:

Hmm, I think I need to add a couple features to the script. The ability to set a maximum number of links to display, a minimum threshold of visitors to display, and the option to group recent links by top-level domain. As you can see, it doesn't take long before the list of links gets unruly.


May 29, 2002
10:19 PM  
paul wrote:

This is super cool: I may clone it to track user agents the same way (keep an eye on robots vs real readers). I seem to be showing up in my own backlinks, even though I added myself to the "blacklist."


May 29, 2002
10:40 PM  
Andy Baio wrote:

Are you correctly adding your hostname to the @blacklist array? Try changing it to read something like:

my @blacklist = qw($ENV{HTTP_HOST} subdomain.example.com);


Aug 29, 2002
5:36 PM  
Dawn wrote:

Hi. Found this in a Mefi post which I found through google. Is this Perl script possible to implement on a PHP site. My pages are *.php, so I don't think I can run SSI on a php page. Thanks!


Aug 29, 2002
6:04 PM  
Andy Baio wrote:

I'd recommend using Phil Ringnalda's PHP port of my Backlink script, or this newer version of my script.


Jun 28, 2003
5:19 AM  
feri wrote:

Would you please help me to find out why the back link does not work?
http://www.alphatheme.com/b/archives/000008.shtml
I did try with and SSI works.
The path is also seems correct.
my $backlinkdir = '/home/virtual/site1/fst/var/www/cgi-bin/mt/backlink';

The code was:
I got an error so I did change it to:

I don't know what else should I check?
THX


Jul 16, 2003
2:04 PM  
Michael wrote:

I don't have any idea ... it just don't works.

on my indexpage it looks like:

[...]
echo $display;
?>


backlink.cgi looks like:

my $backlinkdir = '/usr/local/httpd/htdocs/kunden/web121/html/public/backlink';

php = 0

www.feiern-events.com


Jun 20, 2004
8:58 PM  
Steve wrote:

Interesting, I'm gonna try this script...


 
Waxy Links
Ads via The Deck
May 15, 2012
Ignore Hitler — Draw Something spawns a meme; I like the meta one (via)
Austin Seraphin on learning echolocation — he's a real-life Daredevil
Mat Honan's feature on Yahoo's mismanagement of Flickr — a depressing read, especially while seeing the team release great new features
May 14, 2012
Make interviews Bunnie Huang on the end of Chumby — sad end to a promising product, I received one of the prototypes at Foo Camp in 2006
Rebecca Sugar's Singles — file under: scenarios I'd like to play in a videogame
SMBC on hell — sounds about right
GameBoy Color emulator in JS — the source is on Github (via)
60,000 Dominoes — 65 hours over eight days; the blooper reel was hypnotic (via)
OAuth Is Your Future — Dan Hon snaps some screenshots from the near future
May 13, 2012
Fracuum — winner of Ludum Dare 23; every winner is worth playing
May 11, 2012
Welcome to Life — "the Singularity, ruined by lawyers" (via)
BusinessWeek on the post-Kickstarter life of Diaspora — the founders talk about the Ilya's tragic suicide for the first time
Anachronism detection in Mad Men episodes — language studies from the person who did the frequency analysis for Downtown Abbey (via)
Verge feature on Scamworld, the inside look at Internet scams — incredibly deep investigation and short film, brilliantly made (via)
Hartverdrahtet — amazing 4k intro from the PC demoscene (via)
Mike Birbiglia's short film from This American Life — starring Fresh Air's Terry Gross
Chris Poole's talk on the shifting meme landscape at ROFLCon — the shift away from interest-based web communities towards social networks
Robot butt that represents emotions — I'm hoping someone turns this into a drone
May 10, 2012
Gina Trapani on the failings of "brogrammer" culture — holy hell, the comments are awful
Dustin Curtis on pixel fitting rasterized vector images — best explanation of a long-standing issue I've seen
Mitt Romney bullied gay students in high school — people change, just so long as he takes ownership of his actions; oh, wait
Walt Disney's Taxi Driver — the scene starting at 3:45 is like a parallel universe remake of Roger Rabbit (via)
Ben Jackson on memes, the Internet, and the divine — "The memes we choose to elevate to Internet fame are the product of the purest form of democracy ever invented"
May 9, 2012
Recursive Drawing — watch the video or it won't make any sense
The Forger — for fans of Kutiman's ThruYOU, found footage beat mashups from Meat Beat Manifesto's Jack Dangers
May 8, 2012
Steve Albini AMA on Reddit — "There won't ever be a mass-market record industry again, and that's fine with me"
Maurice Sendak, rest in peace — goodnight, Max
May 7, 2012
Tinkercad — amazing WebGL CAD designer that prints to Makerbot, Shapeways, and Ponoko
Mechanizing a miniature Main Street Electrical Parade — wonderful attention to detail; watch the finished parade (via)
LA Times on American Airlines' attempt to revoke its all-you-can-fly passes — the company regretted its short-sighted decision to offer lifetime first-class travel (via)

Andy Baio lives here. Some rights reserved, for your pleasure.