9.3.2017: WordPress: Nichts für „schnell mal eben“

Letztens ließ ich mich auf Twitter dazu hinreissen, einen Artikel über WordPress anzukündigen, bzw genauer:

ich glaub, ich schreib mal einen blogartikel darüber, warum wordpress nicht das cms für jeden und für „mal eben“ ist.— (((C. Fischer))) (@jawl) 3. März 2017

Den Gedanken hatte ich schon länger, unter anderem, weil ich einen Großteil des bisherigen Jahres damit verbracht habe, gehackte WordPress-Installationen zu reparieren. Einmal war ich sogar gleichzeitig mit dem Hacker auf dem FTP-Server unterwegs, das war schon eine ganz eigene Erfahrung.

Vorwort
Dieser Artikel ist nicht für Entwickler / Programmiererinnen geschrieben. Ich hoffe eher, dass er von Bloggern oder Bloggerinnen oder welchen, die es werden wollen, gelesen wird. Und von Menschen, denen jemand gesagt hat, man können mit WordPress „mal eben“ eine Website aufsetzen. Auch wenn das Fazit vielleicht lautet: „Alles nicht ganz so einfach wie gedacht“. Oder gerade deswegen.
 Ach ja, das Thema ist komplex und ich habe mich bemüht, nicht zu technisch zu schreiben. Dafür dauert das Lesen etwa zehn Minuten. Aber mach ruhig mal.

Rückblick
Ich fang ja gerne vorne an, daher erst mal ein kurzer Rückblick. WordPress erschien vor ca. 13 Jahren als Blogsystem und hat sich in meiner Erinnerung so ca. ab 2006 in der damals noch überschaubaren deutschen Blogosphäre als quasi-Standard durchgesetzt.
Da es aber bereits sehr früh neben Blog-Postings auch statische Seiten verwalten konnte, haben Webdesigner das System auch schon recht fix als CMS für Websites benutzt, die kaum oder gar keinen Blog-Charakter hatten. Klar, ich auch.
Zu Beginn gab es da noch eine Menge zu basteln, aber nach und nach gab es Erweiterungen, die diese Nutzung einfacher machen und heute ist WordPress das meist genutzte CMS der Welt. Auch wenn man immer noch sehr merkt, dass es eigentlich ein Blog-System ist.

Technik
Ich will jetzt technisch nicht zu tief einsteigen, aber ein paar Basics brauchen wir, damit später verständlich ist, warum und was ich hier schreibe.

WordPress
WordPress besteht erst einmal aus dem sogenannten „Core“, also dem, was man sich bei worpress.org herunterladen kann. Das kann man sich – wenn man die Zugangsdaten für seine Datenbank zur Hand hat – in den beworbenen 5 Minuten installieren. Dann hat man ein stabiles, solides, jahrelang erprobtes Blog-System und man kann loslegen. Das System kümmert sich z.B. darum, dass neue Artikel vorne stehen, in Kategorien sortierbar sind, dass alles in den Archiven oder über die interne Suche auffindbar ist und dass es einen RSS-Feed gibt.

Themes
Als nächstes kommen meist die sogenannten „Themes“ ins Spiel. Oberflächlich betrachtet geben sie dem frisch installierten Blog sein Aussehen. In Wirklichkeit können sie meist noch mehr, aber darauf kommen wir später zurück.

PlugIns
Hat man sein frisch installiertes und herausgeputztes Blog vor sich, sieht man meist in einem anderen Blog irgendeine Funktion, die man selbst nicht hat aber haben möchte. Nehmen wir als Beispiel mal die letzten Tweets des Autors in der Seitenleiste oder die hübschen Buttons zum Teilen des Artikels unter jedem Beitrag. Man erkundigt sich und erfährt: Das sind meist die sogenannten Erweiterungen oder „PlugIns“; die heißen Erweiterungen, weil sie die Funktionspalette eines Blogs erweitern. Es gibt sie wie Sand am Meer und was auf den ersten Blick ja sehr schön klingt, das behalten wir auch für später im Kopf.
Manchmal bringen aber auch die Themes Funktionen mit, die WordPress selbst nicht hat.

