Ärger mit WordPress

Eigentlich mag ich WordPress ganz gerne. Seit Version 2.0 arbeite ich (fast) durchgehend damit; mittlerweile betreibe ich zwei Weblogs mit der aktuellen Version 2.6. Da ich mich im Moment intensiver mit WordPress auseinandersetze, fallen mir natürlich auch Dinge auf, die mir nicht so gefallen.

Bevor ich mich den zwei konkreten Punkten widme, die mir Ärger machen, ein kleiner Gedanke zum Konzept von WordPress: Ich finde WordPress mittlerweile für ein Blog-Software ziemlich fett: Mit fast 5 MB ist es leider kein Leichtgewicht mehr. Als CMS kommt es sicherlich schlank und komfortabel daher; aber als Blog-Software ist WordPress schon reichlich aufgeblasen und fett. Dafür ist es sehr flexibel, kann sehr vielseitig verwendet und erweitert werden; es gibt eine große Community die Erweiterungen und Themes entwickelt.
Dies ist aber ein generelles Problem bei der Software-Entwicklung: Große Gegensätze, die schwer gemeinsam zu erreichen sind (klein und simpel gegen flexibel und anpassbar); in der Wirtschaft wird so etwas auch Zielkonflikt genannt.
Auch wenn heute Webspace in rauen Mengen verfügbar und erschwinglich ist, sollte man sich überlegen ob eine große, Speicherplatz-fressende Anwendung sinnvoll ist oder ob man lieber auf etwas schlankeres zurückgreift. Gerade wenn sich Web-Applikationen auf einem Server häufen, so wie bei mir, sollte man über Alternativen nachdenken: Im Moment laufen auf über meinen Webspace zwei WordPress-Installationen, jede mit ungefähr 5 MB und die dritte steht kurz vor der Tür …

Zwei große Ärgernisse verderben mir leider im Moment etwas den Spaß mit WordPress:

  1. Seit Version 2.6 gibt es ein Versions-System für Artikel, wie man es aus Wikis (wie Wikipedia) oder auch aus Content Management Systemen kennt. Dieses Version-System ermöglicht einem, einen veränderten Artikel zu einer früheren Version zurückzusetzen, falls einem die veränderte Version aus irgendeinem Grund nicht gefällt.
    Dies kann sehr sinnvoll sein, wenn ein Weblog von mehreren Personen betrieben wird oder wenn man seinen Lesern erlaubt, eigene Artikel zu verfassen.
    Für mich ist diese Feature allerdings ein Ärgernis, denn es müllt meine Datenbank mit Einträgen zu. Jedes mal wenn ich einen Rechtschreibfehler korrigiere oder ein Stichwort hinzufüge, wird ein neue Version in der Datenbank angelegt. Und das leider nicht in einer eigenen Tabelle, sondern in der Tabelle für die generellen Blog-Einträge.
    Im Moment überarbeite ich gerade diesen Blog (dot.PsiLab alias PsiLab Journal) und meinen rein privaten Blog (»aber aber Arne …«) von Grund auf; ich bin dabei alte Einträge aus alten Blog-Versionen, die hier einmal liefen, wiederherzustellen und aufzuarbeiten. Dabei müssen zum Teil einzelne Beiträge öfters überarbeitet werden. Auf »aber aber Arne …« komme ich bei knapp 90 Blog-Einträgen (inklusive Unterseiten) auf fast 800 Datenbank-Einträge!
    Zudem verwässert dieses Versions-System einen Weblog mit fortlaufender ID für Beiträge. Früher waren Beiträge in diesem Weblog über dot.psilab.de/42 erreichbar. Wenn ich dies in der neuen WordPress-Version machen würde, würden sich bei einem regulären Blog-Betrieb (Eintrag erweitern, korrigieren, etc.) zum einen die IDs ständig ändern, weil ein Eintrag immer die ID der letzten Version bekommt. Und zum anderen können die IDs, die auf die alten Versionen verweisen, nicht mehr verwendet werden! So sind fortlaufende IDs nicht mehr möglich. Jetzt würden sich quasi die IDs 60, 42 und 327 aneinander reihen, statt 41, 42 und 43
    Update: Mit automatischem Speichern und Artikel-Speichern/-Vorschau habe ich für diesen einen Eintrag alleine schon 45(!) Versionen in der Datenbank. Und das bevor ich ihn überhaupt veröffentlicht hatte!
  2. Kategorien, Link-Kategorien und Stichworte sind dasselbe. Ein Umstand der mich in den letzten Tagen des öfteren die Haare raufen lies: Wenn ein Stichwort der Name einer Kategorie ist, wird die Kategorie als Stichwort hinzugefügt. Da bei mir die Stichworte aber nur klein geschrieben sein sollen/dürfen, ist dieses Feature wirklich ärgerlich.
    Das Problem rührt wohl daher, dass diese drei Kategorie-Arten in einer einzigen Tabelle in der Datenbank liegen. Was vielleicht auch noch kein Problem wäre, wenn in dieser Tabelle zweimal die gleiche URL-Form erlaubt wäre. Dies ist aber leider bei der Standard-Installation von WordPress nicht der Fall. Zwar wird bei der internen Verarbeitung von Kategorien und Stichworten unterschieden, aber nicht in der Datenbank und an der Benutzer-Oberfläche.
    Ein konkretes Beispiel, um das Problem etwas zu veranschaulichen: Ein Blog-Eintrag soll in die Kategorie »Foo Bar«, diese Kategorie hat die URL-Form foobar. Im Blog kann man diese Kategorie durch /category/foobar erreichen. Nun soll dieser Beitrag mit dem Stichwort »foobar« versehen werden. Das Stichwort soll ebenfalls die saubere URL-Form foobar haben; später soll sie dann über /tags/foobar erreichbar sein. So simpel dies klingt, so unmöglich ist dies im aktuellen WordPress. Man kann dies, mit Standard-Bordmitteln, nur erreichen, indem man entweder der Kategorie oder dem Stichwort eine unsaubere URL-Form gibt (z.B. für das Stichwort die URL-Form foobar-tag). Das ist leider, wie bei vielen Workarounds, nicht schön gelöst und sauber.

Schön wäre es, wenn es spätestens in WordPress 2.7 für das erste Problem eine Lösung gibt, die schon einige Plugins bereitstellen: Ein- oder Ausschalten des Versions-Systems oder dieses auf eine bestimmte Anzahl an alte Versionen für die Artikel limitieren. Dabei würde ich mir dann auch noch weitergehend wünschen, dass es ein Aufräum-Tool gibt, dass alte, nicht benötigte Versionen löscht und die IDs wieder aufräumt.
Für die Lösung des zweiten Problem muss wohl die Datenbank oder zumindest die Kategorie/Stichwort-Tabelle angepasst werden; was wirklich wünschenswert wäre, denn der oben angerissen Workaround ist wirklich hässlich.