CMSstash

WordPress

WordPress ist derzeit das mit Abstand am häufigsten genutzte System für Webseiten. Das im Jahr 2003 als Blog-Software gestartete Open-Source-Projekt ist inzwischen zu einem extrem flexiblen und erweiterbaren Content-Management-System gereift, mit dem Millionen von Webseiten auf der ganzen Welt betrieben werden. Darunter finden sich längst nicht mehr nur noch Blogs, sondern auch unzählige Corporate Websites und ausgereifte Publishing-Projekte etablierter Verlage.

Screenshot der WordPress Startseite

Ein Geheimnis des Erfolges: WordPress hat es verstanden, das System auf der einen Seite sehr flexible zu gestalten und auf der anderen Seite die Einstiegshürden für Autoren und für Code-Einsteiger so niedrig zu halten, dass beinahe jeder mit WordPress zumindest irgend etwas auf die Beine stellen kann. Die berühmte 5-Minuten-Installation ist dafür ebenso ein Symbol wie die über 40.000 Plugins, von den Themes ganz zu schweigen. Heute ähnelt WordPress in vieler Hinsicht einem selbstgehosteten Website-Builder, und mit diesem Konzept ist das System derzeit mehr oder weniger konkurrenzlos.

Die hohe Verbreitung und die enorme Flexibilität hat natürlich auch seine Schattenseiten. Und nicht jeder ist ein glühender Anhänger von WordPress. Die Qualität des Codes, Sicherheitslücken, die zunehmende Komplexität des Systems und insgesamt der historische Ballast sind dabei nur einige Kritikpunkte. Dennoch kann WordPress angesichts des enormen Erfolges mit seiner Strategie nicht ganz falsch liegen.

WordPress für Content Editoren

WordPress hat eine funktionsreiche, vergleichsweise jedoch nutzerfreundliche Autoren- und Administrations-Oberfläche. Es gibt Buttons für so ziemlich alles, angefangen mit der Erstellung simpler Posts bis hin zu einer weitgehenden Individualisierung der WordPress-Installation mit Themes, Plugins, Konfigurationen, Menüs, Widgets und mehr.

Screenshot des WordPress Dashboards

Für die Erstellung von Inhalten bietet WordPress alles, was ein Autor braucht: Eine Medien-Bibliothek, Taxonomien, Entwürfe, eine Versionierung, ein mächtiges Kommentarsystem, ein User-Management, eine Suche und viele Optionen für die Anpassung der Webseite. Die Menüs und Widgets sind über das User-Interface anpassbar und in vielen Fällen per Drag & Drop positionierbar. So lassen sich je nach Template Navigationen, Artikel-Listen, Tag-Wolken oder statische Inhalte auf der Seite platzieren. Und falls eine Möglichkeit fehlen sollte, gibt es mit ziemlicher Sicherheit ein passendes Plugin dafür.

Die Inhalte werden über einen klassischen HTML-Editor erstellt. Zusätzlich gibt es Eingabefelder für Tags, Kategorien, Meta-Informationen und Vieles mehr. Die Editier-Ansicht kann individualisiert und verschiedene Informationen wie Slugs, Diskussionen oder Revisionen ein- und ausgeblendet werden. Kurz: Redakteuren wird es schwer fallen, irgendwelche Limitierungen in dem System zu finden.

Der Nachteil dieser Flexibilität: Für eine simple Webseite fühlt sich WordPress inzwischen recht überladen und träge an. Vor allem in Kombination mit den recht beliebten Website-Builder-Themes kann man als Einsteiger schon mal den Überblick verlieren.

WordPress für Entwickler

WordPress startete als PHP-System mit einem prozeduralen Code-Stil und ist mit der Zeit in Teilen auf Objekt-Orientierung umgestiegen. Im Gegensatz zu vielen anderen Systemen dominiert jedoch bis heute in vielen Bereichen ein eher prozeduraler Stil. Das hat dem CMS viel Kritik eingebracht, allerdings auch die Einstiegshürden für Anfänger niedrig gehalten.

WordPress ist dank der berühmten 5-Minuten-Installation schnell und einfach lauffähig. Man muss lediglich den WordPress-Ordner herunterladen, eine Datenbank erstellen (MySQL oder MariaDB), dann die WordPress-Datei wp-config-sample.php in wp-config.php umbenennen und die Datenbank-Zugänge in die wp-config.php eintragen. Zum Schluss besucht man seine-domain.com und füllt die Formulare für die Installations-Routine aus. Viele Webhoster bieten bei ihren Packeten bereits eine Installation per Knopfdruck an, sodass man sich selbst diese Routine sparen kann.

Vorsichtig muss man allerdings bei einer Migration von WordPress sein, zum Beispiel von der lokalen Umgebung in die Live-Umgebung. Denn WordPress speichert zahlreiche Referenzen des Domain-Namens in der Datenbank, was sicherlich eher zu den schmutzigen Details des Systems gehört. Eine Anleitung für Migrationen hilft in solchen Fällen.

Ein paar grundlegende Aspekte für die Entwicklung mit WordPress sind:

Während Plugins bei WordPress sowohl prozedural, als auch vollständig objektorientiert geschrieben werden können, herrscht bei der Theme- und Template-Entwicklung der prozedurale Stil vor. In der WordPress-Dokumentation findet man eine lange Liste mit sogenannten Template-Tags, die in vielen Fällen nicht nur Roh-Daten, sondern häufig auch schon fertiges Markup mitliefern. Dynamische Inhalte und Listen werden mit dem WordPress-Loop ausgegeben. Ein typisches Template-Versatzstück für WordPress sieht wie folgt aus:

<?php if ( have_posts() ) : ?>
    <div class="hfeed">
        <?php while ( have_posts() ) : the_post(); ?>
            <article id="post-<?php the_ID() ?>" class="<?php post_class() ?>">
               <h3><?php the_title(); ?></h3>
            </article>
        <?php endwhile; ?>
    </div>
<?php endif; ?>

Das prozedurale Theming mit optional objektorientierten Erweiterungen hat die Einstiegshürden für WordPress immer sehr niedrig gehalten. Selbst Anfänger können ohne tiefe Programmier-Kenntnisse über den Katalog von Template-Tags bis zu einem gewissen Grad eigene Themes erstellen oder zumindest bestehende Themes anpassen. Was auf der einen Seite für Offenheit sorgt, führt auf der anderen Seite jedoch immer wieder zu einer Code-Qualität, die von vielen Entwicklern kritisiert wird.

WordPress für Nicht-Entwickler

WordPress hat sich schon immer an den Endnutzer gewendet und einen einfachen Einstieg garantiert. Mit einer schnellen Installation, mit unzähligen Themes und tausenden Plugins kann so gut wie jeder eine eigene WordPress-Seite betreiben und zu einem gewissen Grad individualisieren. Durch die riesige Auswahl und die gewachsene Komplexität kann eine WordPress-Seite in Eigenregie allerdings auch sehr viel Zeit in Anspruch nehmen.

Als Code-Einsteiger kann man über die Verwendung von Template-Tags relativ schnell Erfolge sehen und für so ziemlich jedes Problem irgendwo eine Hilfestellung finden. Allerdings verleitet das recht laxe System von WordPress auch schnell zu einem fahrigen Code-Stil und vermittelt nicht immer die aktuellen Best Practices.

Kosten

WordPress ist Open-Source und komplett kostenfrei. Zusätzlich gibt es natürlich einen riesigen Markt für Plugins, Themes und Dienstleistungen. Viele davon sind ebenfalls kostenlos, andere sind kostenpflichtig, wieder andere folgen dem Freemium-Modell: Man bekommt die Basis-Version kostenlos und zahlt dann für fortgeschrittene Funktionen.

Empfehlung: Wann macht WordPress Sinn?

In der Praxis wird mit WordPress nahezu alles gebaut: Vom simplen One-Pager über Shops bis hin zu kompletten Magazin-Projekten von etablierten Verlagen. Die marktbeherrschende Stellung, die enorme Flexibiltät und das breite Dienstleister-Angebot sind überzeugende Argumente. Hinzu kommt, dass sich viele Anwender und sogar Entwickler kaum mit Alternativen beschäftigen und schon aus Gewohnheit auf WordPress zurückgreifen.

Dennoch kann man den Einsatz von WordPress in vielen Fällen in Frage stellen:

Sinnvoll ist der Einsatz von WordPress bei dynamischen Publishing-Projekten wie Blogs und Magazinen, in vielen Fällen auch bei mittelkomplexen Business-Auftritten. Außerdem bietet WordPress genug Flexibilität, um auf einem vergleichsweise niedrigen Level verschiedene Konzepte auszuprobieren und nach Marktlücken zu suchen. Man kann mit einem Blog starten, im Erfolgsfall (mit viel Arbeit) einen Shop hinzufügen oder es mit einer Community versuchen. Hat man ein tragfähiges Konzept gefunden, kann man immer noch einen Technologie-Wechsel in Erwägung ziehen. Wer allerdings schon ein klares und funktionierendes Konzept hat und sich ohnehin auf Entwicklungs-Kosten einstellt, der dürfte in vielen Fällen mit anderen Systemen besser fahren.