WordPress: Verzeichnisse erstellen mit Directories Pro

Points of Interest bzw. Points of Sale auf einer Landkarte präsentieren – das ist die Stärke des Plug-ins «Directories Pro»

Oft besteht das Bedürfnis, ein Verzeichnis von Unternehmen oder Orten zu erstellen. Tourismusorganisationen beispielsweise wollen alle Hotels, Restaurants, Einkaufsmöglichkeiten, Kultur- und Sportangebote ihrer Region präsentieren. Detailhandelsketten brauchen Verzeichnisse ihrer Verkaufsstellen und deren Sortimente sowie Öffnungszeiten. Immobilienfirmen wollen zeigen, welche Liegenschaften sie verkaufen, vermieten oder verwalten. Und Medienhäuser wollen vielleicht eine lokale Alternative zu TripAdvisor oder Yelp aufbauen.

WordPress selbst bietet keine spezielle Unterstützung für solche Verzeichnisse, aber wie immer gilt: There’s a plug-in for that! Das beste dieser Plug-ins, das uns bisher begegnet ist, heisst Directories Pro von SabaiApps. Es ist kostenpflichtig, aber seinen Preis von 39 Dollar auf jeden Fall wert: Es ist hochgradig konfigurierbar, bis in die Details sehr sauber umgesetzt zudem sehr performant.

Hat man das Plug-in installiert (bzw. die Plug-ins, denn das gesamte Paket besteht aus sechs Komponenten), dann sieht man zunächst nur einen einzigen neuen Menüeintrag im Backend namens «Directories». Hier muss man nun seine Verzeichnisse (der Plural ist korrekt: man kann auch mehrere unabhängige Verzeichnisse in einer einzigen Installation anlegen) erstellen.

Ein Verzeichnis enthält zunächst einem Custom Post Type mit frei konfigurierbaren Custom Fields. Somit kann man für die Objekte, welche auf der Website präsentiert werden sollen, beliebige Informationen in strukturierter Form speichern. Alle denkbaren Feldtypen sind vorgesehen – von einfachen Textfeldern über URLs und Bilder bis hin zu Adressen mit Geo-Koordinaten. Letztere sind dann wichtig, wenn man die Objekte auf einer Landkarte (wahlweise von Google Maps oder OpenStreetMap) präsentieren möchte, was mit diesem Plug-in mit minimalem Aufwand möglich ist. Zudem kann man Custom Taxonomies definieren und so sein Verzeichnis nach verschiedensten Dimensionen strukturieren.

Die Ausgabe der Daten im Frontend wird über sogenannte Displays und Views gesteuert. Ein Display definiert das Aussehen eines einzelnen Datensatzes, eine View dagegen das Aussehen einer Liste von Datensätzen. Ebenfalls im Detail konfigurierbar ist die Suche, welche zudem durch einen Auto-Suggest-Mechanismus sehr schnell erste Treffer liefert – wie man dies von professionellen Portalen her kennt.

Inzwischen haben wir Directories Pro für ein eigenes Projekt genutzt («Unser Hofladen», eine Plattform für den Lebensmittel-Direktverkauf) – dort kann man alle diese Features in der konkreten Anwendung sehen. Weil das Plug-in so leistungsfähig ist, braucht man etwas Zeit, bis man das Konzept verstanden hat und weiss, wo was konfiguriert werden kann (die umfangreiche Dokumentation ist dabei eine wertvolle Hilfe). Dann allerdings baut man mit Directories Pro in vergleichsweise kurzer Zeit umfangreiche Portale, die auch Einträge von Besuchern inkl. Freigabeprozess oder kostenpflichtige Featured Posts erlauben.

Insert Pages: Content-Recycling in WordPress

WordPress Plugin Insert Pages: Toolbar
WordPress Plugin Insert Pages: Toolbar

Es kommt immer wieder vor, dass derselbe Content mehrfach auf einer Website benötigt wird. Natürlich ist eine Kopie schnell erstellt, aber diese Methode hat ihre Tücken: Ändert nämlich der Content, dann ist es schnell passiert, dass nicht alle Kopien aktualisiert werden, und schon hat man widersprüchliche Informationen auf seiner Website. Ausserdem ist es zeitraubend und langweilig, Änderungen mehrfach vornehmen zu müssen.

