Bedrock – der moderne WordPress-Workflow

Mit seiner Veröffentlichung im Jahr 2003 ist WordPress eines der ältesten Content-Management-Systeme und bietet seither seinen Nutzern die Möglichkeit, schnell eine Website zu erstellen. Hierfür stehen Tools zur Verfügung, die eine echte, intuitive Kontrolle über Inhalte bieten. Und trotz aller Vorzüge und der anhaltenden Beliebtheit zeigen sich im Workflow mit WordPress immer wieder Hürden und Fehler, die nach einer Modernisierung verlangen. Und genau an dieser Stelle kommt Bedrock ins Spiel – ein Versuch, WordPress in eine Zwölf-Faktoren-App zu verwandeln. Dieser Ansatz stammt von Roots, einem Entwicklerteam, das Tools zur Verbesserung des Entwicklungsprozesses für WordPress entwickelt und pflegt. Welche Vorteile und Funktionen verstecken sich nun hinter Bedrock? Und warum sollte Deine nächste Website mit Bedrock erstellt werden? Das erklären wir dir im folgenden Beitrag.

Bedrock – eine erste Annäherung

Bevor wir gleich mitten in die Bedrock-Welt eintauchen, wollen wir zunächst einmal Klarheit schaffen, was sich hinter dieser Bezeichnung eigentlich genauer verbirgt. Bedrock ist ein Open-Source-Projekt, das als Basis für WordPress-Projekte verwendet wird. Diese Entwicklung stammt aus den Händen von Roots, die damit WordPress näher an die Zwölf-Faktoren-App-Methodik heranführen. Unter Twelve-Factor ist eine Art Best Practices-Leitfaden zu verstehen, der sich dann erfüllt sieht, wenn,

  • eine Anwendung explizit externe Codebasen definiert, von denen sie abhängt, und
  • wenn die Konfiguration für diese Anwendung aus der Umgebung gezogen werden kann, egal wo sie bereitgestellt wird.

Auf Basis dieser Methodik werden Builds wiederholbar und somit zuverlässiger – etwas, das WordPress nicht standardmäßig befolgt und deshalb immer wieder für Schwierigkeiten bei der Wartung sorgt. Bedrock setzt an dieser Stelle an und konzentriert sich direkt auf die WordPress-Installation. Konfiguration und Anpassung werden vereinfacht, indem eine vollständige Integration in den PHP-Paketmanager Composer erfolgt.

Mit Bedrock wird somit eine Möglichkeit geschaffen, eine WordPress-Installation mit einer verbesserten Ordnerstruktur, modernen Entwicklungswerkzeugen sowie einer optimierten Sicherheit zu verwalten. Das Resultat? Die veränderte Ordnerstruktur erschwert Hackern einen Angriff auf die Website.

Der klassische WordPress-Workflow

Um ein tieferes Verständnis zu erlangen, packen wir das Problem an der Wurzel und diese führt uns zum klassischen WordPress-Workflow. Zunächst kann WordPress sowohl auf dem lokalen Rechner als auch auf einem Produktionsserver heruntergeladen und installiert werden. Bei einer klassischen Installation wird üblicherweise auf ein Git-Repository verzichtet und die Daten per FTP vom Entwicklungs- auf den Production-Server geladen. Klingt nun alles etwas kompliziert? Wichtig ist an dieser Stelle zu verstehen, welche Probleme durch diesen Arbeitsablauf konkret entstehen:

  • Jeder, der einen Admin-Zugang zu WordPress hat, kann Änderungen an der Seite vornehmen. Allerdings bietet sich hierbei keine Möglichkeit, die Änderungen nachzuvollziehen. Fehlerquellen können somit im Nachgang nicht mehr geklärt werden. 
  • Mit der Aktualisierung von WordPress oder Plugins können Fehler entstehen, die die Seite zerstören können. Denn Plugins und Themes werden meist über den Admin-Bereich von WP upgedatet. Gerne auch eine Fehlerquelle, wenn diese Änderungen nicht durch die Entwickler, sondern die Kunden selbst vorgenommen werden. 
  • In der Nutzung von WordPress kann es zu unterschiedlichen Versionen kommen, sodass der lokale Zustand und das Backend nicht deckungsgleich sind, was zu einer weiteren Fehlerquelle wird.

Das große Thema dabei ist, dass all diese manuellen Vorgänge eine erhöhte Fehleranfälligkeit mit sich bringen. Diese bedeuten unter anderem Ausfallzeiten der Seite, die mit entsprechenden finanziellen Verlusten einhergehen können.

Willkommen in der Bedrock-Welt

Und nun sollen alle altbekannten Probleme im Umgang mit WordPress einfach gelöst werden können? Ja! Denn Bedrock bringt eine simple Konfiguration mit, stellt einfache Ein-Befehl-Deployments zur Verfügung und schafft explizite Abhängigkeiten, die vom Composer verfolgt werden. Das bedeutet konkret: Weniger Probleme mit manuellen Vorgängen, dafür mehr Automatisierung. Denn mit Bedrock und einem Git-Repository kann gewährleistet werden, dass Updates nachvollziehbar sind und vor dem Einspielen getestet wurden.

Bedrock-Funktionen im Überblick

Mit Bedrock gehen einige Funktionen einher, die zu wahren Problemlösern von WordPress werden:

Versionskontrolle

Bedrock ermöglicht es, ein Repository für die Versionskontrolle zu nutzen. Damit wird doppelter Aufwand zur Aufnahme von Dateien in die Versionskontrolle in das Git-Repository durch Dritte vermieden.

Plugin- und Kern-WordPress-Verwaltung über Composer

Üblicherweise werden Plugins über das Admin-Dashboard installiert, was bei der Aktualisierung dann zu den bekannten Fehlern führen kann. Der Composer ermöglicht es an dieser Stelle, die Version eines Plugins zu wählen, die installiert werden soll, und diese Version zu „sperren“, um zu verhindern, dass Aktualisierungen Änderungen an der Website verursachen. Bedrock sorgt mit dieser Funktion, dass die Website sicher und online bleibt. Die Schaltfläche „Neues Plugin hinzufügen“ gehört bei Bedrock der Vergangenheit an – ebenso wie die täglichen Update-Benachrichtigungen.

Verschieben und Umbenennen des WP-Content-Ordners

Bei Bedrock ist der WP-Content-Ordner in „App“ umbenannt. Außerdem wird er aus dem Haupt-Installationsverzeichnis von WordPress verschoben, was zu einer wertvollen Sicherheitsfunktion wird.

Erweiterung mit Composer

Die Verwendung von Composer ermöglicht es, Plug-in-Updates lokal zu testen. Erst nach der Bestätigung, dass ein Update erfolgreich und ohne Probleme durchgeführt wurde, werden die Änderungen in das Repository übertragen und die neuen Plug-ins auf der Seite installiert.

Vorteile von Bedrock

Die initiale Bedrock-Einrichtung bringt diverse IT-Sicherheitsvorteile und eine neue WordPress-Struktur mit sich:

1 / 5

Ein in sich geschlossenes Projekt:

Der Nutzer erhält ein in sich geschlossenes WordPress-Projekt, das eine explizite Version von WordPress und die erforderlichen Plugins installiert (Composer-Installation), die einfach konfiguriert werden können. Dabei wird die gesamte Konfiguration in einer .env-Textdatei gespeichert und bereitgestellt. Diese umgebungsspezifischen Konfigurationsdateien werden außerhalb des öffentlichen Web-Stammverzeichnisses gespeichert und können somit nicht vom Browser angesteuert werden. Zur Trennung von Konfiguration und Code in einer einzigen -env-Datei werden Umgebungsvariablen eingesetzt. Durch diese Beschränkung des Zugriffs auf Nicht-Web-Dateien und sichere Passwörter zeigt sich eine verbesserte Sicherheit der Website. Die veränderte Ordnerstruktur von Bedrock schützt die Seiten vor Hackerangriffen.

2 / 5

Verbesserte Zusammenarbeit:

Git erleichtert die Zusammenarbeit, da man jederzeit alle vorgenommenen Schritte nachvollziehen und stets dem Protokoll entnehmen kann, wer was wann gemacht hat. Auf diese Weise können auch vorherige Zustände wiederhergestellt werden.

3 / 5

Einrichten einer mehrstufigen Umgebung:

Von Agenturseite aus kann eine mehrstufige Umgebung eingerichtet werden. So kann  beispielsweise parallel eine Entwicklungskonfiguration für die lokale Arbeit, eine Staging-Konfiguration für Tests und eine Produktionskonfiguration für die Live-Seite genutzt werden. Auch die Definition von benutzerdefinierten Konfigurationen ist möglich. So zum Beispiel ein Backup, bei dem eine 1:1-Kopie der Produktionsumgebung auf einem anderen Server gespeichert werden kann. Je nach Hosting-Anbieter kann es sogar möglich sein, direkt den aktuellen Stand aus dem Git-Repository des Kundenservers zu beziehen, wodurch der Umweg über FTP entfällt.

4 / 5

Optimierte Templates:

Dem Nutzer stehen optimierte WordPress-Templates zur Verfügung.

5 / 5

Entwicklungsumgebung:

Es steht ein virtueller Server bzw. eine Entwicklungsumgebung zur Verfügung. Der Vorteil liegt dabei in der Reproduzierbarkeit, sodass Abweichungen zwischen den verwendeten Umgebungen ausgeschlossen werden können.

Bedrock – der vielfältige Werkzeugkasten für die Website

Zusammenfassend lässt sich an dieser Stelle sagen, dass mit Bedrock Fehlerquellen von vornherein ausgeschlossen werden, beispielsweise indem unterschiedliche Versionen einer Seite vermieden werden. Der Vorgang zeigt hier, dass jeder, der an der Seite eine Änderung vornehmen möchte, sich den Stand aus Git holt, seine Anpassung durchführt und anschließend den aktualisierten Stand wieder einspielt, wo er für alle anderen wiederum sichtbar dokumentiert steht. Das fängt bereits bei der Entwicklungsumgebung an. Denn sogenannte Docker-Container ermöglichen eine genaue Nachbildung der Seite, wie sie später im Live-Zustand aussehen wird und das unter Verwendung der beispielsweise selben PHP-Version. Das vermeidet nicht nur Fehler, sondern spart auch wertvolle Zeit beim Livegang. Zeitersparnis ist damit ein weiteres großes Plus in der Verwendung von Bedrock. Denn es kann eine Basisinstallation verwendet werden, eine fertige Umgebung, die man immer wieder verwenden und individualisieren kann, in der aber bereits Standardeinstellungen, Plugins und Themes angelegt sind. Mit dieser duplizierbaren Installation kann dann sowohl eine lokale Entwicklerseite, die getestet werden kann, erstellt werden, aber auch eine Staging-Seite, die zur Ansicht des Kunden dient und später Live gezogen wird. Mit der Aufnahme von Themes in die Versionsverwaltung ergibt sich auch hier die Möglichkeit, diese immer wieder zu verwenden und weiterzuentwickeln. 

Das Ergebnis? Fehlervermeidung, Zeitersparnis und mehr Sicherheit.

Let´s Bedrock your Website! 

Bereit für eine Website von morgen? Bereit für maximale Sicherheit und Automatisierung? Dann lass uns ins Gespräch kommen und Deine neue oder aktualisierte Website gemeinsam angehen. Wir begleiten dich vom MVP bis zur fertigen, umfangreichen Website und darüber hinaus mit allen Servicefunktionen. 

Wir sollten uns kennenlernen.

E   post@grand-digital.de
T   089.26 48 51-450