19.07.2010 15:39 von Schnurpselchen in
Internet,
PHP,
Programmierung,
Tips & Tricks,
Wordpress
Seit es Twitter und anderen Kurznachrichtendienste gibt, sind kurze URLs sehr wichtig geworden. Bei Wordperess sind Shortlinks schon lange quasi “ab Werk” eingebaut. Man muße einfach nur die Artikel-ID als Parameter p mit der Seite aufrufen (putzlowitsch.de/?p=1649).
Das funktioniert auch für Attachments wie Bilder, Sounds und sonstige Dateien, die über Wordpress hochgeladen und mit der Mediathek verwaltet werden. Allerdings wird hier nicht auf die Datei selbst, sondern auf die Attachment-Seite weitergeleitet (putzlowitsch.de/?p=1650).
Um nun auch direkt auf Dateien shortlinken zu können, sind nur ein paar Zeilen PHP-Code notwendig. Ich habe dafür als Alternative zum Parameter p wie Post den neuen Parameter a wie Attachment eingeführt. Der Aufruf erfolgt dann mit putzlowitsch.de/?a=1650. Die Funktionen habe ich ein kleines Plugin gepackt, wem zu viele Plugins nicht gefallen, kann auch einfach den Quelltext in der Datei functions.php seines Themes einfügen:
function plw123as_redirect_canonical( $redirect_url, $requested_url ) {
global $wp_query;
if( isset($wp_query->query_vars['a']) ) {
$id = intval( $wp_query->query_vars['a'] );
$url = wp_get_attachment_url( $id );
if( '' == $url ) {
$wp_query->set_404();
status_header( 404 );
$redirect_url = false;
}
else
$redirect_url = $url;
}
return $redirect_url;
}
function plw123as_init() {
global $wp;
// Variable bekannt machen
$wp->add_query_var( 'a' );
add_filter( 'redirect_canonical', 'plw123as_redirect_canonical', 10, 2 );
}
add_action( 'init', 'plw123as_init' );
Download: 123 Attachment Shortlink 0.10
Ich wurde übrigens so ein bißchen von der Statusupdate mit Bildern-Sache zu diesem kleinen PHP-Code angeregt. Kann ja nicht sein, das ich für direkte Links auf Bilder elendig lange URLs verwenden muß. :-)
Nachtrag 16:30 Uhr

Leider wertet die Googlesuche nach Statusupdates eine Weiterleitung auf ein Bild nicht als Bild selbst. Die Bild-URL wird zwar aufgelöst, das Bild aber nicht angezeigt. Schade! Vielleicht ändert sich das ja noch…
Nachtrag 17:45 Uhr
Hmmm, scheint doch mit den weitergeleiteten Bildern bei Google-Statusupdates zu funktionieren, aber nicht immer oder nur manchmal, keine Ahnung…
0 Kommentare »
28.06.2010 23:01 von Schnurpselchen in
Blog,
Internet
Ich nehme nicht am iPhone4Spiel teil, weil ich die Wettbewerbsbedingungen nicht erfülle. Es fehlen die zwei Zwangslinks, welche für die Teilnahme vorgeschrieben sind. Bei meiner “SEO-Wettbewerbe und -Experimente“-Seite hatte ich zwar zunächst den Link zum Veranstalter und zum Stifter des Gewinnes drin, habe nun aber den Link zum Sponsor entfernt und den Link zum Veranstalter auf nofollow gesetzt. Den Link zum Ausrichter des Wettbewerbs hatte ich bei den anderen Wettbewerben auch drin, deshalb bleibt er da.
Ich kann den ausgelobten Preis, ein iPhone 4 32GB, gar nicht gewinnen. Naja, selbst wenn ich die Wettbewerbsbedingungen erfüllen würde, hätte ich keine Chance. Schließlich würde ich es nicht auf den ersten Platz bei Google schaffen, wenn überhaupt, dann höchstens mit einem Bild in der Bildersuche. Aber das zählt sowieso nicht und es wird kaum jemand darauf optimieren. Also wäre es auch kein richtiger Wettbewerb.
Was mir einfach fehlt, ist Link-Power. Und sowas kann man nicht eben mal schnell aufbauen. Naja, ich könnte vielleicht diese Portale für “Pressemitteilungen” fluten, das scheint bei anderen zu funktionieren. :-) Aber letztendlich habe ich keine Ambitionen, zu gewinnen. Ich betrachte, beobachte, bewerte und berichte. Kann man viellecht wieder was dabei lernen.
3 Kommentare »
29.01.2010 18:01 von Schnurpselchen in
Internet
Das habe ich grad erst zufällig entdeckt. Twitter hat beim Webinterface die Zwangsverkürzung von Links ab 30 Zeichen Länge abgeschaltet. Somit kann ich z.B. für meine Blogartikel wieder die Permalinks in voller Schönheit posten, ohne die Wordpress-Shortlinks nutzen zu müssen.
Einen kleinen Hinweis daraus findet man auch im Twitter-Hilfe-Forum:
“Twitter used to shorten links automatically but we do not any longer.”
So, mal sehen, ob es stimmt :-)
Nachtrag 22:00 Uhr:
Ja, funktioniert so weit. Nur habe ich nicht bedacht, das bei einem Retweet dann eventuell die 140-Zeichengrenze überschritten wird. Das ist zwar direkt auf twitter.com nicht weiter schlimm und wird trotzdem in voller Länge angezeigt:

