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
November 7, 2009
NYT visualizes the unemployment rate for different demographics — 48.5% of young black men without a high school degree; 3.6% of college-educated white women over 25
November 6, 2009
Another World level ported to Javascript — in other emulation news, a NES and Gameboy emulator in JS and SNES9x ported to Flash (via)
Blocktronics' ANSI art tribute to RaDMaN — powered by Viewtronics, Peter Nitsch's gorgeous new Flash 10 ANSI viewer (via)
Aaron Straup-Cope leaves Flickr, joins Stamen Design — one of my favorite geeks joins one of my favorite companies
Unreal Engine 3 development kit now free for non-commercial use — huge announcement, along with the recent free release of Unity Indie
The Big Picture's series on Martian landscapes — Kai's Power Tools in real-life (via)
November 5, 2009
Preview of McSweeney's Panorama, their one-shot newspaper — as expected, looks incredibly great (via)
The Grant-Pattishall Award — congrats, Kellan! (via)
Birdhouse for Your Soul — Greg Knauss finds one small piece of the historical web
Google open-sources Closure Tools — JS compiler, along with Google's huge widget library (via)
Video montage of actors speaking the movie's title — great comments with some missed opportunities; "You talkin' to me? You talkin' to The Taxi Driver?"
The Morning News' Cloud of Atlases — impossible to guess, but look at all the pretty colors
American Airlines fires UX designer for explaining why their UX isn't great — a lapse of judgment from both American Airlines and an employee who cared too much
November 4, 2009
Overheating, photo series of gadgets thrown through walls — from issue 6 of Amusement, the incredible French gaming culture magazine (via)
Ricardo Autobahn's The Golden Age of Video — insane pop culture video mashup
November 3, 2009
The Last Days of Gourmet — sad photo series, reminds me of the dot-com carnage photos
Put This On — first episode of Jesse Thorn and Adam Lisagor's Kickstarter-funded video series on clothing
Jono Bacon's The Art of Community released for free download under CC license — looks fantastic and worth buying (via)
Eric Testroete's papercraft portrait Halloween costume — incredibly creepy, like videogames leaking into the real world (via)
November 2, 2009
Mark Pilgrim's history of the IMG element — told through annotated conversations from 1993 (via)
Every vandalism edit to Nickelback's Wikipedia page — I wonder which edits managed to stay in the longest without detection
November 1, 2009
Mike Pusateri's Halloween costume data collection — for the fifth year, he's collected every costume name; this year, "nothing" spiked to #2
XKCD's movie narrative charts — here's a more serious attempt at Primer's timeline
October 30, 2009
GameCity Squared's 15-Pixel Megamix — extremely minimalist interpretations of 12 different games
October 29, 2009
Lauren McCarthy's Happiness Hat — it measures your smile and stabs you if you're not smiling sufficiently (via)
October 28, 2009
Auto Tune de Nieuws — needs an angry Dutch gorilla
Facebook prank memorializes living person — the Facebook team should allow an email veto, or at least require better documentation (via)
2D Boy's pay-what-you-like World of Goo results wrapup — don't miss the breakdown by OS and country (via)
FreeForm's short film on the Open Internet — impressive set of interviewees, directed by Jesse Dylan of Yes We Can fame
Using Flickr as a paintbrush — coloring overhead maps based on the dominant colors of photos taken on the ground (via)

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