WordPress

WordPress ist ein freies Content-Management-System (CMS). Es wurde ab 2003 von Matthew Mullenweg als Software für Weblogsprogrammiert und wird als Open-Source-Projekt permanent weiterentwickelt. WordPress wird von über 63 % aller Websites (Stand Mai 2023), deren CMS bekannt ist, eingesetzt und ist damit das am weitesten verbreitete System zu deren Betrieb.[6] Von einer Million der meistbesuchten Websites nutzt rund ein Drittel WordPress.[7]

In WordPress kann jeder Beitrag frei erstellbaren Kategorien zugewiesen werden. Navigationselemente werden automatisch passend erzeugt. Weiter bietet das System Leserkommentare mit der Möglichkeit, diese vor der Veröffentlichung erst zu prüfen, eine Verwaltung der Benutzerrollen und -rechte und die Möglichkeit externer Plug-ins, womit WordPress in Richtung eines vollwertigen CMS ausgebaut werden kann.[8]

WordPress basiert auf der Skriptsprache PHP(empfohlen wird PHP 7.4 oder höher) und benötigt eine MySQL– oder MariaDB-Datenbank.[9] Es ist eine freie Software, die unter der GNU General Public License (GPLv2) lizenziert wurde. Laut Aussage der Entwickler legt das System besonderen Wert auf Webstandards, Eleganz, Benutzerfreundlichkeit und leichte Anpassbarkeit. WordPress entstand auf Basis der Software b2.

Geschichte

In den Jahren 2001/2002 entwickelte Michel Valdrighi ein in PHP geschriebenes Weblogsystem mit dem Namen b2/cafelog, das unter GPL veröffentlicht wurde. Einige Monate nachdem Valdrighi die Entwicklung von b2 eingestellt hatte, gab Matthew Mullenweg im Januar 2003 in seinem Blog bekannt, dass er auf der b2-Codebasis eine neue Weblog-Software schreiben wolle, die einfach zu bedienen, flexibel und gut anpassbar sein sollte.[10] Kurze Zeit später startete er zusammen mit Mike Little die Entwicklung von WordPress.

Die erste stabile Version von WordPress erschien am 3. Januar 2004. Ab Version 1.0.1 sind alle Hauptversionen nach Jazzmusikern benannt.[11] Nachdem sich auch Michel Valdrighi der Entwicklergruppe um Mullenweg angeschlossen hatte, wurde WordPress zum offiziellen Nachfolger von b2.[12] Im Laufe der Jahre wurde der Funktionsumfang immer weiter ausgebaut. Ab der Version 1.5 („Strayhorn“) unterstützt WordPress das Verwalten von statischen Seiten, also Beiträgen außerhalb der normalen Weblogchronologie. Damit war die Grundlage geschaffen, um WordPress nicht nur als reine Weblog-Software, sondern auch als einfaches Content-Management-System nutzen zu können.

Im August 2005 gründete Matt Mullenweg zusammen mit einigen anderen Entwicklern das Unternehmen Automattic mit dem Ziel, weitere Dienste rund um das Bloggen anzubieten und die Entwicklung von WordPress besser zu koordinieren. Im selben Jahr startete Automattic den Bloghosting-Dienst WordPress.com, der auf der Multi-User-Version von WordPress basiert. Ein Jahr später fand das erste WordCamp, ein informelles Treffen ähnlich einem Barcamp, in San Franciscostatt.[13]

WordPress Foundation

Die WordPress Foundation mit Sitz in San Francisco[14] wurde von Matt Mullenweg gegründet, um die Entwicklung von WordPress zu unterstützen. Vorsitzender (Principal Officer) ist Mullenweg selbst. Es ist eine gemeinnützige Organisation nach 501(c)(3). Sie hat von Automattic den Auftrag, die Marken WordPress, WordCamp und andere zu schützen.[15]

2007 gewann WordPress den Open Source CMS Award in der Kategorie Best Open Source Social Networking Content Management System und 2009 in der Kategorie Overall Best Open Source CMS.[16]

WordPress wurde im Jahr 2014 auf etwa 75 Millionen Websites eingesetzt.[17] 2015 wurde etwa ein Viertel aller Websites mit WordPress betrieben, gefolgt von Joomla und Drupal mit einem Marktanteil von jeweils etwa fünf Prozent.[18] Die im November erschienene Version 4.9 war bis August 2018 etwa 136,6 Millionen Mal heruntergeladen worden.[19] Mit Stand vom März 2022 basieren laut W3techs 64,9 % aller Websites, die mithilfe eines Content-Management-Systems erstellt wurden, auf WordPress. Das entspricht einem Anteil von etwa 43,2 % aller Websites im Internet.[20]

Funktionen

Grundlegende Funktionen

WordPress ist eine Content-Management-Plattform, die es ermöglicht, Websites ohne umfassende Programmierkenntnisse zu erstellen und zu verwalten. Dabei liegt der Fokus auf einer benutzerfreundlichen Oberfläche zum Erstellen, Bearbeiten und Veröffentlichen von Inhalten, wie Seiten und Beiträge. Das System ist sowohl für Einsteiger als auch für erfahrene Entwickler geeignet, um verschiedene Arten von Websites zu erstellen. Ursprünglich startete WordPress als Blog-Software, so dass es noch immer viele diesbezügliche Funktionen bietet, beispielsweise Kategorien, Tags und weitere selbst definierte Taxonomien (mittels „Custom Taxonomies“). Die Blog-Beiträge werden neben der normalen Darstellung als Webseite den Lesern auch über Web-Feeds in den Protokollen RSS 2.0, RSS 0.92, RDF 1.0 und Atom 0.3 angeboten.[21] Neben Beiträgen für den Blog werden auch statische Seiten erstellt und verwaltet, die das Grundgerüst für die permanenten Informationen einer Website bilden.

Seit der Version 2.6 wird zudem die Versionierung von Beiträgen und Seiten unterstützt. Weiterhin kann WordPress Kommentareinträge verwalten. Es existiert ein einfaches Redaktionssystem mit fünf Benutzerrollen (Administrator, Redakteur, Autor, Mitarbeiter, Leser), eine Mediengalerie, über die man Daten hochladen kann, und eine integrierte Volltext-Suche. Außerdem ist standardmäßig TinyMCE als Texteditor aktiviert. Im Dezember 2018 wurde TinyMCE, eine Technologie zur Textformatierung, durch den Gutenberg-Blockeditor ersetzt. Mit dem neuen Editor müssen Nutzer keine CSS- oder HTML-Kenntnisse mehr besitzen, um Websites zu gestalten. Seit der Einführung des Gutenberg-Editors besteht außerdem die Möglichkeit, Blogbeiträge an jeder beliebigen Stelle im Content anzeigen zu lassen, ohne dafür ein Plug-in oder einen Shortcode benutzen zu müssen.

Plug-ins

Mit Hilfe von Plug-ins kann WordPress um diverse Funktionen erweitert werden. Alle diese Erweiterungen lassen sich mittels des eingebauten Code-Editors bearbeiten.

Insgesamt sind im Oktober 2019 im Plug-in-Verzeichnis rund 55.000 freie Plug-ins verfügbar.[22] Es gibt beispielsweise Plug-ins, die die Verwendung anderer Anmeldeverfahren wie LDAPOpenID oder Shibboleth ermöglichen, den eigenen Blog mit Twitter verbinden oder WordPress um eine Statistik-Funktion erweitern.

Plug-ins werden in der Regel von Drittanbietern entwickelt und können dann – unter bestimmten Richtlinien – entweder im offiziellen WordPress-Plug-in-Verzeichnis oder autark davon angeboten werden.

Automattic bietet zudem Plug-ins, die eine Verbindung mit den anderen hauseigenen Projekten wie der Forensoftware namens bbPress oder Services wie dem Anti-Spam-Dienst Akismet ermöglichen. Akismet ist das einzige Plug-in, welches als Standard vorinstalliert ist.

Themes

Hierarchie innerhalb eines WordPress-Themes

Das Aussehen einer Webseite wird in WordPress durch Themesfestgelegt. So werden Design und Programmkern von WordPress getrennt, wodurch individuelle Designs entwickelt werden können, ohne mit der Programmierung der Software an sich vertraut zu sein. Allerdings ist es in WordPress auch möglich, diverse Funktionen direkt in ein Theme zu programmieren, wodurch diese Trennung teilweise wieder aufgehoben werden kann.

Die meisten Themes bestehen aus PHP-Funktionen, HTML-Code sowie CSS-Dateien und haben einen grundlegend gleichen Aufbau. Daher gibt es von einigen Entwicklern spezielle Themes, die bereits alle notwendigen Elemente beinhalten und somit die Entwicklung eines eigenen Themes vereinfachen. Themes können ebenso wie Plug-ins im Editor des Grundsystems bearbeitet werden, ab Version 4.9 wird dabei Syntaxhervorhebung und ein Speichern von Entwürfen unterstützt.

Von Version 1.5 bis 3.0 war das voreingestellte Theme Kubrick (benannt nach Regisseur Stanley Kubrick). Ab Version 3.0 verwendet WordPress standardmäßig das neue Theme Twenty Ten (dt. 2010), die bisher enthaltenen Themes Classic und Default (Kubrick) sind nur noch separat erhältlich. Seither werden die jährlich erscheinenden Standardthemes nach dem Jahr der Veröffentlichung benannt (also Twenty ElevenTwenty Twelve usw. bis aktuell Twenty Twenty-Four).[23][24][25][26] Die Zukunft der Jahres-Themes wurde im Oktober 2021 in Frage gestellt.[26] Auf den Websites der Entwickler und über den eingebauten Theme-Browser sind zudem viele weitere Themes für WordPress verfügbar. Themes fallen genauso wie WordPress selbst unter die GPL.[27]

Sowohl bei den Themes als auch bei den Plug-ins gibt es kostenlose und kostenpflichtige Angebote. Kostenlose Themes durchlaufen, sofern sie über das WordPress-Repository installierbar sind, einen Freigabe-Prozess durch verifizierte WordPress-Entwickler. Kostenpflichtige Themes sind hingegen nur bei Drittanbietern erhältlich und bieten häufig Zusatzfunktionen, die mit kostenlosen Themes nicht mitgeliefert werden. Um WordPress nutzen zu können, bedarf es mindestens eines installierten Themes.

Child Themes

WordPress bietet die Möglichkeit, mit Hilfe von Child Themes das Design sowie die Funktionalität eines bereits installierten Themes (genannt Parent Theme) anzupassen und zu erweitern, ohne die Update-Sicherheit zu gefährden. Ein Child Theme ersetzt dabei einzelne Codeteile des Parent Themes. Diese Änderungen werden separat gespeichert und bei Updates des Parent Themes nicht überschrieben.[28]

Block-basierte Themes

Am 25. Januar 2022 stellte Matt Mullenweg, der WordPress-Gründer, die neue Version 5.9 „Joséphine“ vor, mit der erstmals ein Block-basiertes Theme als Standard-Theme ausgeliefert wurde.[29] Die neue Architektur dieser Themes basiert auf dem Gutenberg-Editor und ermöglicht die vollständige Bearbeitung aller visuellen Bereiche des Themes über den Block-Editor. Diese WordPress-Themes enthalten Vorlagen, die vollständig aus Blöcken bestehen, so dass zusätzlich zu den Inhalten der verschiedenen Beitragstypen (Seiten, Beiträge etc.) auch alle anderen Bereiche der Website mit dem Block-Editor bearbeitet werden können, wie Header, Footer, Sidebars usw.[30] Dafür wurde Twenty Twenty-Two mit „so wenig CSS wie möglich“ ausgeliefert und ermöglicht es, sämtliche Stile über die Datei theme.json zu konfigurieren.[31]