Im Feed und vermutlich beim Zugrifff mit den API-Funktionen wird allerdings ab 137 Zeichen abgeschnitten. Da nun der Link am Ende stand, stimmt der dann nicht mehr. So haben dann diverse Twitter-Abfrage-Bots bversucht, diesen falschen Link aufzurufen:
/ueber-kurz-oder-lang-twitter-laesst-wieder-lan
Naja, ist halt Pech. Da werde ich demnächst versuchen, die Links möglichst nicht am Ende zu platzieren. Oder ich nehme doch wieder die wordpresseigenen Kurzlinks mit der Artikel-ID.
0 Kommentare »
02.12.2009 22:15 von Schnurpselchen in
Blog,
Wordpress

Ich bin ja kein Freund von diesen URL-Verkürzungsdiensten. Bei Twitter kommt man allerdings praktisch nicht drumrum, die Links möglichst kurz zu halten. Einerseits um natürlich nicht so viele von den kostbaren 140 Zeichen zu verschwenden. Andererseits schlägt bei Links mit mehr als 30 Zeichen automatisch der bit.ly-Verkürzer zu, ob man das nun will oder nicht. Deshalb verwende ich für Links auf eigene Blogbeiträge den in Wordpress schon eingebauten “Shortlink-Dienst“, der einfach über die Artikel-ID funktioniert und zwar immer, egal ob und was man nun bei den Permalinks eingestellt hat.
Bisher wurde diese Links im Twitter-Webinterface auch brav wie alle anderen Links anklickbar umgesetzt. Heute ist mir nun aufgefallen, daß die Anklickbarkeit direkt mit dem Hostnamen endet. Also klickt man sich nur zur Startseite und nicht zum konkreten Artikel. Es scheint so zu sein, daß ab dem Fragezeichen alles ignoriert wird. Finde ich nicht gut und hoffe, daß das nicht so bleibt. Oder ist es gar kein Bug, sondern ein Feature? Aber wozu soll das gut sein?
0 Kommentare »
05.07.2009 22:47 von Schnurpselchen in
Internet
Kurz ist besser
Kürzlich schrieb ich über das Risiko mit URL-Verkürzern wie TinyURL und Konsorten. Groß in Mode gekommen sind diese besonders auch mit Twitter, denn da stehen für einen geistigen Erguß gerade mal 140 Zeichen zur Verfügung. Wenn man nun gerne dem interessierten Leser zum Text auch noch einen interessanten, themenrelavanten Link mitgeben will, kann es knapp werden. Hier kommen dann die Linkdienste ins Spiel, denn die vielleicht über 100 Zeichen lange URL schrumpft auf angenehme 25 Zeichen.
Für Wordpress-Blogs (und möglicherweise andere) geht es auch einfacher, denn bei Wordpress sind kurze URLs und damit kurze Links (Shortlinks) bereits eingebaut. Am Beispiel der längsten URL hier bei Putzlowitsch sieht das so aus:
http://www.putzlowitsch.de/2007/08/23/urlaub-eberswalde-wehrkreiskommando-familiengarten-schiffshebewerk-kloster-chorin-o-bus/
wird zu
http://putzlowitsch.de/?p=362
Der obere Link ist 126 Zeichen lang, da blieben bei Twitter gerade mal noch 14 Zeichen für den Text übrig. Der WP-Shortlink hat nur 29 Zeichen, es bleiben also mehr als 100 Zeichen für den 140-Zeichen-Twitter-Text.
So funktionierts
Bei Wordpress (WP) wird jeder Artikel unter einer eindeutigen ID abgespeichert und ist über diese ID auch ansprechbar. Das ist der Standard bei einer WP-Neuinstallation und erst durch das Konfigurieren der sogenannten Permalinks kommt die lange URL zustande, die üblicherwweise aus den Wörtern des Titels besteht.
Wo bekommt man nun aber die ID eines Artikels her? Manchmal steht sie mit in der langen URL drin, wie z.B. bei akkordwechsel (am Anfang) oder schnurpsel (am Ende). Oder man guckt in den Quelltext der Seite und findet z.B. bei mir hier
<div class="entry" id="artikel-1368">
oder beim tagSEOBlog
<div class="post" id="post-1524">
Falls so ein div-Dingens niht zu finden ist, lohnt es sich im Seitenquelltext weiter unten nachzuschauen. Dort steht, so vorhanden, das Formular für Kommentare. Normalerweise wird hier die ID des Artikels in einem unsichtbaren Feld vermerkt
<input type="hidden" name="comment_post_ID" value="1368" />
damit Wordpress weiß, zu welchem Artikel der Kommentar gehören soll. Am schnellsten wird man fündig, wenn man im Quelltext der Seite nach comment_post_ID sucht.
Wenn nun Wordpress so einen Link der Form /?p=123 übergeben bekommt und feststellt, daß aber Permalinks konfiguriert sind, dann wird einfach auf die lange URL weitergeleitet. Etwas anderes macht ein URL-Verkürzungsdienst auch nicht. Zudem kann man auch das www weglassen, denn seit Version 2.3 erzeugt Wordpress auch in dem Fall eine Weiterleitung auf die konfigurierte Adresse mit (oder ohne) www.
Was bringts?
Neben dem Vorteil, nicht den Fehlern, Problemen, Sicherheitslücken und Ausfällen externer Dienste ausgeliefert zu sein, sieht man dem Link sofort an, auf welche Website er verweist. Und selbst wenn der Betreiber des Wordpress-Blogs mal die Permalinkstruktur für seine Artikel ändert, behalten die Links ihre Gültigkeit und funktionieren weiterhin.
0 Kommentare »
06.01.2008 22:32 von Schnurpselchen in
Allgemein,
Internet
Eingehende Links sind ja was feines. Da hat also jemand anderes die Seite verlinkt, vielleicht weil sie ihm besonders gut gefällt, er sie irgendwie nützlich findet oder warum auch immer. Manche Seiten veröffentlichen sogar Statistiken mit diesen eingehenden Links, inklusive des Links als Link, womit er dann ein ausgehender Link wird, der wiederum einen eingehenden Link aus Sicht der verlinkenden Seite darstellt. Wie wichtig Links sind, ist ja nicht erst seit Google bekannt.
Woher weiß man nun aber, woher die Links kommen? Man kann es unter anderem in der Webserver-Logdatei sehen, dort wird der soganannte Referer möglicherweise mit gespeichert und das ist genau die Information um zu erkennen, wie der Besucher auf die Seite gelangt ist. Wenn er z.B. über eine Suche von Google gekommen ist, kann man sogar herausfinden, wonach der Benutzer bei Google gesucht hatte.
Der Referer wird normalerweise vom Web-Browser des Nutzers an den Webserver beim Aufruf einer Seite im sogenannten HTTP-Request mitgeschickt, kann aber ebenso fehlen oder sonst irgendwie verändert sein. Er kann auch auf irgendeine beliebige andere Webseite verweisen, auf der überhaupt kein Link zur eigenen Seite existiert. Genau das machen sich Spammer zunutze, man spricht dann von “Referer-Spam”, eine Technik, die es schon seit einiger Zeit gibt.
In letzter Zeit habe ich hier häufiger eingehende Links von Seiten, die als /map.html erscheinen. Immer von irgendwelchen .com-Hosts mit so interessanten Namen wie facsimile-prints, trollcollective oder yachting-swap, in den letzten 30 Tagen ungefähr 20 unterschiedliche Seiten mit jeweils vier bis sieben Aufrufen.
Auf den Seiten selbst findet man dann lange Listen mit Links, die alle nach pharmazeutischen Produkten klingen, so Sachen wie adipex, didrex, medrol, prozac und xanax. Diese Links sind aber wiederum nur Weiterleitungen auf andere Seiten die allerdings meist nicht funktionieren. Also weiß ich nicht, wo man dann wirklich landet, interessiert mich aber auch nicht. Es ist halt Spam, Referer-Spam.
Falls also jemand vermehrt eingehenden Links von *.com/map.html hat, nicht zu früh freuen, es wir mit hoher Wahrscheinlichkeit Spam sein.
0 Kommentare »