In WordPress gibt es mit dem Plugin Insert Pages eine elegante Lösung für dieses Problem: Insert Pages erlaubt es, bestehende Seiten in eine andere Seite einzubinden. Zu diesem Zweck wird im Toolbar des WYSIWYG-Editors ein zusätzlich Button angezeigt, der die Auswahl der einzubindenden Seite erlaubt. Zudem kann man festlegen, was genau von dieser Seite eingebunden werden soll: nur der Titel, der Inhalt oder sämtliche Felder inkl. Custom Fields?

WordPress Plugin Insert Pages: Seitenauswahl
WordPress Plugin Insert Pages: Seitenauswahl

Das Resultat ist ein Shortcode in der folgenden Form:

[insert page='disclaimer' display='content']

Auf diese Weise kann man mehrfach genutzte Inhalte einmalig erfassen und mehrfach nutzen. Man kann sogar eine eigentliche Sammlung mit Textbausteinen (oder besser gesagt: Inhaltsbausteinen) anlegen, beispielsweise für juristische Texte (Disclaimer, AGB) oder für Content Teaser.

Simple Trackback Disabler: Trackback-Spam auf WordPress-Blogs unterbinden

Das WordPress-Plugin Simple Trackback Disabler hilft, Spam zu bekämpfen.
Das WordPress-Plugin Simple Trackback Disabler hilft, Spam zu bekämpfen.

Dank Trackbacks bzw. Pingbacks sehen Autoren und Leser eines Blog-Artikels, welche anderen Blogs auf diesen Artikel verlinken. Das verlinkende Blog schickt dem verlinkten Blog ein Signal, und letzteres publiziert automatisch einen Backlink unterhalb des Artikels. Eine sinnvolle Erfindung also – wenn sie nicht immer öfter von Spammern missbraucht würde.

WordPress bietet unter Einstellungen > Diskussion die Möglichkeit, die automatische Publikation solcher Backlinks zu deaktivieren. Die Option Erlaube Link-Benachrichtigungen von anderen Weblogs (Pingbacks und Trackbacks) bezieht sich allerdings nur auf zukünftige Blog-Beiträge; bereits publizierte Artikel behalten Ihre ursprüngliche Einstellung und lassen also Trackbacks weiterhin zu. Gerät ein Blog mit einigen hundert Beiträgen ins Visier von Trackback-Spammern, dann kann das zu einem echten Problem werden, denn schliesslich möchte man nicht bei jedem einzelnen Beitrag die Trackbacks manuell deaktivieren.

Read more…

WordPress-Websites mit Zwei-Faktor-Authentifizierung sichern

WordPress-Login mit Zwei-Faktor-Authentifizierung
WordPress-Login mit Zwei-Faktor-Authentifizierung

Was ist Zwei-Faktor-Authentifizierung?

Beim E-Banking ist es selbstverständlich, nicht allein auf Passwörter zu vertrauen: Dort muss man bei jedem Login einen nur einmal gültigen Code eingeben, den man entweder per SMS zugeschickt erhält, mit einer Smartphone App generiert, von einem RSA Key abliest oder (heute kaum noch verbreitet) einer Papier-Strichliste entnimmt. Alle diese Verfahren basieren auf dem Prinzip, dass man nicht nur das Passwort kennen muss, sondern auch noch ein physisches Objekt (ein Smartphone, einen Code-Generator, eine Liste) besitzen muss, um sich einloggen zu können.

Diese sogenannte Zwei-Faktor-Authentifizierung macht ein Login wesentlich sicherer, denn das Risiko, dass ein Unbefugter sowohl das Passwort in Erfahrung bringt als auch in den Besitz des physischen Objekts kommt, ist vergleichsweise gering. Und falls letzteres ein Smartphone ist, dann kann man es durch einen PIN noch zusätzlich absichern.

Read more…

Shortcoder: Eigene WordPress Shortcodes definieren und nutzen

Shortcoder - WordPress plugin - Features overview and demo

Datenschutz-Hinweis: Wenn Sie dieses Video abspielen, können Sie von YouTube getrackt werden.

