18. Februar 2010 / WordPress
Interne Links in WordPress-Beiträgen zukunftssicher setzen
Interne Verlinkungen sorgen für die Durchblutung im Blog. Ein simpler Ansatz sorgt für immer korrekte Links. Ohne Plugins.
Das Einfügen von Verlinkungen in den verfassten Beitragstext gestaltet WordPress mehr als komfortabel: Mit Copy & Paste der Internet-Adresse ist das Vorhaben prompt und wirkungsvoll erledigt. Bei Projekten im jungen Stadium des Fortschritts wird erfahrungsgemäß rege und gern experimentiert, optimiert und modifiziert. Im Verlauf der Abstimmung kommt es daher meist zu textlichen Änderungen im Titel und dem Inhalt der Artikel. Aber auch bei Permalinks kann sich die Struktur und die Zusammensetzung jederzeit erneuern – Unordnung ist vorprogrammiert.

Zuweisung eines Links in WordPress
Dynamisches Konzept für Permalinks
Um die bereits gesetzten, aber im Laufe der Website-Entwicklung umgeformten Links nicht per Hand korrigieren bzw. migrieren zu müssen, werden Verknüpfungen zwischen den internen Blogseiten mithilfe eines simplen Shortcode gesetzt und mit jeweiliger ID angesprochen. Die Zweckmäßigkeit der Lösung: Die Artikel-ID bleibt für immer konstant, kann als Referenz der gelinkten Seite also sorglos verwendet werden – der Hyperlink wird anhand der ID dynamisch ermittelt und ist immer auf dem aktuellsten Stand. Ohne Weiterleitungen, ohne zusätzliche Plugins.
Erweiterung der functions.php im aktuellen Theme
add_shortcode(
'post',
create_function(
'$atts, $data',
'return "<a href="" .get_permalink($atts[id]). "" title="" .esc_attr(strip_tags(get_the_title($atts[id]))). "">" .$data. "</a>";'
)
);
Mögliche Anwendung im Beitrag
... Text [post id=9]Verlinkter Blogartikel[/post] Text ...
Nennenswerte Vorteile
- Link (href) und Titel (title) stets up-to-date, da dynamisch geladen.
- Keine Migration oder Anpassungen bei URL-Änderung notwendig.
- Empfehlenswert für kleine bis mittelgroße Websites mit WordPress als CMS.
- Funktioniert bei Beiträgen, statischen Seiten und Anhängen.
Nachteile des Shortcodes
- Erzeugt zwei zusätzliche Datenbankabfragen, da Werte neu gelesen werden.
- Umständlich, da die Ziel-ID gefunden und händisch eingefügt werden muss.
- Bei der Entfernung des Codes bleiben Shortcode-Einträge sichtbar zurück.
- Keine interne Benachrichtigung via Pingback.
Voraussetzungen
- WordPress 2.8
Andere Route zum Ziel?
Als Alternative zum vorgestellten Ansatz wären relative Pfadangaben beim Verlinken der Beiträge durchaus denkbar – nach einem Blogumzug bliebe zumindest die Suchen-Ersetzen-Prozedur auf der Datenbankebene erspart, da sonst die alte Domain im Pfad durch die neue getauscht werden müsste. Wird jedoch die Gliederung der URL im Laufe der Zeit nachträglich korrigiert, so kommt man als Blogger nicht drumherum, “hart” gesetzte Links aufwendig zu aktualisieren. Des Weiteren kommen die meisten Feedreader mit relativen Angaben der Links im Artikelinhalt nicht klar – Contra für die Relativität also.
Fazit
Zusammenfasend lässt sich festhalten, dass die angesprochene Methode zwar geringfügig umständlicher, “hungriger” als die von WordPress mitgelieferte Technik ist, dafür aber effizient. Mit einer gesunden Portion Selbstdisziplin kann auf diesem Weg ein internes, pflegeleichtes und vor allen Dingen stabiles Linknetzwerk aufgebaut werden. Ohne Fleiß kein Preis.
P.S.
Übrigens verfolgt Michael Oeser in seinem How-To einen identischen Ansatz.
Sergej Müller ist enthusiastischer Software Engineer mit Schwerpunkten Webentwicklung, Apps und WordPress. Seit 2007 programmiert und vertreibt er wpSEO, das zugkräftige SEO-Plugin für WordPress-Blogs.