Waxy.org
Waxy.org is the sandbox of Andy Baio, a journalist/programmer living in Portland, Oregon. I'm the CTO of Kickstarter, created Upcoming.org, and some other stuff too.

Contact Me: log@waxy.org or waxpancake on AIM

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
February 8, 2010
ChatRoulette, videochat with a random person — like Omegle with a webcam, randomly NSFW; YouTube has some great video captures (via)
Recursive webcast on Justin.tv — turn your radio down
Penn & Teller's Invisible Thread — 1987 short film finally digitized by a fan; cameos by James Randi, Andy Warhol, and Whodini
We love xkcd — geek all-star remake of the comic on the Discovery Channel ad
February 6, 2010
Choire Sicha interviews Paul Ford, Harper's web editor — "YOU ARE THE STUPIDEST WEBSITE IN STUPIDTOWN BECAUSE I WANT EVERYTHING FREE RIGHT NOW!"
Record Tripping — turntablist-inspired game samples Alice in Wonderland and music by Gorillaz, Beck, Death Cab for Cutie, and Spoon (via)
February 5, 2010
Patrick Stewart on Twitter, the Internet, iPhone, and games — simplicity, not brevity
Help Giant Robot — raising money for another year of publication
February 3, 2010
Shutup, disable comments on popular websites — related: Engadget disables comments and the Macheist team adds them to Daring Fireball
February 2, 2010
Where We Remain — you might also like Beulah & the Hundred Birds, also built on Flixel
Loudon Wainwright III on the Sound of Young America — very personal interview and great performances inspired by Charlie Poole
February 1, 2010
Google Chrome 4 adds support for native Greasemonkey scripts — yay!
Greg Knauss time-travels to visit his 1990 self — everything is amazing, nobody's happy
Gnilley, indie game where you kill enemies by screaming — see also: Racing Pitch
Ze Frank's Pain Pack — songs built from samples of people in emotional distress
January 31, 2010
HacKey, chart popular keys in your Last.fm favorites — 38% of my favorite songs are in C (via)
Kate Beaton illustrates the Gorey book covers — so good
January 30, 2010
Echo Nest previews new APIs — the search_tracks method sounds amazing
Bram Cohen takes on Freenode — even if the policy's dumb, this isn't the way to handle it
January 29, 2010
How to Report the News — from Charlie Brooker's News Wipe (via)
The Virtual Piano — way more fun than it should be (via)
Alaska Nanooks 2010 Hockey Intro — true to the spirit of the original, though more polished
Comedian asks New Yorkers to carry him across Manhattan — 155 people carried him 9.4 miles in below freezing temperatures (via)
January 28, 2010
Steven Frank on the iPad and a generational shift in computing — the single smartest essay I've read about the iPad yet
xkcd's Spirit — NASA's own WALL-E
Brandon Boyer asks indie game all-stars about the iPad — new music apps, cocktail-style gaming, and more complex game genres
J. D. Salinger, dead at 91 — "Who wants flowers when you're dead? Nobody."
Rafe Colburn on the iPad and the closed future of consumer computing — I'm concerned it'll shift creation to consumption; even the iPhone was better on that count
January 27, 2010
The Prisoner's Dilemma recreated in Mechanical Turk — gauging altruism and how priming changes behavior
Anil Dash on geek attention on the iPad vs. tonight's State of the Union — a little perspective

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