WordPress Programmierung aus Hamburg

Damit ihr wirklich bekommt, was eure User brauchen.

Mit zusätzlicher und passgenauer Programmierung unterstütze ich euch bei der Umsetzung eurer Ziele. Als Profi für smarte und benutzerfreundliche Lösungen kann ich auf einen langjährigen Erfahrungsschatz zurückblicken. Auf dieser Seite werfen wir gemeinsam einen Blick hinter die Kulissen. Beispiele zum Ausprobieren veranschaulichen die Konzepte.

1

Warum WordPress?

Content Management System – CMS

Der wichtigste Aspekt bei der Planung einer Website ist die Frage, mit welchem Aufwand und technischen Kenntnissen sich die Inhalte im laufenden Betrieb ändern und aktualisieren lassen. Das sollte für die Betreiber und Betreiberinnen ein Kinderspiel sein und leicht von der Hand gehen. Dafür ist ein Content Management System (CMS) da, also eine Möglichkeit, die Inhalte unkompliziert zu erstellen und zu pflegen.

Es gibt mehrere CMS, die sicher ihre Berechtigung und Stärken haben und es spricht auch nichts dagegen, mit der notwendigen Programmiererfahrung ein CMS selbst zu erstellen. Das habe ich vor Jahren auch schon erfolgreich für zufriedene Kunden gemacht.

WordPress ist ein solches CMS. In verschiedenen Projekten hatte ich auch mit weiteren CMS zu tun, die allesamt mehr Aufwand erfordern und sich in der Handhabung als weniger intuitiv erwiesen. Im Gegensatz dazu ist das Konzept von WordPress überzeugend und schlüssig. Es eignet sich am besten, in kurzer Zeit die Ideen und Ziele umzusetzen, die hinter einem Webprojekt stehen.

WordPress: Open Source seit über 20 Jahren

WordPress ist Open Source und damit unabhängig von Herstellern und Plattformen. Das Gegenbeispiel sind die sogenannten Homepagebaukästen. Mit einfacher Handhabung ohne Vorkenntnisse werben deren Anbieter und dabei wird oft übersehen, dass die Anbieter ihre Kundinnen und Kunden dauerhaft an sich binden. Eine Website auf Baukasten-Basis kann niemals zu einem anderen Anbieter umziehen.

Mit einem ausgereiften und unabhängigen CMS wie WordPress gehört der Content dauerhaft euch. Eine bestehende WordPress-Website kann jederzeit zu einem anderen Webhosting-Anbieter wechseln. Die Unabhängigkeit von Herstellern und Plattformen ist gewährleistet.

Layout und Screendesign sind beliebig anpassbar

Bei WordPress sind Funktionalität, Inhalte sowie Layout strikt voneinander getrennt. Für das Aussehen der Website sind die sogenannten Themes zuständig. Wichtig zu wissen ist, dass es zahlreiche Themes gibt, viele davon lassen sich beliebig an das gewünschte Screendesign anpassen. Möglich ist auch, ein individuelles Theme aufzubauen. Bei Auswahl oder Entwicklung des Themes sind entscheidend:

  • die Ladezeiten, hier gibt es wahrnehmbare Unterschiede
  • ressourcenschonendes Konzept der Datenübertragung im Sinne der Nachhaltigkeit
  • Barrierefreiheit

Laufende Weiterentwicklung

Weltweit laufen etwa 63 % aller CMS-basierten Websites unter WordPress. Bei diesem Anteil ist klar, dass WordPress technologisch immer auf dem aktuellen Stand sein muss und ständig weiterentwickelt wird:

  • Erweiterung der Funktionalitäten
  • Aktualisierung der Sicherheitsaspekte, Schließen von neu auftretenden Sicherheitslücken
  • Verbesserung der Handhabung

2

Erweiterungen mit Plugins

WordPress ist bewusst darauf ausgelegt, eine robuste und sichere Ausgangsbasis ohne Überfrachtung zur Verfügung zu stellen. Für Erweiterungen sind Schnittstellen vorbereitet, an denen zusätzlicher Programmcode andockt. Das sind die sogenannten Plugins.

Es gibt unzählige Plugins verschiedener Hersteller für viele Einsatzzwecke. Bei unbedachtem Einsatz besteht die Gefahr, dass sie sich gegenseitig verhakeln, die Website verlangsamen oder ganz zum Stillstand bringen. Weniger ist also mehr, hier ist mit Augenmaß vorzugehen. Die eingesetzten Plugins sollten sich auf solche beschränken, die euren Usern einen echten Nutzen bringen oder euch bei der Organisation unterstützen. Sinnvoll können auch Plugins zur Suchmaschinenoptimierung (SEO) sein.

Mehrsprachige Websites

Als Beispiel für einen nutzenstiftenden Plugin-Einsatz seien mehrsprachige Websites genannt. Hierfür stehen mehrere Plugins zur Auswahl. Bei der Wahl des Plugins ist darauf zu achten, dass auch interne Strukturen wie Kategorien und Schlagwörter übersetzt werden und dass die Website im mehrsprachigen Betrieb nicht langsamer wird. Eine Anwendung findet ihr auf stiftung-zukunft-bilden.org.

Plugin-Eigenentwicklung

Wenn sich für die gewünschte Funktion eurer Website kein passendes und zuverlässiges Plugin finden lässt, dann kann ich mit individueller Plugin-Entwicklung weiterhelfen. Ein Beispiel für eine Plugin-Eigenentwicklung findet ihr auf shk-museum.de/bestand. Die Präsentation der Kunstwerke erforderte eine individuelle Lösung.

3

Onlineshop

Ein Onlineshop erweitert eure Website vom Schaufenster zum Verkaufsraum. Gerade Kreative, Künstler oder Manufakturen, die auf ausgefallene Nischenprodukte spezialisiert sind, sparen Zeit und Kosten und steigern rund um die Uhr Bekanntheit, Aufmerksamkeit und Umsatz. Unabhängig davon, ob ihr mitten in der Großstadt oder fernab davon tätig seid.

Onlineshop mit WooCommerce

WooCommerce ist das am meisten verbreitete Plugin, um einen Onlineshop in WordPress zu realisieren. Es ist kostenlos, sehr ausgereift und flexibel einsetzbar, so dass wir bei der Umsetzung voll den Fokus auf euere Stärken und Ausrichtung setzen können. Für spezielle Anforderungen stehen weitere – zum Teil kostenpflichtige – Plugins zur Verfügung.

Bei der Realisierung sollten wir darauf achten, dass das WordPress-Theme mit Schnittstellen zu WooCommerce angelegt ist. Das erleichtert auch euch die Handhabung im laufenden Betrieb.

Vorbereitungen, Aufwand und Kosten

Damit euer Angebot und die damit verbundenen Ideen und Werte wirklich bei den Interessierten ankommt, sollte der Onlineshop gut strukturiert aufgebaut sein. Aus einer Vielzahl von Software-Projekten bringe ich jede Menge Erfahrung sowie den Blick für das Wesentliche mit.

Wichtig dabei ist, in Kategorien und Suchbegriffen zu denken, die auch die Zielkundinnen und Zielkunden sprechen. Das ist nicht unbedingt eure eigene Sichtweise auf die Dinge.

Wenn ihr schon Bilder von eurem Angebot habt, ist das super! Das Beschaffen oder Anfertigen von Fotos oder Illustrationen kann aufwendig werden. Daher ist es auch schwierig, vorab einen Kostenrahmen für einen vollwertigen und zuverlässigen Onlineshop zu nennen.

Wie steht es um die Sicherheit im laufenden Betrieb?

Sie ist gewährleistet durch häufige Sicherheitsupdates – der Hersteller von WooCommerce reagiert sehr schnell auf Sicherheitslücken und neue Angriffstechniken. Dadurch sind die hinterlegten Kundendaten und Infos über den Zahlungsverkehr geschützt.

