Nur halb so schlimm: Eigene Short-URLs

05 09 2009

Vor einiger Zeit habe ich gefordert, dass größere und oft bei Twitter verlinkte Seiten eigene kurze URLs für ihren Content anbieten. Neulich erst habe ich mir dann Gedanken gemacht, wie man Short-URLs und so verüberflüssigen kann. Auf diese große Lösung mag ich nicht warten, aber zumindest bei der kleinen Lösung kann ich mit gutem Beispiel voran gehen. Also habe ich gerade schnell ein kurzes Script geschrieben, das kurze URLs für mein Blog in die vollen URLs umsetzt. Zum Beispiel lautet für diesen Eintrag die kurze URL http://spackblog.de/668, was mit 23 Zeichen deutlich kürzer ist als die verdammt lange volle URL und vor allem kürzer als 30 Zeichen, ab denen Twitter ungefragt mit bit.ly verkürzt.

Ich hatte eine Weile überlegt, diese Funktionalität als Serendipity-PlugIn zu veröffentlichen, aber das habe ich aus verschiedenen Gründen nicht gemacht. Ein Grund ist, dass mich ein undankbarer Vollspacko im S9Y-Forum angesaugt und als Schnösel bezeichnet hat, als ich mein letztes PlugIn dort vorgestellt habe. Ich will da gar nicht genauer drauf eingehen, Folge ist jedenfalls, dass meine Lust auf die extra Arbeit für ein S9Y-PlugIn dadurch doch sehr gesunken ist. Ein weiterer Grund ist, dass der generierte Link irgendwo im Template und noch mal im Header positioniert werden muss, damit es Sinn macht. Das kann ein PlugIn nicht flexibel alleine regeln. Man könnte den Link allenfalls dort hinpacken, wo momentan auch die Tags sind, aber das gefällt sicher nicht jedem. An die .htaccess des Blogs, oder wenn dieses in einem Unterverzeichnis steckt auch an die .htaccess der Domain muss man auch noch ran. Spricht alles gegen ein PlugIn. Sowas gehört in meinen Augen sowieso in den S9Y-Core.

Das Script funktioniert super simpel. Alles fängt mit einer Anweisung in der .htaccess an, die alles, was nach kurz-URL aussieht an das Script weiterreicht:

RewriteEngine On
RewriteBase /
RewriteRule ^(e|a|c)?([0-9]+)/?$ s9y_shorturl.php?type=$1&id=$2 [NC,L]

Man kann schon sehen, dass das Script auch kurze URLs für Kategorien und Autoren unterstützt. Der spannende Teil im Script selber ist die Datenbankabfrage, die die kurze URL aus der Datenbank ausliest:


// open a database-connection
$dbh = new PDO('mysql:host=' . $db_server . ';dbname=' . $db_database, $db_user, $db_pass);

