Innerhalb von WordPress gibt es die Möglichkeit einen sogenannten Shortlink auszugeben. Der Shortlink ist eine kurze URL zum Artikel und soll das Senden von Trackbacks und Links (z.B. über Twitter) erleichtern. Über eine Funktion kann der Shortlink im Theme angezeigt werden um Besuchern das Weiterempfehlen eines Artikels zu erleichtern. Normalerweise generiert der Shortcode innerhalb von WordPress allerdings nur die normale URL sowie die ID des aktuellen Beitrags. Praktischer ist es wenn man Googles URL-Kürzungs-Dienst goo.gl verwendet.

Shortlink anzeigen

Zunächst müssen wir den normalen Shortlink von WordPress in unseren Artikel integrieren. Öffnet die single.php (alternativ auch index.php oder ein anderes Template) und fügt an beliebiger Stelle folgendes Code-Snippet ein.


<?php if (function_exists('wp_get_shortlink')) { ?>
 Shortlink: <input type='text' value='<?php echo wp_get_shortlink(get_the_ID()); ?>' onclick='this.focus(); this.select();' />
<?php } ?>

Es wird ein Input-Feld erstellt in welchem der Shortlink angezeigt wird. Per Klick wird der Inhalt markiert, so dass der Besucher den Link schneller kopieren kann.

Google URL-Shortener verwenden

Um nun Googles URL-Shortener goo.gl anstelle von WordPress zu verwenden fügt einfach folgenden Code in Eure functions.php ein.


// WordPress Shortlinks mit Goo.gl ersetzen

function googl_shortlink($url, $post_id) {
	global $post;
	if (!$post_id && $post) $post_id = $post->ID;

	if ($post->post_status != 'publish')
		return "";

	$shortlink = get_post_meta($post_id, '_googl_shortlink', true);
	if ($shortlink)
		return $shortlink;

	$permalink = get_permalink($post_id);

	$http = new WP_Http();
	$headers = array('Content-Type' => 'application/json');
	$result = $http->request('https://www.googleapis.com/urlshortener/v1/url', array( 'method' => 'POST', 'body' => '{"longUrl": "' . $permalink . '"}', 'headers' => $headers));
	$result = json_decode($result['body']);
	$shortlink = $result->id;

	if ($shortlink) {
		add_post_meta($post_id, '_googl_shortlink', $shortlink, true);
		return $shortlink;
	}
	else {
		return $url;
	}
}

add_filter('get_shortlink', 'googl_shortlink', 9, 2);

Der Shortlink von WordPress wird nun ersetzt und ab sofort wird innerhalb des Input-Feldes der Google-Link angezeigt.

Das Shortlink-Snippet stammt von Otto on WordPress; die goo.gl Umsetzung von Konstantin

Geschrieben von Jonas

Benutzerbild

Jonas ist Gründer der Agentur kulturbanause und des kulturbanause Blogs. Er arbeitet an der Schnittstelle zwischen UX/UI Design, Frontend und Redaktion und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Jonas Hellwig ist regelmäßig als Sprecher auf Fachveranstaltungen anzutreffen und unterstützt mit Seminaren und Workshops Agenturen und Unternehmen bei der Planung, der Gestaltung und der technischen Umsetzung von Web-Projekten.

Jonas Hellwig bei Xing

Feedback & Ergänzungen – 8 Kommentare

  1. Ralph
    schrieb am 09.08.2012 um 17:42 Uhr:

    Besteht da auch die Möglichkeit seine eigene Domain einzusetzen.
    Den Google Code werde ich mir noch integrieren, nur wäre es abunzu besser wenn es heißen würde „meine.domain/xyz“.
    Verwende zwar 3.4.1 aber es schaut bei mir so aus „wp.me/pPst1-oo“

    thx

    Ralph

    Antworten
  2. Patrick
    schrieb am 05.08.2011 um 13:11 Uhr:

    Hi.

    Endlich eine Anleitung die Auch auf der Startseite funktioniert. Eine Frage hab ich da. Gibts diese lösung auf für Bit.ly oder j.mp?

    vieleicht kannst du mir da weiterhelfen.

    Beste Grüsse
    Patrick

    Antworten
    • Jonas Hellwig
      schrieb am 05.08.2011 um 13:39 Uhr:

      @Patrick: Eine Lösung für Bit.ly habe ich spontan nicht parat. Aber es gibt bei Bit.ly eine entsprechende API – die Lösung sollte also nicht allzu fern sein. Ein Plugin gibt es dafür: http://wordpress.org/extend/plugins/wp-bitly/

      Antworten
  3. Danielsemper
    schrieb am 28.07.2011 um 21:37 Uhr:

    Hi, how can I use this code but with my API Key for Goo.gl so that I can obtain a links history and stats.

    Antworten
  4. Simon
    schrieb am 11.02.2011 um 19:12 Uhr:

    @Jonas – danke, hätte mir selbst eigentlich auch schon auffallen können…

    Antworten
  5. Simon
    schrieb am 09.02.2011 um 18:21 Uhr:

    Gibt es eine Möglichkeit, die WordPress-Shortlinks anzuzeigen? (also example.com/?p=540) Finde ich persönlich optisch etwas reizvoller.

    Antworten
    • Jonas Hellwig
      schrieb am 09.02.2011 um 19:55 Uhr:

      @Simon: Klar, dann musst du nur den ersten Teil einbinden ohne anschließend noch die Google API in der functions.php zu integrieren.

      Antworten
  6. Philipp
    schrieb am 09.02.2011 um 14:33 Uhr:

    Ist es irgendwie möglich das die erstellten Kurz-URLs auch in meinem Google-Account hinzugefügt werden? Dann hätte ich Statistiken usw.

    Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

WordPress-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.

WordPress-Leistungsangebot →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →