Es gibt einige Dienste die ich ungern aus der eigenen Kontrolle gebe. Dazu gehört auch das kürzen von URLs. Ich verwende ziemlich häufig an diversen Stellen Short-URLs und es wäre mehr als ärgerlich, wenn eines Tages der bevorzugte Anbieter seinen Laden schließt und alle Links unbrauchbar werden. Die Entscheidung zum Betrieb eines eigenen Shorteners ist mir daher ziemlich leicht gefallen.

1. Kurze URL
Am besten eignet sich für die angestrebte Verwendung eine möglichst kurze Domain mit nur zwei oder drei Stellen. Ich habe mich der Einfachheit halber für eine .de-Domain mit drei Stellen entschieden. Einen guten Überblick über die wenigen noch freien kurzen Domains gibt die Webseite short-domains.de

short-domains.de

Im Bereich „Domain Listen“ bin ich fündig geworden und habe mir dann x9u.de registriert. Klar, die Domains sind nicht der Knaller, aber ohne viel Geld in die Hand zu nehmen dürften knallige kurze Domains kaum zu bekommen sein – jedenfalls nicht bei der .de-Endung.

2. URL-Shortener-Script
Als Script für meinen Shortener habe ich YOURLS gewählt.

Features
– Der Dienst kann öffentlich oder privat betrieben werden
– Zufälliges kürzen oder URL-Keyword möglich
– Bookmarklet
– Click-Tracking
– Ajax-Interface
– API

Systemvoraussetzungen
– Server mit mod_rewrite- Mindestens PHP 4.3
– Mindestens MySQL 4.1
– Empfohlen wird Curl und BCMath

Backend von YOURLS

YOURLS unterstützt URL-Keywords mit bis zu 12 Zeichen. Möglich sind insgesamt 4,738,381,338,321,617,846 URLs.

3. Platzhalterseite für die Short-URL
Bei privatem Betrieb bietet es sich an, einen Platzhalter auf die Domain des Shorteners zu schalten der z.B. die letzten oder beliebtesten Links anzeigt. YOURLS bietet mit seiner API alle Möglichkeiten um sich auszulassen. Beispiel wie man sich die letzten 5 Links zieht:

$username = 'USERNAME';
$password = 'PASSWORD';
$api_url = 'URL DER API';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'action' => 'stats',
'filter' => 'last',
'limit' => '5',
'format' => 'xml',
'username' => $username,
'password' => $password
));
$data = curl_exec($ch);
curl_close($ch);

4. WordPress-Plugin
YOURLS kommt mit einem WordPress-Plugin, dass für neue Postings oder Pages eine Short-URLs erzeugt und direkt einen Tweet an Twitter sendet.

YOURLS WordPress-Plugin

Dazu kann das Plugin Remote auf eine eigene YOURLS-Installation zugreifen oder auch andere Dienste wie tinyurl nutzen (was ich in dem Zusammenhang allerdings für überflüssig halte). So ist es z.B. möglich Short-URLs mehrere Blogs oder Webseiten zentral mit einer Installation zu erzeugen.

Mit dem oben erklärten Setup geht es mirnun wesentlich besser weil ich weiß das meine Short-URLs auch noch in sehr, sehr langer zeit verfügbar sein werden. Ich kann das nur weiterempfehlen. Echter Aufwand entsteht bei der Einrichtung ja nicht.