Waxy.org
Waxy.org is the sandbox of Andy Baio, a journalist/programmer living in Portland, Oregon. I work on Kickstarter, created Upcoming.org, made an album, 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
September 1, 2010
Bear's Double Rainbow ad for Microsoft — also: meet Bear (via)
First details on Telltale's episodic Back to the Future game emerge — they also secured rights to make games based on Jurassic Park
Cee Lo Green's official video for F**K YOU — even better than the typography video, I'm perfectly content to have this song stuck in my head 24/7
Slate interviews Innocence Project cofounder about false convictions — over 250 people have been freed by new DNA evidence, many of them with false confessions
Unreal Engine 3 tech demo Epic Citadel for the iPhone/iPad — impressive tech demo, now available for free
GameSetWatch covers Assembly 2010's PC demo contest — if you have the hardware, I highly recommend trying out the two winners yourself
Apple announces Ping, a social network built into iTunes — their first foray into social, finally; seems inevitable that app/location/TV/music sharing will follow
August 31, 2010
All four issues of Daniel Raeburn's The Imp available for free download — highly recommended, covers Daniel Clowes, Jack Chick, Chris Ware, and dirty Mexican comics (via)
Eclectic Method's 8-bit Mixtape — not particularly great music, but the visuals make it (via)
Vanity Fair's glimpse into the day in the life of the President — long, must-read look at the insane complexity of today's political landscape
Lanyrd, social conference directory — brilliantly executed social event discovery; it should be pronounced "La Nerd"
Copyrighting Fashion — a new bill would subject fashion to copyright, but at what cost?
Tom Scott's Evil hack shows phone numbers exposed by Facebook users — culled from public "lost my phone" groups
Unhear It — replace one earworm with another
August 30, 2010
Stay Free's Illegal Art mix tape — the files all moved here
Mads Peitersen's paintings of gadget anatomy — love the iPhone guts (via)
Hark! A Vagrant's Nancy Drew covers — previously: the Gorey covers
Markov chaining Kickstarter blurbs — this also doubles as a Kickstarter project idea generator
Pomplamoose teams up with Ben Folds & Nick Hornby — Hornby wrote all the lyrics for Folds' new album (via)
The Wilderness Downtown — an HTML5 music video for Arcade Fire with some fun geo integration
August 29, 2010
Swarmation — like musical chairs for pixels (via)
August 28, 2010
Disney remixes old cartoons into "Blam!" — truly awful
August 27, 2010
PieLabPDX food cart makes customers play games to buy pie — they had to win a game of Rock Scissors Paper to get their choice
Dirpy — convert YouTube videos to MP3s with surprisingly deep transcoding options
Indie Game: The Movie interviews Adam Saltsman on Canabalt — every one of these shorts gets me more excited for the full-length film
August 26, 2010
Jerry Stiller Unscripted — an adorable encounter with the owners of the Costanza house
Members of Paramore, New Found Glory, and Relient K cover "Bed Intruder Song" — the original broke the Billboard Top 100 (via)
Happylife — prototype device ambiently shows a family's collective mood (via)
"Learning to Be Me" by Greg Egan — a better-written short story with a similar theme as "Where Am I?"
"Where Am I?" by Daniel Dennett — short sci-fi story from 1978 about where consciousness resides (via)

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