icogro

Tutorial: Glossar mit Begriffserklärungen für WordPress

Hier werden Sie informiertSeit längerer Zeit gehe ich mit der Idee schwanger (hehe), hier auf datenschmutz einen Glossar für Fachbegriffe anzubieten. Diese Erklärungen sollen Insider nicht im Lesefluss stören, aber Otto Normalsurfer das Verständnis spezialisierter Artikel erleichtern und es mir außerdem ersparen, wiederkehrende Begriffe immer wieder zu erläutern. Bei dem sehr unterschiedlichen Wissens-Niveaus meiner Leser wär so ein Glossar einfach perfekt, dachte ich mir, und machte mich auf die Suche nach einem passenden Plugin. Aber Fehlanzeige! Zwar existieren zwei Erweiterungen, die von sich behaupten, als Glossar-Plugin zu taugen, allerdings erfüllten beide leider nur jeweils einen Teil meiner Anforderungen. Daher habe ich mir aus verschiedenen Plugins eine teil-manuelle Lösung zusammengebastelt, die zwar pro Glossar-Begriff ein paar Mausclicks mehr verlangt, dafür aber maximale Flexibilität und – ganz wichtig – sehr hohe SEO-Tauglichkeit bietet. Wer wissen möchte, wie man einen solchen Glossar einbaut, wirft einen Blick in das folgende Tutorial. Allen anderen Lesern möge die folgende Information genügen: von mir im “Mini-Lexikon” erklärte Fachbegriffe sind ab sofort verlinkt und mit diesem Icon gekennzeichnet: Glossar-Icon . Ein Klick öffnet die jeweiligen Definition in einem neuen Fenster. Derzeit ist die alphabetische Liste noch sehr sporadisch gefüllt, aber das wird sich im Lauf der Zeit ändern. Ab hier wird’s relativ technisch, wer die beschriebene Lösung einsetzen möchte, sollte mit WordPress-Template-Files nicht auf Kriegsfuss stehen.

Meine Anforderungen an einen WordPress-Glossar

In erster Linie geht es mir darum, immer wieder auftauchende Fachbegriffe kurz und knackig zu erklären. Dabei soll sofort ersichtlich sein, dass es sich um einen Glossareintrag, und nicht um einen “normalen” Link handelt. Und wenn ich schon den Aufwand treibe, eine solche Liste zu pflegen, dann möchte ich auch gleich den daraus resultierenden Google-Bonus mitnehmen: denn solche statischen Glossar-Pages haben den riesigen Vorteil, nahezu perfekte Landingpages für die Nischen-Keywords des jeweiligen Blogs darzustellen. Daraus ergaben sich für mich folgende Anforderungen:

  1. Die einzelnen Glossar-Begriffe sollen in Postings automatisch mit der Definition verlinkt werden und grafisch gekennzeichnet, um ersichtlich zu machen, dass es sich um einen Glossar-Eintrag handelt.
  2. Für die einzelnen Glossar-Einträge soll automatisch eine Übersichts-Seite erstellt werden, die alphabetisch sortiert ist und über einen A-Z Navigation mit Sprungmarken verfügt.
  3. Die einzelen Definitions-Artikel sollen selbst Postings bzw. statische Seiten sein, um eine sinnvolle Permalink-Struktur zu ermöglichen und um sich gut in den übrigen Seitenaufbau (z.B. Sitemap) einzufügen.

Klingt simpel, aber leider war es mir wie gesagt nicht möglich, eine Out-of-the-Box Lösung zu finden. Zwei Plugins, die sich der Aufgabe “Glossarerstellung” widmen, habe ich gefunden: IMM Glossary erfüllt die ersten beiden Anforderungen mit Bravour, fällt aber bei der Permalinkstruktur durch: die Definitionen bekommen seltsame Adressen voller Argumente und Referrer. Die zweite Lösung heißt WP Snap. Dieses Plugin generiert aus einer einzelnen oder einer definierbaren Menge von Kategorie-Postings ein spezielles Kategorie-Archiv mit alphabetischer Navigationsleiste und Sortierung. Das Plugin erfordert einen Eingriff ins category.php Template, erwies sich aber als relativ unflexibel und ermöglich keinerlei Pagination und automatische Verlinkung. Letztendlich kamen mir zwei verschiedene Vorgehensweisen in den Sinn:

Gut: Glossar mit Kategorie

Kategorie definieren und exkludieren: Man könnte eine dedizierte Kategorie für Glossar-Einträge anlegen und die betreffende Kategorie zugleich aus der Startseite und aus dem Feed ausschließen. Dazu ist keinerlei händische Bastelarbeit nötig, der äußerst empfehlenswerte Advanced Category Exluder erlaubt entsprechendes Finetuning via Optionsmenü. Anschließend legt man ein dediziertes Template für die betreffende Kategorie an. Dazu wird einfach nur die Datei category.php kopiert und unbenannt, und zwar in category-ID.php, wobei ID für die die betreffende ID der Glossar-Kategorie einzutragen ist. (Ersichtlich unter “Manage Categories” beim On-Mouse-Over).

Kategorie-Archiv anpassen: Wenn für eine Category ein so benanntes Template vorhanden ist, dann verwendet WordPress diese Datei standardmäßig (nur) für diese Kategorie. Im Template kann man einen kurzen Intro-Text eintragen und die Glossar-Postings alphabetisch anstatt chronologisch sortieren lassen – das geht relativ einfach mit WordPress Bordmitteln oder man verwendet Mike Smullins Sort Categories by Title. Das “alphabetisierte” Kategoriearchiv kann man natürlich noch beliebig im Design anpassen:

WordPress Glossar mit Kategoriearchiv

Automatisch verlinken: Für die automatische Verlinkung habe ich aLinks installiert. Das Plugin ist eigentlich für die stressfreie Wartung von Affiliate-Links gedacht, leistet aber überall dort gute Dienste, wo regelmäßig wiederkehrende Keywords mit einer festen URL verlinkt werden sollen. (Dafür hält sich die Affiliate-Tauglichkeit in Grenzen, da aLinks kein Link-Cloaking beherrscht, aber das ist eine andere Geschichte und soll ein andermal erzählt werden.) In den Einstellungen lässt sich außerdem eine spezielle CSS-Klasse für die Verlinkung definieren und/oder man kann ein bestimmtes Icon an die verlinkten Begriffe anhängen. Hier fehlt allerdings die Automatisierung: man muss jeden Glossar-Begriff, der erstellt wird, einmal händisch in die aLinks Liste eintragen.

Diese Methode hat allerdings zwei Nachteile: einerseits wird kein automatischer A-Z Index generiert (dafür könnte man WP-Snap verwenden, aber das beherrscht wiederum keine Paginierung), andererseits ist die Permalink-Struktur nicht völlig frei wählbar, sondern von der jeweiligen Posting-Struktur abhängig. Und eigentlich möchte ich in meine Glossar-Links im Gegensatz zu Postings lieber kein Datum drinstehen haben – also habe ich mich für einen anderen Ansatz entschieden.

Besser: Glossar mit statischen Seiten

Hauptsächlich wegen der Permalink-Struktur habe ich mich dafür entschieden, statische Seiten zu benutzen. Ich habe also eine statische Seite angelegt, die sich “Glossar” nennt. Jeder Begriff bekommt eine eigene statische Page, die ich jeweils hierarchisch unterhalb der Glossar-Seite anlegen. Auf der Hauptseite lasse ich automatisch einen A-Z Index samt Navigationsleiste erstellen – hier leistet das Plugin AZIndex hervorragende Dienste: es erstellt beliebig viele Indizes aufgrund frei wählbarer Kombinationen aus Kategorien und Tags. Da Pages keiner Kategorie zugeordnet sind, bestimmt man einen Tag, der sonst nicht verwendet wird (z.B. “Glossar”), und ordnet diesen jeder einzelnen Glossar-Subseite zu. Anschließend erstellt man einen neuen Index (unter dem CMS-Menüpunkt “Manage”) basierend auf dem gewählten Tag. Dazu läösst man das Feld Included/excluded Categories leer und trägt im darunterliegenden Feld das Stichwort, in meinem Fall “Glossar”, ein. Die Index Headings bleiben auf “title” gestellt, Index subheading s und Description auf “none”. Bei den Optionen wählt man nun “Include blog pages” und “exclude blog posts”, die übrigen Einstellungen sind Geschmackssache. Das sieht bei mir folgendermaßen aus:

AZIndex

Den so erstellen Index fügt man im Editor auf die Glossar-Hauptseite ein, die Syntax dazu lautet: az-index id=”ID” (in eckigen Klammern), wobei ID mit der Nummer des betreffenden Index zu ersetzen ist – nähere Details dazu verrät die Dokumentation des Plugins.

Für die automatische Verlinkung sorgt wie bereits oben beschrieben aLinks, das Exludieren der Glossar-Kategorie aus Feed und Startseite entfällt, weil statische Seiten dort ohnehin nicht auftauchen. Dieses Setup erfüllt mit ein wenig Handarbeit alle meine oben beschriebenen Anforderungen (visuelle Kennzeichnung, automatische Verlinkung, alphabetischer Index, SEO-Bonus). Die beschriebene Vorgehensweise soll andere WordPress-Blogger, die vor einem ähnlichen Problem stehen, inspirieren: sicherlich gibt’s noch viele andere Mittel und Wege, einen Glossar zu generieren – über Tipps und Anregungen freue ich mich.

Am besten weitergedacht: Idee für ein Plugin

Hervorragend für eine solche Glossarfunktion würden sich die in WordPress eingebaute Tagfunktion eignen. Man müsste das Tag-Management dazu folgendermaßen erweitern: Im Backend sollte es möglich sein, für einzelnen Tags (mittels Checkbox) zu bestimmen, ob es sich um ein Glossar-Stichwort handelt. Diese speziellen Tags bekommen ein Beschreibungsfeld, in das auch HTML-Code eingetragen werden kann. In der normalen Einzel-Tag-Ansicht (Posting-Archiv pro Tag) ändert sich bei den betreffenden Stichworten nur eine Kleinigkeit: zwischen der Tag-Überschrift und der Auflistung der zugehörigen Beiträge wird die Beschreibung angezeigt. Außerdem sollte das Plugin analog zu AZIndex eine alphabetische Liste der Glossar-Tags ausgeben und es ermöglichen, die betreffendne Begriffe im Text automatisch zu verlinken und grafisch zu kennzeichnen. Die automatischen Cross-Linking funktionen bringt Simple Tags ja bereits mit, bei der Einbindung des Icons könnte man sich an Link Indication halten. Meine Talente liegen leider nicht im Bereich der php-Programmierung, aber falls sich ein berufenerer Coder inspiriert fühlt, erkläre ich mich gerne bereit, ein detailliertes Story-Board für ein solches Plugin anzufertigen.

19 comments
René
René

Hallo Ritchie, Da ich seit Tagen auf der Suche nach einer Lösung bin, wie ich am elegantesten ein Wiki in mein Blog integrieren kann, bin ich irgendwann über deine Seite gestolpert. Die Idee gefällt mir recht gut. Ich bin gerade dabei, es bei mir zu implementieren und stehe vor einem Problem: Wie weist man statischen Seiten ein Tag zu (bei mir Lexikon)? gruß René

Yorkie
Yorkie

@Ortwin, wenn Du da wirklich was machst, halt mich doch bitte auf dem Laufendem. Würde mich auch interessieren. Danke Dir.

Ortwin
Ortwin

Hallo ritchie, hat sich schon was ergeben wegen dem Plugin? Hast du dafür evtl. schon ein Storyboard, oder auch Lastenheft, geschrieben? Ich war grade auf der Suche nach einem Glossar für WP und bin dabei über deinen Artikel gestolpert. Offensichtlich gibt es da bis zum heutigen Tage nicht wirklich etwas dafür. Oder ist dir inzwischen ein solches Plugin begegnet? Gruß aus Franken ;-)

Jürgen
Jürgen

Naja, leider wollen die meisten User nicht zahlen und alles umsonst im Internet finden!

dagobert-duck.net
dagobert-duck.net

Mann lernt ja bekanntlich nie aus, also ich würds begrüssen! :mrgreen:

Jennie
Jennie

Celver wird sich bestimmt ja finden der er es programmiert mal sehen ob es dann als kostenloses oder nicht kostenloses Plugin kommt.