Ist der Datenschutz gewährleistet?

Für die meisten Länder, aus denen eure Kundinnen und Kunden kommen können, gibt es handelsrechtliche und datenschutzkonforme Einstellungen, die die rechtlichen Anforderungen erfüllen. Das zusätzliche Plugin Germanized für WooCommerce macht den Onlineshop fit und rechtssicher für Deutschland und erfüllt die Datenschutzgrundverordnung (DSVGO).

4

Web-Technologien und Beispiele

Im Folgenden ein kurzer Überblick über die Konzepte, die bei der Programmierung für WordPress zum Einsatz kommen. Der Schwerpunkt liegt auf der dynamischen Aktualisierung. Ziel ist, Ladezeiten und Ressourcenverbrauch zu minimieren.

4a

Server und Client

Die grundlegenden Vorgänge und Komponenten sind euch natürlich bekannt: der Client (das ist euer Endgerät, sei es Desktop, Notebook, Tablet oder Smartphone) fordert beim Aufruf einer Website die Daten vom Server an. Dieser antwortet mit einem Datenstrom, die Website wird im Browser aufgebaut und der User kann sich das Ergebnis nun ansehen.

Die Datenmengen beim Austausch zwischen Server und Client sind sehr unterschiedlich. Der Client sendet mit der Anforderung nur geringe Datenmengen, die Antwort des Servers übersteigt diese bei weitem.

Die meisten User möchten aber eine Website nicht nur ansehen, sie möchten darauf etwas machen oder suchen: einen Newsletter abonnieren, eine Kinokarte reservieren, ein Hotelzimmer buchen. Die Website muss darauf reagieren und eine Rückmeldung ausgeben.

Im technisch einfachsten Fall sendet der Server die Seite vollständig erneut an den Client, wobei sich nur ein kleiner Ausschnitt mit der Rückmeldung verändert hat. Ansonsten sind alle anderen Inhalte wie Header, Texte und Bilder sowie Footer unverändert übertragen.

Um Ladezeit und Energieaufwand zu reduzieren, gibt es dynamische Technologien, die sich auf das Wesentliche beschränken und nur den relevanten Ausschnitt im Browser aktualisieren. Hier setzt die Programmierung für WordPress an, je nach Anforderung sind die Aufgaben zwischen Server und Client unterschiedlich verteilt.

4b

Clientseitige Aktualisierung mit JavaScript

Für die clientseitige Aktualisierung liefert der Server beim Aufrufen einer Website ein Skript mit. Dieses Skript enthält Programmcode, um auf eventuelle Usereingaben reagieren zu können. Meist ist es in JavaScript geschrieben, für Word-Press-Anwendungen oft in der Version jQuery. Die Datenmengen der Skripte sind in der Regel gering.

Diese Technik ist immer dann sinnvoll, wenn für die Abarbeitung der Usereingaben keine neuen Daten vom Server notwendig sind. Die Skripte enthalten im Wesentlichen das Regelwerk, wie mit den Usereingaben umzugehen ist und sie laufen ausschließlich im Browser des Clients ab. Der Energieverbrauch findet also dort statt und der Server ist während der Ausführung nicht beteiligt.

Clientseitige Aktualisierung ermöglicht eine sehr schnelle Reaktion auf die Usereingaben.

Eine Anwendung dieser Technologie findet ihr im Abschnitt Responsives Design.

4c

Asynchroner Datenaustausch mit AJAX

AJAX ist die Abkürzung für Asynchronous JavaScript and XML. Diese Technik ist immer dann sinnvoll, wenn für die Abarbeitung der Usereingaben neue Daten vom Server erforderlich sind.