Manche PlugIns sind auf genau eine Funktion spezialisiert, manche bringen ein ganzes Bündel an Funktionserweiterungen mit. Ebenso gibt es Themes, die den Administrationsbereich um eine ganze Reihe von Funktionen erweitern.

Wir fassen zusammen: Wir haben die Dreieinigkeit aus Core, Theme und PlugIns vor uns, wenn wir auf ein Blog schauen. Den Core gibt es genau einmal in der jeweils aktuellsten Version, Themes gibt es nahezu unendlich viele und PlugIns unendlich viele. Oft auch sehr, sehr ähnliche Themes oder viele PlugIns, die eigentlich genau das gleiche tun.

Sowohl der Core als auch Themes und PlugIns bestehen prinzipiell aus einer gewissen Menge von Dateien – wobei die Menge natürlich schwankt. WordPress selbst besteht aus ca 1.400 Dateien, Themes sind meist recht überschaubar und bei PlugIns ist zwischen einer einzelnen Datei und sehr, sehr vielen alles möglich.

(Fast) unendlich viele Themes und PlugIns? Wo kommen die denn alle her?
Aus dem Netz. Und das ist großartig. Wer mag, kann sich an WordPress beteiligen, in dem er selbst Themes oder PlugIns schreibt und auf seiner eigenen Website zum Download anbietet. Oder sich darum bemüht, dass das frisch Programmierte in die offiziellen Verzeichnisse aufgenommen wird.
Äh … stop:
Aus dem Netz. Und exakt das ist das Problem. Wer mag, kann sich an WordPress beteiligen, in dem er selbst Themes oder PlugIns schreibt und auf seiner eigenen Website zum Download anbietet. Oder sich darum bemüht, dass das frisch Programmierte in die offiziellen Verzeichnisse aufgenommen wird.

Moment mal, habe ich gerade den gleichen Sachverhalt einmal positiv und einmal negativ bewertet? Jup.

So großartig ich es finde, wenn Menschen Software – egal ob CMS oder Betriebssystem oder was auch immer – zusammen entwickeln und weiter schreiben, so kann das doch auch zum Problem werden.

Als Beispiel mal eine erdachte neue Kundin:
Nehmen wir also an, mich ruft jemand an und möchte gern ein Blog haben. Mach ich ja gerne. Wir sprechen und Neukunde X erzählt seine oder ihre Vorstellungen, sowohl was die Optik als auch was die Funktionen angeht. Zweiteres ist meist schon etwas schwieriger, weil man ja bei anderen Blogs nicht sieht, was automatisch dabei ist und was per PlugIn nachträglich dran geschraubt wurde. Und Sharing-Buttons z.B. hat doch nun wirklich jeder, oder?
Aber zum Glück mach ich den Job ja schon länger und kann gezielt fragen.

Außerdem hat meine neue Kundin sich schon ein wenig umgesehen, kennt den Slogan der berühmten „5-Minuten-Installation“ und weiß, dass quasi alle und sogar sogar ihr technisch vollkommen unbegabter Nachbar ein WordPress-Blog haben. Das kann also nicht so schwer sein.

Schlage ich dem neuen dann Kunden vor, sein Blog-Theme von Grund auf neu zu programmieren, dann staunt er, wie viel Geld das kostet. Ob sie sich denn nicht ein vorhandenes Theme aussuchen könne? Klar, kann er gern tun.
Ich installiere also WordPress – es dauert wirklich nicht lange – und lade das gewählte Theme hoch.

Nur noch ein paar Kleinigkeiten
Kundin oder Kunde schaut drauf und freut sich: Oh wie schön. Das ging ja wirklich schnell. Hmm … Können wir die Kommentare bitte noch etwas einrücken? Und die Anzahl der Kommentare hätte ich gern nach dem Artikel und nicht drüber. Mein Logo ist auch etwas klein und auf dem Handy ist recht und links so viel Platz neben den Artikeln. Geht vielleicht auch eine andere Schrift, auf meinen Visitenkarten hab ich ja die Dingsbums Sans? Und diese ganzen Infos da im Footer, die brauche ich wirklich nicht. Wieso steht da oben „just another wordpress blog“? Hm, wenn das weg ist, dann ist da oben aber wirklich viel Platz. Kann des schmaler? Und die Schatten unter den Artikeln weg? Irgendwie kann das alles noch etwas schlichter.

Das sind erstens nicht viele und zweitens alles auch vollkommen verständliche Wünsche. Aber, dann beginnen die Probleme. Nicht die Probleme, dass ich etwas davon nicht könnte; ich kann WordPress-Themes from the scratch aufbauen und spreche verhandlungssicher Html und CSS und PHP. Eher die Probleme, dass meine Neukundin nicht versteht, warum es doch jetzt plötzlich kompliziert wird.

Denn ich, ich habe jetzt folgendes zu tun: Ich muss erst schauen, was das Theme selbst für Funktionen mitbringt, mit denen man Anpassungen am Theme vornehmen kann. Es gibt Themes, die bringen quasi einen kompletten Baukasten mit und es gibt welche, da kann man gerade mal sein eigenes Logo hochladen. Ich hangele mich also erst durch n Menupunkte auf der Suche nach Einstellungen. n kann dabei zwischen „1“ und „sehr viele“ liegen. Ist es ein mir unbekanntes Theme muss ich sie auch alle lesen, sind sie schlecht benannt (es gibt da keine Standards) manchmal auch per try & error rumprobieren.
Bringt das Theme nichts mit um einen speziellen Kundenwunsch zu erfüllen, dann bleibt mir noch, ein sogenanntes Child-Theme zu schreiben. Nicht schwer und eine feine Sache, denn damit kann ich ein bestehendes Theme nutzen und nur sehr gezielt die eine Datei ändern, in der zB die Infos im Footer stehen. Und die andere, in der die Anzahl der Kommentare vor den Artikel geklebt werden.
Um die eine Datei zu finden muss ich – das habt Ihr Euch schon gedacht – natürlich erst einmal in alle reinschauen, wo die Funktion sich versteckt. Dabei kann ich darauf hoffen, dass es fix geht weil die Dateien vernünftig benannt sind – aber bereits hier fangen verschiedene Entwickler an, jeweils ihr eigenes Süppchen zu kochen.*

Manche Wünsche unseres neuen Kunden beziehen sich aber vielleicht gar nicht auf etwas, was das Theme tut, sondern auf etwas, was ein PlugIn tut. Habe ich Glück, dann gibt es Optionen und Einstellungsmöglichkeiten im PlugIn. Habe ich Pech, suche ich ein anderes PlugIn.
Habe ich ganz großes Pech, dann beginnt jetzt der ganz große Spaß und ich schreibe auch die gewünschten Funktionen ins Child-Theme. Oder (noch) ein eigenes PlugIn.

Nochmal kurz Technik: Abhängigkeiten wohin man schaut
Wie gesagt, es gibt sehr viele Themes und sehr viele PlugIns, die jeweils von sehr vielen Entwicklern geschrieben werden.
Hinter manchen stecken große Agenturen, die etwas, was sie mal benötigten der Allgemeinheit zur Verfügung stellen, hinter manchen der viel beschworene Nerd im Keller, der Langeweile hatte.
Manche halten sich an gewisse Standards, manche nur an ihre eigenen. Manche schreiben ihre PlugIns eigentlich nur für die von Ihnen favorisierten Themes und verlassen sich auf Funktionen und auf Code, der dort vorzufinden ist. Oder auf andere PlugIns, die ihrer Meinung nach ja nun wirklich jeder braucht.

Oder anders:

  • Themes und PlugIns sind vom Core abhängig; das ist kein Problem, der Core ist ja auf jeden Fall da. Manchmal wird er nur aktualisiert.
  • Manche PlugIns sind von bestimmten Themes abhängig. Das kann schnell ein Problem werden.
  • Manche PlugIns sind von anderen PlugIns abhängig. Na gut, Zähne zusammen und halt nochmal auf „Installieren“ klicken.
  • Manche Themes sind von PlugIns abhängig.
  • Manche Themes und/oder PlugIns sind abhängig von Scripts, die auf den ersten Blick gar nichts mit WordPress zu tun haben.

Na? Wer mag ausrechnen, wie viele Kombinationsmöglichkeiten es gibt?
Ach ja: Manche PlugIns funktionieren nicht, wenn andere installiert sind. (Z.B. können der quasi-Standard für Kommentar-Abos und der deutsche quasi-Standard für Spam-Schutz nicht gut miteinander)
Und nochmal ach ja: Wenn WordPress aktualisiert wird, dann müssen oft auch PlugIns und Themes auf Änderungen abgestimmt werden. Noch eine Fehlerquelle.

Ich habe eine Zeit lang wirklich viel mit WordPress gearbeitet aber ich unterstelle, dass selbst die Cracks in reinen WordPress-Agenturen da unmöglich einen vollständigen Überblick haben können. Und vermutlich wurde bei den meisten laufenden WordPress-Installationen nicht jedes PlugIn und jede Theme-Datei geprüft, sondern es läuft nach dem Prinzip: Wenn’s einmal lüppt, fassen wir’s nicht mehr an, dann wird’s schon gut gehen.

Nochmal: Auch ich kann das alles schon (fast) immer (mindestens irgendwie) hinbiegen. Aber dass vorfreudige Blog-Autoren, die eigentlich schon an der Tastatur kratzen und ja „wissen“, dass WordPress in 5 Minuten installiert ist da komisch gucken, finde ich arg verständlich. Die ganzen Probleme muss niemand wissen, der eigentlich los bloggen oder schnell eine Website für sein StartUp haben möchte, aber Ruf und Wirklichkeit können da – je nach eigenen Ansprüchen – blitzschnell weit auseinander gehen.
Zwischenfazit: Den Ruf, dass WordPress die ideale Lösung für „mal eben“ ist finde ich schon bis jetzt etwas problematisch.

Und dann noch: Der Datenschutz
Ja, das Thema nervt viele einfach, deswegen möchte ich nur kurz sagen, dass manche PlugIns spätestens im geschäftlichen Bereich in Deutschland nicht benutzt werden dürfen. Ob man’s trotzdem tut und ob man evtl. irgendwann abgemahnt wird … – tja.

Und dann noch: Die Sicherheit
Das nächste Problem: Wie gesagt habe ich dieses Jahr schon einige Zeit damit verbracht, gehackte Blogs wiederherzustellen.
Warum wird WordPress gern gehackt?
Naja, zum einen ist WordPress’ Beliebtheit das erste Problem. Nehmen wir mal Hacker Y und den worst case (für uns) bzw. super-Glücksfall (für ihn) an und es gibt eine Sicherheitslücke in WordPress selbst. Bei ein paar Millionen Installationen gibt es also gleich ein paar Millionen möglicher Angriffssziele. Eine viel lohnendere Geschichte, als sich um ein Nischen-CMS zu kümmern, was vielleicht ein paar zehntausend Installationen hat.
WordPress selbst ist allerdings ziemlich hinterher, bekannte Lecks so schnell wie möglich zu schließen. Ob allerdings jeder PlugIn- oder Theme-Entwickler da ähnlich aufmerksam ist, weiß man einfach nicht, man kann nur hoffen.
Ein beliebtes Einfalltor für Hacker war z.B. lange Zeit das quasi-Standard-PlugIn für Bildergalerien, denn das war abhängig von einem Script, das Bilder verkleinern kann und das eben nicht sicher war. Muss man drauf kommen.

Exkurs: Was macht denn so ein Hacker dann?
Machen wir – dieser Text ist eh schon viel zu lang, da kommts auch nicht mehr drauf an – doch einen kleinen Exkurs.
Dieses Jahr habe ich erlebt:

  • Das Blog sah aus wie immer und liess sich bedienen wie immer. Nur im Hintergrund lief auf dem Server auch noch eine Seite, die verdächtig wie PayPal aussah und unbedingt PayPal-Nutzername und -passwort haben wollte.
 Das macht jetzt meinem Blog wenig, aber wenn Google das rausfindet, fliegt man schnell aus dem Index und ist somit für Kunden unsichtbar. Und wenn der Webhoster das rausfindet, schmeisst er einen im Zweifelsfall auch mal fristlos raus. Darf er. Steht im Vertrag.
  • Das Blog sah so aus wie immer, nur das erste Posting beschimpfte in wüsten Worten den IS. Bei aller Antipathie für den IS, man möchte das nicht auf seiner (Business?-)Startseite
  • Das Blog sah nicht so aus wie immer und war einfach weg. Man möchte das nicht.
  • Das Blog sah so aus wie immer. Jedenfalls für menschliche Besucher mit Firefox oder Safari oder so. Google hingegen sah fleißig Werbung für Online-Poker und so fliegt man auch ganz fix aus dem Google-Index.