Ein WordPress Shortcode ist im Prinzip nichts anderes als ein Makro: Man fügt den Shortcode in einen Beitrag, eine Seite oder ein Widget ein, und WordPress ersetzt den Shortcode durch den vordefinierten Inhalt, sobald die entsprechende Seite angezeigt wird. Dieser Inhalt kann aus reinem Text, aber auch aus HTML- oder JavaScript-Code bestehen. Shortcodes existieren seit WordPress 2.5, allerdings versteht WordPress von Haus aus nur audio, caption, embed, gallery und video; die meisten Shortcodes werden durch Plug-ins implementiert.

Read more…

Quick Adsense: Google-Anzeigen auf einem WordPress Blog publizieren

Quick Adsense: Plug-in zur einfachen Schaltung von Google AdSense Anzeigenblöcken auf WordPress Blogs
Quick Adsense: Plug-in zur einfachen Schaltung von Google AdSense Anzeigenblöcken auf WordPress Blogs

Zugegeben: Der obige Screenshot wirkt optisch nicht sehr attraktiv. Er zeigt rund ein Viertel aller Einstellungen, die Sie im WordPress Plug-in Quick Adsense vornehmen können. Aber lassen Sie sich von der Optik nicht abschrecken: Dieses Plug-in erlaubt es Ihnen, mit minimalem Aufwand Google AdSense-Anzeigen auf Ihrem Blog zu schalten – und zwar ohne dass Sie sich mit HTML- und PHP-Code beschäftigen müssen.

Read more…

Enhanced Media Library: Medienverwaltung in WordPress optimieren

Enhanced Media Library: Erweiterte Filtermöglichkeiten in der WordPress Medienverwaltung
Enhanced Media Library: Erweiterte Filtermöglichkeiten in der WordPress Medienverwaltung

Die Medienverwaltung in WordPress ist – gelinde gesagt – rudimentär ausgestattet: Die Dateien, die man im WordPress-Backend hochlädt, landen alle in einem grossen Pool. Wohl kann man dort nach Stichworten in der Dateibeschreibung suchen, ansonsten bietet WordPress aber nur rudimentäre Filtermöglichkeiten. Auch Ordner gibt es nicht, um die Medienverwaltung zu strukturien.

Solange es nur um ein paar Dutzend Bilder geht ist das alles kein Problem. Wenn allerdings die Medienverwaltung (wie in meinem Fall) demnächst 1’000 Objekte umfasst, dann wünscht man sich dringend eine Möglichkeit, den Pool besser zu organisieren. Genau das bietet das Plug-in Enhanced Media Library.

Read more…

Wie man eine WordPress-Datenbank wartet

Verursacht unnötig grosse WordPress-Datenbanken: der Überhang
Verursacht unnötig grosse WordPress-Datenbanken: der Überhang

Dieses Blog ist beliebt – nicht zuletzt bei Spammern. Während ich diese Zeilen schreibe treffen etwa ein halbes Dutzend Spam-Kommentare pro Minute(!) ein. Dank Akismeth wandert dieser Wortmüll zwar direkt ins Spam-Verzeichnis, belastet aber immer noch unnötig meine Datenbank. Und obwohl es im WordPress-Backend die Möglichkeit gibt, Spam-Kommentare dauerhaft zu löschen (unter Kommentare > Spam > Spam leeren), ist die Datenbank-Tabelle wp_comments nach einer solchen Säuberungsaktion kein Bit kleiner. Warum ist das so – und was tut man dagegen?

Read more…

WordPress als CMS: Seitenbaum im Backend nachrüsten

CMS Tree Page View
CMS Tree Page View

Es gibt einen grundlegenden Unterschied zwischen Blogs und «normalen» Websites, was die Struktur angeht: Die Beiträge eines Blogs werden chronologisch angeordnet, während die Seiten einer Website hierarchisch organisiert sind. WordPress kennt zwar nebst Blogbeiträgen auch Seiten, aber bis heute (d.h. Version 3.9) fehlt im Backend ein Seitenbaum, welcher die Seitenhierarchie abbildet und die Verwaltung von Seiten vereinfacht. Das wird dann zum Problem, wenn man WordPress nicht als reines Blogsystem, sondern als Web Content Management System für eine etwas grössere Website einsetzt. Und es ist ein wichtiges Argument in der Diskussion, ob WordPress denn nun ein «richtiges» CMS sei.

Read more…