AJAX ermöglicht es, Daten zwischen dem Webserver und dem Browser asynchron auszutauschen, ohne die gesamte Seite neu zu laden. Die Aktualisierung erfolgt lediglich in definierten Teilbereichen des sichtbaren Fensterinhalts. Diese Technologie liefert den Usern eine schnelle Rückmeldung auf die Eingaben und reduziert die Serverlast, da nur die benötigten Daten übermittelt werden.

Hierzu ein Demo zum Ausprobieren, es ist auch gleichzeitig ein Beispiel für ein selbst entwickeltes Plugin.

Diese kleine Anwendung kann nicht die reiche Vielfalt und Faszination der Botanik wiedergeben, Freunde und Freundinnen der Pflanzenwelt unter euch mögen darüber hinwegsehen. Aber vielleicht inspiriert es zu eigenen Projekten und Anwendungen.

Um Ergebnisse anzuzeigen, muss mindestens ein Auswahlfilter gesetzt werden.

Es wäre unsinnig, schon beim Aufruf dieser Seite sämtliche Informationen und Bilder an den Client zu übermitteln. Ladezeit und Energieaufwand wären nicht vertretbar und vielleicht möchte jemand überhaupt keine Blumen sehen.

Daher beginnt die Anfrage an den Server erst mit dem Setzen eines der Auswahlfilter, die Menge der zurückgegebenen Daten beschränkt sich auf das Notwendige. Die Aktualisierung erfolgt nicht nur im sichtbaren Ergebnisbereich, sondern auch in den Auswahlmöglichkeiten der beiden anderen Filter. Dadurch ist gewährleistet, dass die Suche immer ein Ergebnis bringt und nicht ins Leere läuft. Die Kombination blau und Januar zum Beispiel wird niemals angeboten, denn eine solche Blüte ist in diesem bescheidenen Datenvorrat nicht enthalten.

Auf shk-museum.de/bestand und ansichten-absichten.de findet ihr weitere Beispiele, wie ich AJAX einsetze.

5d

PHP und Datenbanken

Dieser Abschnitt beschreibt als Hintergrundinfo die wesentlichen Komponenten einer CMS-basierten Website, er gilt nicht nur für WordPress.

Zunächst ein kurzer Blick zurück: In den Anfangsjahren des Web war es durchaus üblich, eine Website direkt in HTML zu schreiben, das habe ich damals auch gemacht. Das Ergebnis waren statische Websites und jeder Änderungswunsch war mit einem Eingriff in den HTML-Code verbunden. Irgendwie lästig.

Abhilfe brachten dann die Content Management Systeme, das Ablegen der Inhalte erfordert jetzt einen geeigneten Speicherort auf dem Server, also eine Datenbank. Zusätzlich ist Software nötig, um die Inhalte in die Datenbank zu schreiben und von dort wieder abzurufen.

PHP

PHP ist eine weit verbreitete Programmiersprache für Websites und auf die Zusammenarbeit mit Datenbanken spezialisiert. Wenn ein User eine Website vom Server anfordert, erledigt PHP zwei Dinge:

  • das Abrufen der benötigten Inhalte aus der Datenbank
  • das Schreiben des HTML-Codes, damit der Browser die Seite anzeigen kann

WordPress selbst ist in PHP geschrieben. Als PHP-Programmierer aus Hamburg verfüge ich über fundierte Kenntnisse der Webentwicklungskonzepte und damit auch ein klares Verständnis für die Abläufe in WordPress. Dazu gehören auch Themen wie Ladezeiten und Sicherheitsaspekte.

Datenbank

Dort sind neben den Inhalten weitere Ressourcen wie Benutzerberechtigungen und Infos zur Struktur der Website abgelegt. Es handelt sich also um eine ganze Reihe unterschiedlicher Datentypen, die zum Teil sehr komplexe Beziehungen untereinander aufweisen.

Aus langjähriger Erfahrung bringe ich Kenntnisse im Aufbau einer Datenbank, Verständnis für optimale Abfragen sowie effiziente Nutzung von Datenbankressourcen mit.