Fassen wir zusammen
Von WordPress wird sehr oft behauptet, es sei ein ideales CMS, um mal eben eine Website aufzusetzen.
Gibt man sich mit einem Standardblog im Standardlayout mit den Standard-Funktionen zufrieden, dann ist das auch so.
Möchte man aber etwas individuelleres, dann potenzieren sich mit jeder neuen Funktion sowohl der Arbeitsaufwand beim Anlegen als auch bei der Pflege.
Wenn Dein Business von der Website abhängt, dann vergiss bitte das „mal eben“. Und am besten zeig Dich auch etwas flexibel bei der pixelgenauen Ausgabe aller Funktionen, die Dein Grafiker sich vielleicht so wünscht, die aber vielleicht das (gute, sichere) PlugIn einfach nicht kann.

Alternativen
Und überhaupt: Wenn es darum geht, eine kleine Website aufzusetzen, die eine Startseite, ein paar statische Seiten und vielleicht ein Portfolio haben soll, dann gibts auch andere Möglichkeiten. Sogar wenn Deine Site auch ein kleines Blog dabei haben soll. Ich z.B. arbeite sehr, sehr gern mit ProcessWire. Das hat den schöneren, einfacheren Administrationsbereich** und kann lustige Fanpages, Foto-Portfolios mit Blog, klassische Firmenseiten und noch vieles, vieles mehr.
Es gibt keine fertigen Themes, aber weil die Programmierung so unendlich genial einfach ist, ist es nicht viel teurer, sich dort etwas vollkommen individuelles programmieren zu lassen. Aber das ist nur meine persönliche Vorliebe. Aber vielleicht ja auch ein Anstoß, mal über den Tellerrand hinauszublicken, auch wenn Millionen von diesem Tellerchen essen.

Nachtrag:
Das allerschönste beim Veröffentlichen dieses kleinen Artikels war, dass (vermutlich) das Autoupdate von WordPress das vor ein paar Tagen lief exakt so ein Problem erschaffen hatte, vor dem ich in diesem Artikel warnte. Man konnte leider nicht mehr kommentieren. Tja, schade, vor allem weil das ja ein Fehler ist, den man selbst nur mitbekommt, wenn ein aufmerksamer Besucher sich zurückmeldet.
AntispamBee war der Übeltäter. Läuft scheinbar mit dem Update (vorerst?) nicht mehr.
Das Drama spielte sich auf Twitter ab und wer mag, kann es hier nachlesen.

@jawl Und passend zum Artikelinhalt hast Du Deine Kommentarfunktion zu einem Adventure umgebaut?— Thomas Renger (@dentaku) 9. März 2017

*) Nur der Vollständigkeit halber: Ich könnte natürlich auch direkt am Theme etwas ändern, aber da Themes gelegentlich Updates bekommen, wären meine Änderungen bei jedem Update weg. Also lässt man das.
**) Übrigens: Das WordPress-Backend ist nicht einfach oder übersichtlich. Das glaubt man nur, wenn man schon lange damit arbeitet und die meisten Optionen einfach gedanklich oder mit einem weiteren(!) PlugIn ausblendet.

Dieser Artikel wurde zuerst am 9.3.2017 veröffentlicht im jawl, meinem alten Blog. Das jawl ist geschlossen aber diesen Artikel wollte ich gern behalten und habe ihn deswegen in ein Archiv alter Artikel aufgenommen.

Danke fürs Teilhaben und Dabei-sein. Wenn Sie wollen:
Hier können Sie mir ’ne Mark in die virtuelle Kaffeekasse werfen,
Oder – wenn Ihnen Geld zu unpersönlich ist – hier ist meine Wishlist. Sie finden dort formschöne und Freude-spendende Geschenke für wenige oder auch sehr viele Euro.

Die Website setzt 1 notwendiges Cookie. Ich nutze Matomo, um zu sehen, welche Artikel Sie interessieren. Matomo ist lokal installiert es werden keine Cookies gesetzt, so dass Sie dort vollkommen anonym bleiben. Externe Dienste werden erst auf Ihre Anforderung genutzt.