Max@Ostsee
Max@Ostsee

Die Idee ist klasse, aber ich würde die Idee erst umsetzten und anschließend publizieren. Stell dir vor jemand klaut dir die idee, und bringt solch ein Lexikon vor dir auf den Markt. Währe das nicht ärgerlich ?

PinkTwinkle
PinkTwinkle

Ich fänds auch klasse. Ich lerne ja noch... quasie :razz: zumindest lerne ich immer gerne dazu!

ritchie
ritchie

Hi René, es gibt sogar ein eigenes Plugin dafür; ich habe aber Simple Tags im Einsatz, das kann (unter anderem) auch Pages Tags zuweisen, muss man nur in den Optionen aktivieren.

Ortwin
Ortwin

Hallo Yorkie, wenn dann werd ich was in meinem Blog drüber schreiben. Leider hat sich ritchie bisher noch nicht wieder gemeldet wegen seiner Liste. Falls du da so ein paar Must-Have Ideen hast, dann meld dich einfach mal bei mir. :-)

ritchie
ritchie

Hi Ortwin, nein, gar nix in die Richtung - ich hab mal eine Featureliste gemacht, aber das dann nicht weiterverfolgt; meine Coder-Kumpels waren alle so eingedeckt, dass sie's nicht machen wollten; ich denk aber nach wie vor, dass das eine sehr brauchbare Sache wäre!

ritchie
ritchie

Das halte ich für ein Gerücht - ändert sich gerade ganz stark. Siehe Vimeo etc... für stabile, gut durchdachte Services zahlen User durchaus, wenn sie einen Mehrwert erkennen. Aber warum sollte jemand fröhlich Münzen in jede Beta-Community einwerfen? Ich kann das Argument vom "keiner will zahlen" nicht mehr hören. Das hängt rein vom Produkt ab, nicht vom "Mindsetting der i-Net User". So, das musste mal wieder gesagt werden! :mrgreen:

ritchie
ritchie

Also wenn's wirklichen Mehrwert bietet, dann hab ich auch kein Problem damit, für ein Plugin zu zahlen (wie z.B. WP-SEO). Natürlich ist mir Open Source lieber, aber ich versteh's, wenn jemand seinen Aufwand vergolten haben möchte. Wobei man bei erfolgreichen Plugins sicherlich auch mit einer freiwilligen Spendenfunktion ein nettes Taschengeld verdienen kann.

ritchie
ritchie

Nein, ganz im Gegenteil! Ich kann ja eh nicht programmieren - wenn jemand das beschriebene WordPress-Plugin baut, dann würd ich freuen und es sofort installieren :mrgreen:

René
René

Hallo Ritchie, danke, hat wunderbar funktioniert. Gibt es eine Möglichkeit, interne Links anders zu stylen? Ich benutze für die interne Verlinkung "Wiki Page Links". Deine Antwort kam ja sehr schnell. gruß René

ritchie
ritchie

Ich hab das Dokument leider nicht mehr gefunden; sobald ich mal Zeit finde, das neu zusammenzuschreiben, meld ich mich natürlich bei dir!

Ortwin
Ortwin

Hallo ritchie, wenn du magst dann schick mir doch mal was du hast, wollte eh was für mein Blog machen, und wenn, dann kann man es ja gleich "besser" machen.

ritchie
ritchie

Bin nicht immer so flott, aber ich bemüh mich, alle Fragen zu beantworten :mrgreen: Die Sache mit den internen Links kann man allerdings nicht generell beantworten - Wiki Page Links kenn ich nicht, ich style interne Links nicht anders (könnte man aber mit Link Indication), Tags kann Simple Tags speziell formattieren (nach einem kleinen CSS-Eingriff).

Trackbacks

  1. […] Heute stiess ich plötzlich auf die Idee, ein Glossar mit Hilfe der statischen Seiten zu entwickeln. Dazu braucht es noch Plugins, die für die richtige Sortierung besorgt sind und verhindern, dass all die Glossareinträge sofort im täglichen Weblog oder im RSS-Stream sichtbar werden. Diese Idee habe ich bei http://blog.datenschmutz.net/2008-10/tutorial-glossar-mit-begriffserklaerungen-fuer-wordpress/ gefunden. […]