// prepare the statement
$stmt = $dbh->prepare('SELECT permalink
  FROM s9y_permalinks
  WHERE type = :type
    AND entry_id = :entry_id
  LIMIT 1');

// execute the statement
$stmt->execute(array(':type' => $type, ':entry_id' => $entry_id));
  
// read the returned urlpart
$urlpart = $stmt->fetchColumn();

// close the database-connection
$dbh = null;

// redirect the user with a 301 status code (moved permanently)
header('Location: ' $blog_base_url . $urlpart, true, 301);
exit;

Der Rest vom Script besteht aus Fehlerbehandlung und Variablen-Vorbereitung, die ich hier mal weg lasse. Der ganze Code findet sich im Nachtrag zum Download. Damit ist der erste Teil schon fertig, der die kurzen URLs auflöst. Für die kurzen URLs werden einfach die von Serendipity vergebenen IDs genutzt, der Parameter type kann übrigens 'entry', 'category' oder 'author' sein. S9Y führt eine eigene Tabelle für die Zuordnung von IDs und URLs, die man nur abfragen muss.

Der zweite Teil ist leider Handarbeit im Template. Man muss dazu an der Stelle, wo der Link auftauchen soll folgenden Code in der entries.tpl platzieren: <a href="http://SHORTURL_DOMAIN/{$entry.id}">http://SHORTURL_DOMAIN/{$entry.id}</a>. SHORTURL_DOMAIN muss natürlich durch die jeweilige URL ersetzt werden, in meinem Fall ist das tatsächlich eine andere Domain als die, auf der das Blog läuft. Ich habe zusätzlich noch in der index.tpl im Headerbereich im {if $entry.id} Block einen Short-URl Autodiscovery Link eingefügt, wie er hier beschrieben ist.

Das ganze arbeitet extrem simpel und macht genau das, was es soll: Wenn jemand meinen Blog bei Twitter und Co. verlinken will, kann jetzt meine 23 stellige Kurz-URL hernehmen und sich so den Scheiß mit den verkürzten URLs sparen, bei denen man nicht weiß, wohin sie eigentlich linken. Alle Seiten sollten solche eigenen Kurz-URLs haben, dann wäre das mit Twitter nur noch halb so schlimm.

Nachtrag 24.02.2011: Weil eine Anfrage nach dem vollen Code kam, habe ich den mal hübsch gemacht und zum Download bereit gestellt. Das Script selber hat außer PHP 5.1 mit PDO keine Abhängigkeiten und stört auch andere Scripte nicht, solange sich die Rewrite-Regeln in der .htaccess vertragen. Wer ganz sicher gehen will, betreibt das alleine auf einer (Sub-)Domain. Viel Spaß damit. Ach ja, Lizenz ist cc-by-sa, das sollte genug Freiheiten lassen.


Es muss weh tun, aber so richtig!

02 09 2009

Der Sportartikelhersteller JAKO ist plötzlich in aller Munde. Binnen 48 Stunden erlangt die Marke die traurige Berühmtheit, die dreisteste und unangemessenste Blogger-Abmahnung weit und breit verbrochen zu haben. Die Ausgangslage gibts als Kurzfassung im Wikipedia-Eintrag zu JAKO (vorsicht: Edit-War) und eine wirklich gute Zusammenfassung des Falls liefert Thomas Knüwer im Handelsblatt.

Es ging richtig los, als ein recht gut gelesener Blog die Story aufgreift und sich die Story über Twitter innerhalb weniger Stunden durch die ganze deutsche Bloglandschaft verbreitet, wie ein Lauffeuer. Blogger reagieren extrem empfindlich auf solche Storys, weil solche Willkür jederzeit auch sie treffen kann. Und diese Variante ist neu und macht einfach nur sprachlos in ihrer realitätsverneinenden Dreistigkeit. Das ist eine neue Stufe im Abmahnwahn. Natürlich solidarisiert man sich spontan, regt sich unheimlich auf. Tags drauf erreicht die Story Spiegel Online und andere Medien (etwa heise.de oder HORIZONT.NET), das Agenda Setting von Twitter und den Blogs funktioniert inzwischen recht gut. Man spricht von einem PR-GAU erster Kajüte. Und ja, das ist es allerdings, und zwar zu Recht!

Jedes Unternehmen, das meint, in einer derartigen Form auftreten zu können, muss bluten. Es muss weh tun. Es muss ein abschreckendes Beispiel abgeben, dass sich so ein Mist nicht lohnt, sondern zu einem Bumerang schrecklichen Ausmaßes wird. Ich warte auf ein Unternehmen, dessen Untergang auf so einem Scheiß basiert und dessen Fall die PR- und Unternehmensführungsliteraur schmückt. In meinem Studium kam Unternehmensethik durchaus vor und auch der Umgang mit Kritik: Nestlé war mit seinem Milchpulver-Skandal ein Beispiel und Shell mit der Brent Spar, die Sache ist also nichts neues. Wirkt sich das in der Praxis aus? Nein. Die ganzen Business Kasper müssen eingebleut bekommen, wie man sich unternehmensethisch korrekt verhält. Im Internet scheint das noch nicht bei allzu vielen angekommen zu sein. Das, was JAKO da rausgehauen hat ist derart mustergültig asozial und falsch, dass es brummt. Ich kann wirklich nur hoffen, dass JAKO diesen Skandal auch zahlenmäßig operationalisiert aufs Brot geschmiert bekommt. Nur harte Zahlen können wirklich etwas bewegen bei ahnungslosen Entscheidern.

Aus der Geschichte lassen sich zwei Forderungen ableiten: Zum einen sehe ich eine Teilschuld ganz klar beim schief hängenden Instrument der Abmahnung. Was spricht dagegen, wie in England eine vorherige kostenfreie Anfrage bezüglich der Entfernung des Abmahngegenstandes vorzuschreiben? Ein einfacher Anruf oder eine simple E-Mail würde reichen, um die meisten Streitereien im Keim zu ersticken, schnell und unbürokratisch. Eine Abmahnung kann man immer noch raushauen, wenn das nicht fruchtet. Die zweite Forderung kommt ins Spiel, wenn die Rechtslage so bleibt: Es gibt Bedarf für ein allgemeines Verzeichnis zu Unrecht oder übertrieben abmahnender Unternehmen. Ein Zentralregister für Rechtsmittelmissbrauch quasi. Das Instrument Abmahnung ist ja mit Absicht so aufgebaut, wie es ist. Dass es derart massenhaft und haarsträubend missbraucht wird, ist ein recht neues Problem und ist mit dem Internet ins Spiel gekommen. Und das funktioniert nur, weil plötzlich Unternehmen mit Rechtsabteilung gegen leicht einzuschüchterne Bürger antreten. Da ist viel zu holen. Ein prima Thema also für die Piratenpartei, denn die etablierten Parteien kümmern sich schon seit Jahren nur halbherzig oder gar nicht um das Thema.

P.S. Natürlich hat JAKO sich auch noch einen denkbar ungünstigen Zeitpunkt für seine Aktion ausgesucht: Die Netzaktivistenszene hat sich gerade erst schlagfertig aufgebaut für einen Kampf gegen all diesen Mist, die Stimmung ist nicht zuletzt wegen des Wahlkampfes extrem aufgeheizt, die Multiplikatormaschine läuft auf Hochtouren. Und dann kommt da so ein Unternehmen angestolpert, gerät volles Rohr in diese Maschine und bekommt all den grassierenden Unmut stellvertretend für die CDU volle Breitseite ab. Gegen einen deutlichen Wahlsieg der Internetausdrucker wird man nicht viel ausrichten können, aber die dafür in Stellung gebrachte Kampfkraft kann man ja mal am nächstbesten Unternehmen ausprobieren, das es sich verdient hat. Hätte JAKO die Nummer vor einem Jahr gebracht, wäre die Sache sicher anders ausgegangen.

Nachtrag 03.09.2009: Im Wikipedia-Eintrag herrscht gerade ein Edit-War über den Eintrag, deswegen gibts die schöne Kurzfassung vielleicht gerade nicht. Langfristig wird sie aber drin stehen, deswegen bleibt der Link.

Nachtrag 04.09.2009: JAKO hat inzwischen eine Pressemitteilung veröffentlicht, in der man einräumt überreagiert zu haben. Kein Wort zur haarsträubenden Rechtsauffassung, die im Anwaltsschreiben sehr klar formuliert war (siehe Urprungseintrag auf allesaussersport.de), weiter spricht man in scheinbar leicht beleidigtem Ton:

Ohne die endgültige Klärung des Sachverhalts unter den Rechtsanwälten abzuwarten, alarmierte Baade daraufhin die Bloggerszene.[…]

Wir haben uns rein rechtlich überhaupt nichts vorzuwerfen, betont Rudi Sprügel, aber rückblickend betrachtet, wäre es viel besser gewesen, wir hätten mit Herrn Baade persönlich Kontakt aufgenommen und die Sache mit ihm direkt geklärt. Sprügel bedauert, dass sich die Auseinandersetzung unnötigerweise so aufgeschaukelt hat.

Ein echtes Mea Culpa sieht anders aus, aber was will man von einer Pressemitteilung anderes erwarten. Der ganze Text versucht krampfhaft, JAKO in der Sache noch halbwegs gut aussehen zu lassen. Wo ist das Signal, dass Jako und seine Rechtsberater in Zukunft vorher nachdenken und nicht nachher? Ich bin mir sicher, dass beide Seiten aus dieser unerfreulichen Geschichte gelernt haben. ist zu schwammig. Was hat JAKO aus der Sache gelernt? Sieht man ein, dass Abmahnungen der falsche Weg sind, mit Kritik umzugehen? Dass man sich einfach melden könnte und solche Sachen gütlich klären oder eben auch mal Kritik, auch unsachliche, einfach hinnehmen? Immerhin räumt man ein, dass die zweite Eskalationsstufe überreagiert war. Der Chef will sich zudem dafür einsetzen (nur einsetzen?), dass Trainer Baade keine finanziellen Nachteile erwachsen und lädt ihn zu einem Gespräch in die Firmenzentrale ein. Mir reicht das nicht für eine volle Rehabilitation. Diese Reaktion ist wirklich nur das mindeste, was JAKO tun konnte, damit es nicht noch schlimmer wird; um das Image zu reparieren, wäre aber mehr nötig. In der Uni lernt man zum Thema Krisen-PR recht klare Anweisungen, daran sollte sich auch JAKO halten. Kurz gesagt: Man geht offen auf die Kritiker zu, redet Klartext, räumt berechtigte Kritik in vollem Umfang ein, verspricht für die Zukunft Besserung im Sinne von Besserung und nicht nur "kommt nicht nochmal vor, ihr Spackos". Welche konkreten Maßnahmen hat das Unternehmen eingeleitet, um den Dialog mit den Kunden zu verbessern? Vielleicht verspricht man sogar, in Zukunft an der Diskussion teilzunehmen statt sie unterdrücken zu wollen. Und vielleicht tut man das sogar auch noch und stellt einen Community-Manager ein, der kein PRler ist, sondern eben ein Community-Manager. So kann man den Vorfall sogar ins Positive drehen, das geläuterte Unternehmen. Nur muss man das auch tun und nicht nur versprechen, sonst wird jemand garantiert die Aussagen in einem Jahr noch mal auf den Tisch holen und überprüfen. Im Übrigen ist ein Community-Manager sowieso keine schlechte Idee, auch ohne Krise. Der Community-Manager sucht Diskussionen über JAKO im Netz und klinkt sich ein, wo Kritik oder Wünsche geäußert werden. Das tut er offen als Firmenmitarbeiter und bietet Lösungen auf dem kleinen Dienstweg an. Fußballclubs haben selbstverständlich Fanbetreuer, der Community-Manager ist sowas ähnliches, nur eben für die Kunden und im Internet.