Managed Hosting für Agenturen: SaaS Web launcht eine neue Website – www.saasweb.agency

Web-Agenturen verkaufen Ihren Kunden schöne Websites. Früher haben sie dafür statische HTML Seiten erstellt und diese auf einem Webserver abgelegt, so einfach war es mal. Heute werden Websites mit Content Management Systeme erstellt, müssen responsive sein - das Erstellen von Websites ist ein Stück technischer geworden. Und auch ein CMS muss gewartet werden...

Auf der neuen Homepage werden zunächst nur die beliebtesten Website CMS und Shopsysteme gefeatured, andere Produkte werden bald folgen. Mit der dedizierten Website  wird die Idee verfolgt, dass eine zielgerichtete Ansprache ein besseres Verständnis der Leistungen von SaaS Web mit sich bringt.

Hier geht es zur Website:

www.saasweb.agency

Cash-Back für Agenturen

Mit SaaS Web können Agenturen auch wachsen und zahlreiche Projekte gemeinsam stemmen. Umsatz abhängig werden SaaS Web Coins gesammelt und mit Rechnungen verrechnet. So lassen sich bis zu 20% Kosten einsparen. Interesse? Dann kontaktieren Sie uns einfach.

DSGVO kompatibles Kontaktformular mit Gravity Forms

Ab dem 25. Mai gilt die DSGVO (Datenschnutz Grundverodnung). Spätestens ab diesem Zeitpunkt müssen entsprechende Maßnahmen ergriffen werden, damit Websites und Shops kompatibel zu den Anforderungen sind. Dazu gehören Kontaktformulare.

So einfach erstellt man ein Kontaktformular mit WordPress

Es gibt bekannterweise viele Plugins für WordPress mit denen Kontaktformulare erstellt werden können. Wir nutzen oft Gravity Forms weil es besonders einfach zu nutzen ist.

Neben der Erstellung im Backend ist es wichtig, entsprechende Angaben in der Datenschutzerklärung vorzunehmen. Gravity Forms wie die meisten Form Builder speichert nämlich u. a. auch die IP Adresse des Absenders. Außerdem soll der Formular-Nutzer über seine Rechte informiert werden bzgl. der Verwendung seiner Daten.

Was bringt die DSGVO?

Die Datenschutzgrundverordnung vereinheitlicht das Datenschutzrecht in der EU. Wo früher jedes Mitgliedsland eigene Bestimmungen hatte, wird nun die gemeinsame GDPR angewendet.

Außerdem soll das Datenschutzrecht für Nutzer besser werden. Der Bürger soll die Hoheit über seine Daten zurückbekommen und dank größerer Transparenz besseren Einblick in der Verwendung seiner Daten erhalten.

Ferien-Karlsruhe.de: ein umfangreiches Reisebuchungsportal mit WooCommerce

Karlsruher Ferienportal ferien-karlsruhe.de

Das Ferienportal ferien-karslruhe.de bietet hauptsächlich Freizeiten in und um Karlsruhe sowie Sprach-, Spaß- und Entdeckungsreisen ins europäische Ausland. Das Angebot richtet sich an Kinder im Alter von 6 bis 16 Jahren und hat einen großen Fokus auf Inklusion - die Teamer sind geschulte Betreuer, die entsprechend individuell auf Bedürfnisse der Kinder eingehen können. Außerdem können Familien mit geringem Einkommen mit der Unterstützung durch verschiedene Förderprogramme rechnen, sodass die Kinder nicht auf wohltuenden Urlaub verzichten müssen.

Vom einfachen Reservierungssystem zum vollwertigen Buchungssystem

Schnell wurde erkannt, dass WooCommerce den benötigten Workflow nicht abbilden kann: denn anders als bei handfesten Produkten, die im Internet verkauft werden, und bei denen jede Bestellung sofort bezahlt wird und die verfügbare Menge im Lager heruntergezählt wird, werden bei ferien-karlsruhe.de Reservierungen kostenlos entgegengenommen und in einem zweiten Schritt eine Anzahlung zur verbindlichen Bestätigung der Reservierung gefordert. Erst kurz vor Antritt der Reise wird der Restbetrag beglichen und eine Teilnehmerkarte gedruckt.

Features, Features, Features

Eine Menge Features wurde speziell für das Ferienportal entwickelt. Hier solche aus der Kundensicht:

  • Warenkorb Zeitlimitierung: damit Überbuchungen vermieden werden, wird die Verfügbarkeit eines Angebots beim Klick in den Warenkorb heruntergezählt. Jedoch muss der Warenkorb innerhalb einer bestimmten Zeit eingelöst werden, sonst wird das Angebot zurückgesetzt.
  • Warteliste: wenn ein Angebot ausgebucht ist, kann ein Interessent sein Kind in die Warteliste eintragen. So kann das Kind eventuell dennoch teilnehmen, wenn eine andere Reservierung storniert wird.
  • Erweiterte Angaben im Checkout: anders als in den meisten Onlineshops gibt es einen Besteller und das Kind, für das das Angebot reserviert wird. Es können mehrere Angebote und mehrere Kinder in beliebiger Kombination reserviert werden. Zu jedem Kind werden Informationen wie Name, Geburtsdatum und etwaige Besonderheiten (z. B. ADS/ADHS, Behinderung, ...) angegeben.

Aus der Betreibersicht:

  • Angebotsstatus: ein neu erstelltes Angebot durchläuft verschiedene Stati: Entwurf, Freigegeben, Buchbar, Ausgebucht, Abgeschlossen um die wichtigsten zu nennen.
  • Kunden- und Reservierungsstatus: Besteller werden zu Bezugspersonen (es müssen nicht immer die Eltern sein), Kinder werden zu Teilnehmer, und Reservierungen zu Buchungen.
  • Zuschüsse: es lassen sich verschiedene Zuschüsse zu Angeboten eintragen.
  • Druckfunktion für Teilnehmerkarten: ist die Reise bezahlt, kann zu gegebenen Zeitpunkt die Teilnehmerkarte gedruckt werden. Hierzu wird der Druckauftrag mit dem netzinternen IIS Server übermittelt an dem die Drucker angebunden sind. Die Software (.NET) wurde hierfür von SaaS Web programmiert.
  • Kundenkommunikation: anders als im Standard, können die Mailtemplates bei jedem manuellen Aufruf angepasst werden. Auch beinhalten sie individuell erstellte PDF-Anhänge. Die gesamte Kundenkommunikation wird darüber hinaus archiviert.
  • Buchungsexport für Buchhaltungssoftware: der STJA arbeitet mit einer kommerziellen Buchhaltungssoftware zu der alle Geld Ein- und Ausgänge übermittelt werden müssen.
  • Kassen: in der Geschäftsstelle befinden sich Geldkassen, deren Inhalt buchhalterisch festgehalten werden muss.

WordPress und WooCommerce kompatibel

Besonders wichtig war bei der Entwicklung (immerhin ca. 400 Stunden Arbeit), dass das Ergebnis die Update-Fähigkeit von WordPress nicht beeinträchigt, was auch gelungen ist. Die im neuen Modul erstellten Angebote generieren (und überschreibt bereits existierende) WooCommerce Produkte, die auch über das entsprechende Menü gelistet und durchforstet werden können.

Professionelle WordPress Entwicklung von SaaS Web

Sie suchen einen kompetenten und erfahrenen WordPress-Entwickler für ein eigenes Projekt? Kontaktieren Sie das SaaS Web Team.

Managed WordPress Hosting: Ferienportal vom Stja geht um 17h live

Ferien Karlsruhe

Das Ferienportal ferien-karlsruhe.de geht in kurzer Zeit live.

Neben neuen Angeboten für die Kinder ist aus technischer Sicht einiges passiert: das Backend wurde komplett überarbeitet. Dazu wird es in Kürze ein eigenen Artikel geben mit detaillierten Informationen und Screenshots.

Public Cloud Multi Server Hosting

Die Hosting-Infrastruktur wurde außerdem ausgetauscht, um den Ansturm an Besuchern zu bewältigen - aber auch die Verfügbarkeit des Systems allgemein zu erhöhen. Insgesamt 9 Server laufen parallel mit verschiedenen Aufgaben, um möglichst viele Anfragen gleichzeitig bearbeiten zu können und eventuelle Ausfälle einzelner Komponenten zu überleben. Der Aufbau des Systems kann hier eingesehen werden: Profi Hosting für WordPress

Profi Hosting für WordPress

WordPress ist das meist genutzte Website CMS auf der Welt. Damit die mit WordPress erstellte Website für den Betreiber und für die Besucher eines gutes Erlebnis wird, insbesondere bei vielen Nutzern/Besuchern, stellt sich zwangsläufig die Frage nach dem Hosting.

In vielen Fällen wird WordPress beim (billig) Hoster über eine 1-Click Anwendung im Kundenbereich auf ein nicht näher spezifizierten Webspace eingerichtet. Der Nutzer muss ein bisschen warten und dann kann er sich in das Backend einloggen und seine Website konfigurieren und bearbeiten.

Ein solches Szenario ist im Unternehmenskunden Umfeld eher seltener. Denn ein Unternehmenskunde möchte wissen was er kauft und was es taugt. Daher wenden sich Unternehmen auch häufig an Agenturen und Spezialisten, die auch in der Lage sind, individuelle Setups aufzusetzen und zu betreiben.

Hostingtyp und Performance

Die Schnelligkeit einer Website, sprich die Ladezeit beim Aufruf von Seiten und bei verschiedenen Klicks hängt natürlich nicht nur von der darunterliegenden Performance (RAM, CPU, Speicher). Techniken wie Caching, Datenkompression, Minifying beispielsweise haben einen großen Einfluss auf die Ladezeit, die Ressourcennutzung und somit auf die Anzahl Nutzer die gleichzeitig die Website besuchen können. Da diese Techniken mehr oder minder von der Hosting-Infrastruktur unabhängig sind, vergleichen wir hier nur die Hostingtypen.

Shared WordPress Hosting

Traditionell besteht das Shared Hosting nur aus einem Webserver (oft old school Apache) und es werden möglichst viele Websites darauf betrieben. Die Websites teilen sich die Ressourcen. Es ist zwar möglich die maximale RAM Nutzung zu bestimmen aber eine Garantie den RAM auch nutzen zu können gibt es nicht - die anderen Websites sind gleichberechtigte Partner und alle versuchen, sich die Ressourcen zu nehmen, die sie brauchen und maximal nutzen dürfen.

Solche Plattformen sind für anspruchsvolle Setups mit vielen Besuchern/Nutzern nicht wirklich geeignet.

Dedicated WordPress Hosting

Für anspruchsvollere WordPress Websites kann man auch eine eigene virtuelle Maschine (VM) nutzen, die mit keinen anderen Websites geteilt wird. So stehen die Ressourcen wirklich dediziert für die WordPress Instanz zur Verfügung. Entsprechend wird eine leistungsstarke VM  für viele Fälle in denen es darauf ankommt, viele HTTP Anfragen zu bearbeiten, die passende Lösung sein.

Verfügbarkeit

Verfügbarkeit ist nicht nur ein Marketing-Wert. Mit einer professionellen Infrastruktur (in einem zertifizierten Datacenter) mit nachweislichen Maßnahmen zur Vermeidung von Ausfällen wie z. B. Redundanz von Netzwerkverbindungen, Servern und RAID-Systemen lässt sich die Verfügbarkeit durchaus verlässlich interpretieren. Außerdem werden in solchen Fällen meist auch Service Level Agreements vereinbart, die nicht vorgesehene Incidents regeln.

Alle Dienste auf einer VM

Wenn ein Webserver, die Datenbank und die Daten allesamt auf einem (virtuellen) Server laufen, hat man ein tendenziell performantes Setup. Wenn aber die darunterliegende Hardware kaputt geht, geht gar nichts mehr. Dann muss ein Backup auf einem neuen Server eingespielt werden (und die IP muss ggf. zum neuen umgeroutet werden).

Web, Datenbank und Daten auf separaten Servern

Damit ein physikalischer Ausfall nicht gleich alle Dienste (Webserver, Datenbankserver, Daten) trifft und einen Totalausfall mit sich bringt, kann man die Dienste getrennt von einander betreiben.

Sie können Daten auf einem NAS ablegen, das auf einer anderen Hardware liegt. Wenn also die VM ausfällt, kann eine neue aufgesetzt werden, die Daten müssen aber nicht erst kopiert werden, die Datenpartition wird einfach (z. B. per NFS) eingebunden. Dasselbe kann mit dem Datenbank-Server gemacht werden.

So haben wir 3 Server für unsere WordPress Anwendung. Das klingt zunächst nicht schlecht, aber so toll ist es auch nicht, denn ein einzelner Server-Ausfall wird nicht abgefangen. Fällt die Datenbank aus oder die Datenpartition, ist die WordPress Website down. Es wird also geboten, für Redundanz der einzelnen Komponenten zu sorgen.

Multi Server WordPress Hosting von SaaS Web

Erklärungen zu dem Multi Server Setup

Im SaaS Web Hosting Portfolio gab es bislang entweder Private Cloud Shared Hosting oder Private Cloud single VM Hosting. Damit lassen sich Websites mit vielen Besuchern, großem Ressourcen Verbrauch und hoher Verfügbarkeit nicht ganz so gut abbilden. Das Public Cloud Multi Server Setup ist nun die Antwort auf solche Anforderungen. Es lässt sich übrigens auch in der SaaS Web Private Cloud einrichten...

Parallel laufende Webserver

Der Webserver wird redundant betrieben: es laufen parallel zwei oder mehr Server (mit Nginx). Sie greifen alle auf dieselbe NFS Datenpartition zu.

Cloud NAS

Die Cloud NAS ist ein redundantes NFS Server-System, das sich ein Festplatten-Pool (RAID) teilt, sodass ein einzelner NFS-Server Ausfall abgefangen werden kann.

Galera Cluster

Die Datenbank Server werden als Galera Cluster (mindestens 3 Server) zusammengeschaltet. Selbst wenn 2 Server ausfallen geht der Anwendung das Licht nicht aus. Das Cluster wird als Reverse Proxy (localhost) zu der WordPress Installation eingebunden - so muss WordPress nicht selbst entscheiden, welchen Server für die DB Verbindung benötigt wird.

Master/Slave Load Balancer

Damit die Webserver parallel betrieben werden können, benötigt das Setup einen Load Balancer, der die eingehenden HTTP-Anfragen an die Webserver verteilt. Um einen Load Balancer Ausfall zu verkraften, bekommt dieser auch einen Zwillingsbruder.

Failover IP

Mit der Failover IP kann die öffentliche IP (die mit der Website Domain matcht) dynamisch zwischen den Load Balancer wechseln. Das geschieht automatisch: wenn der Slave Load Balancer merkt, dass der Master ausgefallen ist, beantragt er die Zuweisung der IP.

Hier geht es zu den SaaS Web Managed WordPress Hosting Angeboten.

WordPress Management mit WP Steve

Unabhängig vom Hosting ist das Management der WordPress Instanz besonders wichtig. WordPress sollte stets up to date sein genauso wie das Theme und die installierten Plugins. SaaS Web hat hierfür eine WordPress Management Anwendung entwickelt mit der alle gehosteten Websites zentral verwaltet werden können. Standardmäßig werden 1x am Tag und bei jedem Update-Vorgang ein Backup der WordPress-Installation  durchgeführt.

Helferlein für WordPress Websites mit vielen Seiten

Viele Websites haben tatsächlich nur wenige Seiten, da stellt sich die Frage erst gar nicht.

Aber was ist, wenn man eine Seite betreuen muss, die hunderte Seiten beinhaltet, teils verschachtelt, also auch mit Unterseiten? Da kommt an mit der normalen Seitenansicht von WordPress nicht mehr weit, bzw. es wird dann sehr unangenehm.

Zum Glück gibt es aber ein einfaches und kostenloses Plugin, das Abhilfe schafft: CMS Tree Page View.

Baumstrukturansicht mit CMS Tree Page View

Einmal installiert, ist die Standard-Einstellung, lediglich die Seiten als Baum zu strukturieren. Die Unterseiten sind zunächst zusammengeklappt und nehmen so keinen Platz ein. Mit CMS Tree Page View lassen sich hunderte WordPress Seiten auf einer Seite darstellen - je nachdem wie die hierarchische Struktur ist.

Stamdard Seitenansicht (arscurandi.de)
Seitenansicht mit CMS Tree Page View (arscurandi.de)

Drag & Drop, Kontextmenü

Die Seiten lassen sich per Drag und Drop verschieben. Die Reihenfolge wird automatisch verändert, sodass die neue Position auch in der Standard-Ansicht übernommen wird. Beim Mouse-Over über einen Eintrag werden Aktionen sichtbar wie Neue Seite vor oder danach hinzufügen, oder innerhalb, gleichbedeutend wie Unterseite erstellen.

Status Etiketten, Suchfunktion

Seitenstati wie Entwurf, Privat oder Passwortgeschützt werden mit farblichen Etiketten versehen. Außerdem hilft eine Suchfunktion, die gewünschte Seite schnell zu finden, sollte diese zum Beispiel als Unterseite eingeklappt nicht sofort sichtbar sein.

WPML kompatibel

Absolut erwähnenswert ist, dass das Plugin WPML (kostenpflichtiges WordPress Multilingual Plugin) kompatibel ist. Die Seitenbäume sind einfach nach Sprache getrennt.

Auch für andere Custom Post Types einrichtbar

Über den Bereich Einstellungen > CMS Tree Page View lassen sich auch andere Custom Post Types definieren die mit dem Plugin anders angezeigt werden können.

Ladegeschwindigkeit der Website mit webpagetest.org testen

Immer mehr Speed

Das Thema Ladegeschwindigkeit ist kein Neues: schon zu Beginn des Webs war die Ladezeit ein wichtiger Faktor für den Erfolg einer Website - die Bandbreite der Internetanschlüsse war so gering - erinnern wir uns: 57k Modems waren vor 20 Jahren oftmals das Höchste der Gefühle; heute sind 50 MBit Anschlüsse keine Seltenheit mehr -, dass bereits ein paar hundert Kilobyte die Obergrenze für eine Seite war, bei der eine anständige Ladezeit möglich war.

Mit steigender Bandbreite hat sich die Lage im Bereich Desktop Computer zumindest theoretisch einigermaßen entspannt. Die immer größere Nutzung von mobilen Endgeräten und immer größerer Bildschirme mit hoher Auflösung (damals, vor 20 Jahren, z. B. 19" mit 1.200 x 800 Pixel, heute, z. B. 27" mit 2.560 x 1.440 Pixel) versetzt die Website Betreiber in eine ähnliche Lage wie vor zwanzig Jahren - es ist ein bisschen dasselbe Problem wie das Smartphone-Akku Problem: Akkus werden immer leistungsfähiger, aber die Geräte verbrauchen immer mehr Strom.

Ladegeschwindigkeit als Ranking-Faktor

Heute bekommt die Ladezeit eine neue Dimension: Suchmaschinen, allen voran Google, integrieren die Ladezeit in die Berechnung des Indexes. Vereinfacht gesagt: Je langsamer eine Website lädt, umso weiter hinten wird sie in Suchergebnissen angezeigt. Spätestens seit diesem Zeitpunkt ist das Thema bei professionellen Website Betreibern angekommen und ein regelrechtes Wettrennen hat begonnen.

Faktoren, die die Ladezeit beeinflussen

Es gibt mehrere Ebenen auf denen sich Optimierungen bemerkbar machen können. Einerseits die mit der Verbindung an sich zu tun haben, bzw. mit der "Power" - im Autovergleich: die Anzahl PS, ob das Auto aerodynamisch ist, wie viel es wiegt... Andererseits ob eine Website gut gebaut ist, unnötige Ladevorgänge von Elementen verhindert - im Autovergleich: der Fahrer; fährt er denn optimal, kennt er die Strecke oder muss er an allen Ampeln stehen bleiben? Es gibt sicher bessere Vergleiche als die mit dem Auto 😉 Jedenfalls werden die 2 Ebenen in den folgenden Absätzen genauer erklärt.

Hosting-Ebene: Infrastruktur, Webserver, Caching

  • Infrastruktur: generell spielt es eine Rolle ob die Website auf einem Shared Hosting Server oder einem dedicated Server betrieben wird. Die Geschwindigkeit beginnt bereits bei der Internet-Anbindung des Rechenzentrums und wie die Router des Anbieters die verschiedenen Server verbindet. Daraus resultiert nicht nur die Geschwindigkeit sondern auch der sogenannte Time to first Byte, eine Messgröße für die Zeit, die benötigt wird bis der erste Byte vom Server beim Client ankommt.
  • Web Server: der Webserver spielt ebenfalls eine Rolle in der Optimierung. Ganz allgemein sind Webserver mit Nginx schneller als Apache - das muss nicht unbedingt so sein, mit etwas Konfigurationsarbeit kann auch Apache fliegen. Aber nicht nur der Wechsel der Software bringt Geschwindigkeit. Auch Einstellungen wie Keep-Alive führen dazu, dass die Verbindung zum Webserver nicht nach jedem Request neu verhandelt werden muss.
  • Caching ist ein komplexes Thema, da es auf vielen Ebenen Caching gibt (CDN, HTTP Reverse Proxy wie Varnish Cache, local Cache, Datenbank Cache wie memcached oder Redis, ...). Caching gehört zu den effektivsten Optionen, um die Ladezeit zu verkürzen, je nach dem wie es eingesetzt wird. Es sei angemerkt, dass nicht immer alles gecacht werden kann - Seiten mit hoher Änderungsfrequenz wie z. B. Nachrichtenportale möchten, dass Besucher immer die neuesten Artikel zu sehen bekommen.

Website-Ebene: HTML/JS/CSS, Media-Elemente

  • Eine korrekte Seitenstruktur spielt eine große Rolle - wir reden gar nicht von kaputtem HTML. Die HTML-Struktur eines Dokuments sollte immer nur so schlank sein wie nötig und bizarre Verschachtelungen sollten möglichst vermieden werden. Entsprechend, wenn nicht zwingend notwendig, sollten Elemente nicht erst per Javascript eingefügt werden.
  • Media-Elemente, sprich Bilder sollten stets für das Endgerät optimiert sein - ein großes Bild für Desktop sollte in einer entsprechend kleineren Version auf einem Smartphone geladen werden.

Online Geschwindigkeitscheck mit www.webpagetest.org

Das kostenlose Projekt webpagetest.org ermöglicht für jeden die Ladezeit seiner (öffentlich zugänglichen) Website zu messen und zu analysieren.

So einfach geht's

Um eine Analyse der Website zu starten braucht man nur:

  • URL: Die Website URL eingeben, am Besten inklusive https und www, sonst wird die ggf. vorhandene Umleitung mit in die Ladezeit aufgenommen
  • Location: von wo soll denn gemessen werden? Tatsächlich spielt die geografische Lage auch eine Rolle - wobei webpagetest.org auch diesen Faktor in den Ergebnissen berücksichtigt und einen Korrekturfaktor implementiert.
  • Browser: es kann durchaus eine Rolle spielen welcher Browser getestet wird. Es lassen sich übrigens je nach Anbieter und Location auch mobile Browser auswählen
  • Anzahl Tests: es wird empfohlen mehrere Tests auszuführen um einen aussagekräftigeren Mittelwert zu erhalten
  • Repeat View: hier handelt es sich um die Ladezeit, wenn ein Client (Browser) wiederholt eine Seite lädt und ggf. Caching Effekte besser bemerkbar sein sollten - es wird empfohlen first view and repeat view auszuwählen

Übersicht des Ergebnisses

Für die schnelle Beurteilung des Ergebnisses dienen die 6 Indikatoren (A bis F - A ist die Bestnote).

Hier in kürze die Bedeutung der 6 Punkte:

  1. First Byte Time: Dauer für den Empfang des ersten Bytes des Webservers. Dieser Wert lässt sich nicht wirklich verändern. Der Wert ist abhängig von der physikalischen Hosting-Umgebung (Rechenzentrum, Server) und der momentanen Auslastung der Systeme.
  2. Keep-alive enabled: Option des Webservers, die bewirkt, dass die Verbindung zwischen Server und Browser offen bleibt und somit vermieden wird, dass jedes Mal der TCP-Handshake neu ausgehandelt werden soll. Eine Webseite hat oftmals 100 oder mehr Elemente, die geladen werden sollen - da kann eine vermeintlich kleine Optimierung schon mal was bewirken.
  3. Compress transfer: ebenfalls eine Webserver-Einstellung. Der Webserver kann die Daten komprimiert übertragen, sodass weniger Daten übertragen werden brauchen. Moderne Browser können inzwischen alle mit komprimierten Datenübertragung umgehen.
  4. Compress images: hier sind die Website-Betreiber gefragt. Der Indikator zeigt wie gut die Bilder, die geladen werden, komprimiert sind. Lässt sich die Größe (ohne Qualitätsverlust) verringern?
  5. Cache static content: kommen die angezeigten Elemente vom Cache oder wurden diese frisch vom Webserver ausgegeben?
  6. Effective use of CDN: werden die Inhalte von einem CDN (Content Delivery Network) ausgegeben?

Performance Results

In der oberen Tabelle sind weitere Werte abzulesen, die als Ergebnis des Geschwindigkeitstests zu verstehen sind. Hier wird die Geschwindigkeit der Anzeige der Website in einzelne Stufen unterteilt, um besser nachzuvollziehen, wo die Ladezeiten entstehen.

  • Load Time: die Zeit entspricht der Ladezeit der Website. Die Fully Loaded Zeit hingegen misst noch alle Aktivitäten bis zu 2 Sekunden nach der Load Time, also Elemente, die beispielsweise per Javascript nachgeladen werden.
  • First Byte (TTFB): die Zeit, die für den ersten Byte vom Server zum Browser benötigt, wenn die Website erstmals aufgerufen wird.
  • Start Render: Zeit, die der Browser benötigt, um mit der Anzeige der Website zu beginnen.
  • Speed Index: der Speed-Index ist ein Wert, um die gemessene Geschwindigkeit zu bewerten. Je kleiner dieser Wert ist, umso besser. Hier gibt es ausführliche Informationen wie dieser Index errechnet wird: https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index

Details - Wasserfall Diagramm

Im Wasserfall-Diagramm lässt sich sehr schnell erkennen wie viele Requests das Laden der Seite erzeugt und wie schnell die einzelnen Requests beantwortet werden. Anhand der Farbcodes lassen sich die Requests auch einstufen, ob DNS Anfrage, HTML/Text, Javascript/Text, Bilddaten oder andere Inhaltstypen geladen werden.

Content Breakdown

Der Bereich "Content Breakdown" ist besonders interessant um die Verhältnisse von Text, CSS, Javascript und Bilder zu sehen. So lässt sich auch besser entscheiden wo der größere Hebel ist, wenn es darum geht Prioritäten für die Optimierung festzulegen.

Bildanalyse

Der relativ neue Punkt "Image Analysis" bietet die Analyse der Bilddateien. Der Dienst prüft jedes einzelne Bild, bewertet die Kompression und benotet diese auch (A-F). Es ist dort auch möglich, den Cloud-Dienst kostenpflichtig in Anspruch zu nehmen, jedoch keine Pflicht. Die Optimierungen, falls welche sinnvoll möglich sind, können Sie selbst durchführen - es gibt dafür zahlreiche Bildbearbeitungsprogramme, die dafür genutzt werden können. Es gibt auch ein Artikel in diesem Blog zum Thema Bildoptimierung.

Ein professionelles Tool für null Euro

Webpagetest.org ist ein ausgereiftes Projekt mit dem die Optimierung von Websites wirklich gut vorangetrieben werden kann. Besonders nett ist, dass das Projekt völlig kostenfrei nutzbar ist und auch keine Registrierung erfordert. Hin und wieder müssen Sie etwas warten bis die Analyse-Anfrage durchgeführt wird - schließlich sind Sie nicht die einzige Person, die diesen Dienst in Anspruch nehmen.

WordPress: individuelle Layouts mit dem SiteOrigin Page Builder

WordPress braucht Erweiterungen

Ein bisschen Background

WordPress war vor einigen Jahren noch ein einfaches Blogsystem, daher waren komplexe Layouts für Seiten und Artikel nicht wirklich von Bedeutung. WordPress ist inzwischen aber das verbreiteste System für die Erstellung von privaten und geschäftlichen Websites, sogar von Online-Shops.

WordPress bietet daher standardmäßig immer nur ein Inhaltsfeld pro Seite oder Artikel, den man mit dem visuellen Editor bearbeiten kann. Darin lassen sich bekannterweise auch Medien integrieren, beispielsweise Bilder oder Videos. Ergänzend dazu können Shortcodes verwendet werden um andere Inhalte, etwa von anderen Plugins erstellte, in den Content-Bereich zu platzieren.

SiteOrgin ist DIE Erweiterung

Kostenlos aber wertvoll

SiteOrigin ist ein Page Builder Plugin, das die Funktionalität von WordPress im Bereich der Inhaltsverwaltung (extrem) erweitert. Mit dem Page Builder lassen sich im Prinzip Theme-unabhängig, soweit das Theme den Nutzer nicht schon zwangsbeglückt, beliebige Inhalte einfügen und Inhaltsstrukturen erstellen. Wichtig zu wissen ist, dass SiteOrigin eine Struktur erstellt, die sich responsive verhält - sofern die Widgets mitspielen (die Widgets aus dem Bundle sind alle responsive).

Es gibt eine Premium Erweiterung für den SiteOrigin Page Builder, mit der zusätzliche Widgets zur bestehenden Auswahl hinzugefügt werden können. Ehrlich gesagt kommt aber ohne "Premium" aber sehr gut aus.

Individuelle Struktur erstellen

Einmal installiert und aktiviert, bietet WordPress neben dem visuellen und dem Text-Editor einen Tab, "Page Builder". Im Page Builder Modus ändert sich der Editor komplett. Es kann nicht mehr direkt Text eingegeben werden, sondern man muss zuerst die Inhaltsstruktur vorgeben: dazu erstellt man Zeilen, die in Spalten aufgeteilt werden können. Zu jedem erstellten Bereich kann man ein oder mehrere Widgets einfügen - die Widgets sind dann letztendlich die tatsächlichen Inhalte.

Interessant ist auch die Möglichkeit den Page Builder selbst zu verschachteln: der Page Builder lässt sich als Widget einfügen und darin kann man eine neue Struktur erstellen.

Inhalte werden via Widgets eingefügt

Mit dem Page Builder lassen sich beliebige Widgets einfügen also auch die, die mit WordPress bereits, oder solche die von installierten Plugins zur Verfügung gestellt werden. Besonders interessant sind die Widget-Plugins, die man sich zusätzlich installieren kann, z. B. vom SiteOrigin Widgets Bundle. Wenn man Effekte mag, gibt es auch Erweiterungen für Spezialeffekte wie z. B. mit dem Plugin SO Page Builder Animate.

Inhalte über die volle Bildschirmbreite anzeigen

In der Strukturübersicht lassen sich für jede Zeile individuelle Einstellungen setzen - praktisch ist zum Beispiel eine Row ID (CSS ID für die Zeile), wenn man sich mit CSS auskennt - und somit das Seitenlayout für sein Projekt pixelgenau definieren. Eine besondere Einstellung in der Sektion "Layout" ist die Option "Gesamte Breite". Damit lässt sich die Zeile über die gesamte Bildschirmbreite strecken. Die Inhalte bleiben jedoch mit den anderen bündig (meist ist der Inhaltsbereich ein zentrierter Bereich im Browserfenster); wird die Option "Gesamte Breite gestreckt" genommen, wird auch der Inhalt über die gesamte Bildschirmbreite gestreckt - diese Option wird meist für Slider oder Headerbilder genutzt.

Etwas Fine Tuning

Die Grundstruktur einmal angelegt, die Inhalte via Widgets eingefügt, ist eigentlich alles gut. Es gibt jedoch noch Stellschrauben mit denen sich verschiedene Parameter individuell drehen lassen. Ein wichtiger Punkt wären die Breakpoints - die Breite des Browsers in Pixel zu der, die Spalten "zusammenfließen", um beispielsweise zweispaltige Inhalte mobil einspaltig anzuzeigen.

SiteOrigin im Vergleich zu anderen Page Builder

Natürlich gibt es nicht nur den Page Builder von SiteOrigin. Hier sind weitere gelistet:

  • Divi Builder, Elegant Themes (kostenpflichtig).
  • Elementor, Elementor (Freemium)
  • Virtual Composer, WP Bakery (kostenpflichtig)

Diese Page Builder gehören mit Sicherheit zu den Verbreitetsten, es gibt aber noch andere... Jeder Page Builder hat seine eigene UI, seine eigenen Funktionen, die der eine oder andere Nutzer besonders schätzt. Meines Erachtens hat aber der Page Builder von SiteOrigin einen entscheidenden Vorteil: die Inhaltselemente, die man in die selbst geschaffenen Content-Blöcken hinzufügt sind Widgets, ganz normale Widgets. Somit ist die Flexibilität besonders groß und die Erweiterbarkeit quasi unbegrenzt.

WordPress: Multilinguale Websites mit WPML einfach gemacht

Nicht selten werden Websites in verschiedenen Sprachen angeboten. Das was simpel und selbstverständlich erscheint, ist tatsächlich komplizierter, vor allem, wenn man nicht die richtigen Werkzeuge nutzt.

Was gilt es denn in Bezug auf Mehrsprachigkeit zu beachten?

  • Möchte ich eine 1:1 Übersetzung haben, sprich jede einzelne Seite wird auch in einer anderen Sprache übersetzt?
  • Sollen die anderen Sprachen für äquivalente Inhalte eigene URLs haben? Sollen eventuell unterschiedliche Sprachen sogar eigene Domains nutzen?<(li>
  • Benötige ich einen Sprachumschalter? Leitet dieser auch direkt zu der entsprechenden andersprachigen Seite oder immer zur Startseite der ausgewählten Sprache? Gibt es eine automatische Sprachauswahl anhand der eingestellten Sprache im Browser des Besuchers?
  • Gibt es ein Suchfeld? Sollen nur Suchergebnisse der aktuellen Sprache ausgegeben werden?
  • Wird der Quelltext entsprechend der Sprache auch für Suchmaschinen markiert?
  • Sollen unterschiedliche Teams die verschiedenen Sprachen bearbeiten?

WordPress und Multilang

Zunächst sollte man wissen, dass WordPress nativ keine Mehrsprachigkeit beherrscht - zumindest nicht direkt.
Über den Umweg des Multisite Modes (Network), lassen sich mehr oder minder unabhängige Sub-Sites erstellen, die dazu genutzt werden können um Sprachvarianten abzubilden. Dazu aber später mehr.
WordPress wird erst durch Plugins zu einem Multilang-CMS: da gibt es um einige (bekannte) zu nennen: WPML (kostenpflichtig), Polylang (freemium) oder MultilingualPress (kostenpflichtig).

Multilang mit Hand und Fuß

Rein theoretisch ließe sich eine Multilinguale Website auch ohne Plugins realisieren - mit etwas Programmieraufwand: die Sprachvarianten werden als Hauptseiten angelegt, z. B. de und fr, darunter werden die jeweiligen Seiten der Sprachvarianten angelegt und der Content in der jeweiligen Sprache geschrieben. Damit aber bei der Auswahl /de ein deutsches Menü erscheint und bei /fr ein französisches, müssen die für die unterschiedlichen Seitenbäume andere Templates genutzt werden (bzw. eine Weiche einbauen reicht). Die unterschiedlichen Templates ermöglichen Quelltext mit HTML-Sprachindikatoren (wo man sonst mit WordPress-Mitteln nicht hinkommt)  zu versetzen bzw. sprachspezifische Menüs anzuzeigen. Um Widget-Bereiche braucht man sich nicht im Template gesondert zu kümmern, diese lassen sich im Backend z. B. mit Plugins wie z. B. Content Aware Sidebars lösen. Etwas komplizierter wird es mit dem Sprachumschalter, bzw. der logischen Konnektierung von gleichen Seiten als Sprachvarianten. Und noch komplizierter wenn man einen Shop betreiben möchte, z. B. mit WooCommerce.
Lassen wir es mal mit diesem Beispiel, es ist unschwer zu erkennen, dass es aufwändig ist und zudem einschlägige Kenntnisse in der WordPress Theme-Programmierung erforderlich sind. Es geht viel einfacher.

Multilang mit WordPress Multisite

Wie schon beschrieben, kann man auch mit nativen WordPress Bordmitteln eine mehrsprachige Website erstellen. Zunächst muss man WordPress in der Multisite Variante installieren. Das ist nicht schwierig, aber die wenigsten 1-Clic Installer dürften dies ermöglichen, also ist Handarbeit angesagt.
Einmal eingerichtet geht es schon mit den Eigenarten dieser Betriebsart los: es gibt einen Super-Admin. Der Super-Admin darf als einziger weitere Sub-Sites anlegen sowie Themes und Plugins installieren. Die "normalen Admins" sind jeweils für ihre zugewiesene Sub-Site zuständig, sie können aber nicht wie im normalen WordPress-Modus Themes oder Plugins installieren. Sie können lediglich welche aus der vom Super-Admin installierten Auswahl aktivieren oder deaktivieren. Wichtig zu wissen an dieser Stelle ist, dass nicht alle Plugins Mutlisite kompatibel sind.
Der Super-Admin erstellt z. B. 2 Sub-Sites, einmal "de", einmal "fr" und definiert 2 Teams die er den 2 Sub-Sites zuweist. Es können die gleichen User sein, die auf beiden Sub-Sites zugreifen können, oder getrennte. Genau diese mögliche Trennung ist ein Feature, das bestimmte Website-Betreiber nicht missen möchten: getrennte Teams für getrennte Sprachvarianten. Klar ist, dass ein solches Feature eher für größere Unternehmen interessant ist bzw. für solche mit streng geregelten Workflows.
Diese Trennung der Sub-Sites hat den Vorteil komplett eigene Websites erstellen zu können, aber birgt gleichzeitig die Gefahr, dass sich zwei Sub-Sites (Sprachvarianten) mit der Zeit auch optisch voneinander trennen - was wohl die wenigsten möchten.
Um gleiche Seiten der verschiedenen Sub-Sites logisch miteinander zu verbinden gibt es (mal wieder) Plugins, wie z. B. Multisite Language Switcher.

Multilang mit WPML

So, nun kommen wir zu dem eigentlichen Thema des Artikels: WPML (WPML = WordPress MultiLingual). Ich werde nicht alle Features des Plugins erklären, nur die Wesentlichen. Anders als bei dem Multisite Mode, kann man mit WPML auch im Nachhinein der Website Mehrsprachigkeit einhauchen, die Vorkehrungen müssen also nicht lange im Voraus geplant werden (strenggenommen kann man auch im Nachhinein eine normale Website in Multisite umwandeln bzw. in eine Sub-Site importieren, das ist aber recht kompliziert und fehleranfällig).
WPML besteht aus mehreren Komponenten, von denen man nicht zwingend alle benötigt. Die zentrale Einheit ist das WPML Multilingual CMS, in den meisten Fällen werden die Komponenten "WPML String Translation", "WPML Translation Management", "WPML Sticky Links" und "WPML CMS Nav" mit installiert.

WPML Grundeinstellungen

Einmal installiert definiert man die zusätzlichen Sprachen die angelegt werden sollen und kann verschiedene Punkte einstellen wie:

  • Festlegung der Standardsprache
  • Sollen Sprachvarianten als Unterverzeichnissse angezeigt werden ("/de", "/fr") oder als URL-GET-Parameter ("?lang=de", "?lang=fr")
    Sprachumschalter Optionen, z. B. Umgang mit Inhalten, die es nur in einer Sprache gibt, Umschalter als Dropdown-Feld bzw. mit Flaggen oder ausgeschriebene Sprache, ...
  • Einrichtung eienr automatischen Sprachweiterleitung anhand der eingestellten Browsersprache der Besucher

Seiten mit WPML für Übersetzung duplizieren

Ist man mit den Grundeinstellungen fertig, kann es mit dem Übersetzen losgehen: die einzelnen Seiten und Blogartikel lassen sich in der Übersichtsliste jeweils per Mausklick in die gewünschte Sprache duplizieren (mit oder ohne den Inhalt zu kopieren). Ein interessantes Feature dabei ist die Übersetzung alleine zu bearbeiten oder am Original zu binden. Im letzteren Fall wird man bei Ansicht der Übersetzung auf Änderungen im Original aufmerksam gemacht.

Sprachabhängige Menüs

Nicht nur die Seiten müssen übersetzt werden. Die Menüs sollen auch automatisch der ausgewählten Sprache zugeordnet werden. Das geht mit WPML ganz einfach. Entweder man nutzt die Synchronisationsfunktion (Menüpunkt "Menüs synchronisieren") oder man erstellt eine neue Navigation, selektiert die Sprache und definiert wessen Sprachalternative es ist.

Viele weitere Features

Ich gehe dabei nicht in die Tiefe, aber WPML hat Module für eine optimierte Lokalisierung von:

  • Gravity Forms (ein kostenpflichtiges Plugin zum Erstellen von Formularen)
  • Verschiedene Page Builder: Page Builder sind Plugins, die den visuellen Editor von WordPress ersetzen; sie ermöglichen die einfache Einrichtung von komplexen Layouts im Content Bereich. Zu den bekannten Page Buildern gehören u. a. das kostenlose SiteOrigin Page Builder oder das kostenpflichtige Visual Composer.
  • WooCommerce - die eShop Erweiterung für WordPress

Mit SaaS Web Managed WordPress WPML kostenfrei nutzen

Schon lange bieten wir kostenfrei die Nutzung von verschiedenen lizenzpflichtigen Plugins mit den WordPress Hosting Tarifen an. Neben WPML sind es auch Gravity Forms, SearchWP - eine verbesserte Suchfunktion - und die Pro Version des Newsletter Plugins.

Hier finden Sie die Managed WordPress Hosting Angebote.

WordPress: Wechsel von HTTP zu HTTPS ganz einfach

Seit geraumer Zeit ist es quasi ein Standard, seine Website mit einem SSL-Zertifikat zu versehen und die Verbindungen zum Webserver entsprechend zu verschlüsseln. Damit sind nicht nur Online-Shops gemeint, sondern alle Websites und damit auch WordPress Websites.

Warum überhaupt https?

Es gibt mehrere Gründe dafür:

  • Google hat angekündigt Websites mit SSL in den Ergebnissen zu bevorzugen
  • Die meisten Browser kennzeichnen Websites ohne SSL als unsicher – ein Besucher kann dadurch verunsichert werden

Wenn man schon eine WordPress Website ohne https hat, sollte man überlegen, ein Upgrade durchzuführen – schließlich ist ein SSL-Zertifikat heute meist kostenlos (z. B. Let’s Encrypt). Es liegt allerdings am Provider, die Einrichtung eines Zertifikats zu ermöglichen.

Bei WordPress ist die Umstellung nicht schwierig, aber dennoch nicht gerade intuitiv. Im Bereich „Einstellungen“ > „Allgemein“ gibt es die Möglichkeit die WordPress URL (WordPress Installations-URL) und die Website-Adresse (Adresse wie sie im Browser aufgerufen wird) zu definieren. Ich gehe nicht näher darauf ein, warum es zwei URLs gibt, ich gehe davon aus, dass die Einstellung einfach stimmt und in beiden Zeilen das selbe steht, z. B. http://wwww.meine-website.tld.

Einfach https anstatt http in den WordPress-Einstellungen reicht nicht

Wer an der Stelle von http://wwww.meine-website.tld einfach https://wwww.meine-website.tld schreibt, wird nicht glücklich. Denn diese Änderung ersetzt tatsächlich nur die beiden Einträge in der Datenbank. Alle anderen Links, wie z. B. Links zu Medien werden nicht geändert. Also nicht machen!

Vielleicht hilft da ein Plugin?

Tatsächlich gibt es Plugins, die einem helfen, wie z. B. das kostenlose Plugin „Really Simple SSL„. Das Schöne an diesem Plugin (wie der Name es andeutet) ist die Einfachheit. Installiert und aktiviert prüft es ob das SSL-Zertifikat auch eingerichtet und, bietet an mit einem Klick, die Website auf HTTPS zu ändern. Ggf. in den Einstellungen des Plugins noch die Funktion einrichten, HTTP automatisch zu HTTPS weiterzuleiten und so hat man im Prinzip das Problem schon gelöst.

Vor- und Nachteil der Lösung mit dem Plugin

  • Vorteil: Really Simple SSL ist einfach und schnell eingerichtet (und kostet nichts). Als Nutzer braucht man eigentlich keine besonderen Kenntnisse.
  • Nachteil: es wird ein Plugin genutzt wo eigentlich keins benötigt wird.

HTTP zu HTTPS mit WP CLI

Die richtigere Methode eine WordPress Website auf HTTPS umzustellen besteht darin, alle Links in der Datenbank umzuschreiben. Damit serialisierte Datenbank-Inhalte nicht kaputt gehen, sollte man die Umschreibung nicht einfach auf einen SQL-Dump mit Suchen & Ersetzen durchführen. Dazu gibt es WP CLI: mit WP CLI lässt sich eni Suchen & Ersetzen direkt auf der Live-Datenbank ausführen.

Um WP CLI nutzen zu können, muss der Provider einen SSH Zugang zu der WordPress-Instanz anbieten. Einmal über SSH angemeldet und im Wurzelvereichnis, können Sie diesen Befehl ausführen:
wp search-replace --all-tables-with-prefix "http://www.meine-website.tld" "https://www.meine-website.tld"

Sollten Sie „root“ sein, dann muss der Aufruf mit „sudo -u <user>“ (user ist entweder www-data oder der Inhaber der Dateien in dem Vereichnis) ergänzt werden, das ergibt also:
sudo -u <user> wp search-replace --all-tables-with-prefix "http://www.meine-website.tld" "https://www.meine-website.tld"

In manchen Fällen muss zusätzlich diese Variante ausgeführt werden:
wp search-replace --all-tables "http://www.meine-website.tld" "https://www.meine-website.tld"
Diese Option ist für den Fall, dass Links in allen Tabellen zu ersetzen sind, auch solche, die eventuell nicht zu der Installation gehören.

Hier gibt es mehr Informationen zu den Optionen für den wp search-replace Aufruf:
https://developer.wordpress.org/cli/commands/search-replace/

Achtung: bevor Sie irgendwelche Links ersetzen, sollten Sie ein Backup Ihrer WordPress Website erstellen.

 

[Update]Steve: jetzt mit Bildvergleich – WordPress Management für Profis

Die Aufgabe: WordPress Updates

WordPress Core Updates verlaufen in aller Regel ohne Probleme. Bei Plugin- oder Theme-Updates sieht die Sache schon ganz anders aus. Die Ursachen können sehr unterschiedlich sein: Bugs in dem Plugin selbst, Kompatibilität zu anderen Plugins... Die möglichen Auswirkungen der Fehler sind auch höchst unterschiedlich, in manchen Fällen ist es die komplette Homepage, die nicht mehr angezeigt wird oder PHP-Fehlermeldungen, die mitten auf der Seite zu sehen sind. Oftmals sind es eher kleine Veränderungen, dennoch unerwünschte.

 

Screenshots nach einem Update vergleichen

Mit dem Vergleich "davor und danach" von automatischen Bildschirmfotos der Website, können auch kleine Fehler entdeckt werden. Das System sucht nämlich automatisiert nach Veränderungen und gibt die Anzahl gefundener Unterschiede (in %) an.

So lassen sich Fehler auch viel später erkennen (Steve behält die Historie der Updates und die entsprechenden Screenshots) und ermöglicht, wenn notwendig, das Einspielen des richtigen Backups - standardmäßig wird bei jedem Update-Vorgang, das kann ein einzelnes oder mehrere Updates direkt hintereinanderer, ein Backup erstellt.

Die Zukunft: Auto Backup Restore, Auto Plugin Tagging uvm

Als nächstes ist geplant, die SLA-Funktionalität für unsere WordPress-Kunden auszubauen:

  • Kunden können nach Updates eine Mail mit einem Link zu dem Screenshot-Vergleich erhalten, um selbst zu prüfen, dass alles in Ordnung ist
  • Kunden können angeben, dass die Prüfung in Ordnung war, oder Fehler beinhaltet; daraufhin werden Meldungen an Steve übergeben, um die Updates ggf. rückgängig zu machen und ggf. die Plugins (in der vorhandenen Version) als "broken" zu taggen.
  • Wenn das automatisierte Staging integriert sein wird, kann dieser Prozess auch darauf abgebildet werden: erst nach Freigabe vom Kunden wird das Update auf die Live-Instanz durchgeführt

WordPress mit WP CLI einfach und schnell installieren

Dieses kurze Video-Tutorial zeigt wie man in wenigen Schritten, eine neue WordPress-Website installieren kann. Voraussetzung für die erfolgreiche Ausführung sind: ein SSH-Zugang, WP CLI und eine bereits eingerichtete Datenbank. Die Domain sollte auf dem Webserver auch bereits angelegt worden sein.

 

Textilbox: Nähprojekte für Anfänger – Einzeln oder als Abo

Es gibt sie in vielen Variationen: Rasierer in der Box, Weine in der Box… es gibt auch Textilbox! Nähen ist seit einiger Zeit wieder richtig IN und Textilbox trägt seinen Teil dazu bei. Interessierte können entweder eine einzelne Box (= ein Nähprojekt) kaufen oder ein Abo über 6 oder 12 Monate abschließen und erhalten dafür 2 oder 4 Boxen.

Textilbox

Textilbox ist schon seit gut zwei Jahren auf dem Markt und bedient die Märkte Frankreich, Spanien und Deutschland. Das e-Unternehmen fußt auf WordPress, genauer gesagt WooCommerce. Mit den steigenden Umsätzen und der wachsenden Bekanntheit wird der Bedarf an professioneller Unterstützung immer größer. So kommt es, dass Textilbox sich – nach dem sorgenfreien Start – zu SaaS Web wendet.

Violeta - Gründerin Textilbox„Das Erstellen neuer Boxen und die Bedienung meiner Kunden steht für mich im Vordergrund. Natürlich muss die Plattform sicher und immer erreichbar sein – ich bin froh einen Partner gefunden zu haben, der mir die Freiheit gibt, mich auf meine Tätigkeit zu konzentrieren.“ Violeta.

Hier geht es zu Textilbox: https://textilbox.de.

SaaS Web hostet WordPress Meetup Karlsruhe #12

Am kommenden Donnerstag findet das WordPress Meetup Karlsruhe #12 statt und das SaaS Web Team freut sich als Gastgeber die Teilnehmer zu begrüßen.

Auf dem Programm stehen:

  • Leonardo mit dem Thema „How to make a decentralized WordPress website“
  • Jan mit dem Thema „AutoScaling WordPress with Docker & AWS“

Hier können sich Interessierte anmelden:
http://www.meetup.com/de-DE/WordPress-Meetup-Karlsruhe/events/233732658/

Sommer-Putzaktion – Weg mit den alten Anwendungen, rein mit den neuen

Da das Wetter nicht dazu einlädt rauszugehen, haben wir uns entschieden eine kleine Aufräumaktion durchzuführen und die Anwendungen aus dem Portfolio zu entfernen, die wenig gefragt sind..

Dies sind zum Beispiel Joomla! und REDAXO im Bereich Blog & Websites, Elgg, phpBB und Plone bei Portale und Communities, openEMM, xtCommerce bei E-Business, Feng Office und Organised Minds bei Office und Bugzilla, SVN und Trac in dem Developper Bereich.

Wir bringen immer wieder neue Anwendungen ins Portfolio, nachdem wir sie selbst getestet haben und bei Kunden erfolgreich einsetzen.

So waren die letzten Neuzugänge: Taiga Projektmanagement und davor Nextcloud und SOGo.

SaaS Web tauscht ownCloud gegen Nextcloud aus

NextcloudSchon einige Jahre bietet SaaS Web Managed ownCloud Hosting – SaaS Web war einer der ersten offiziellen Partner der Community Version. Frank Karlitschek, Gründer und bis vor Kurzem CTO von ownCloud Inc., hat das Unternehmen im April 2016 verlassen und kurz darauf ein neues – Nextcloud GmbH – gegründet. Nextcloud ist zunächst ein Fork von ownCloud, verfolgt aber ein anderes Ziel: die Gesamtheit der Anwendung soll kostenfrei sein, lediglich der Support soll zahlenden Premium-Kunden reserviert sein. Zum Vergleich: ownCloud inkludiert Funktionen wie z. B. die File Firewall oder das Logging-Modul nur in der Premium-Distribution – der Support ist ebenfalls nur für zahlende Kunden bestimmt.
SaaS Web sieht F. Karlitschek als treibende Kraft in der Entwicklung von ownCloud. Sein Abschied von ownCloud bzw. die Gründung von Nextcloud (als Drop-in Replacement von ownCloud) hat tiefgreifende Konsequenzen; SaaS Web vertritt die Meinung, dass die Software nur noch unter Nextcloud eine Zukunft hat.
Daher wird SaaS Web in den kommenden Wochen nach und nach die bestehenden ownCloud-Kunden zu Nextcloud migrieren, jedoch jetzt schon das ownCloud-Angebot einstellen und durch ein äquivalentes Managed Nextcloud Hosting ersetzen.

Managed Hosting vs. Classic Hosting

Managed Hosting hat ein Imageproblem. Managed Hosting wird häufig einfach nur mit „teuer“ verwechselt. Natürlich ist das ein überspitztes Klischee – aber aus der täglichen Erfahrung lässt sich nicht leugnen, dass bei diesem Thema eine gewisse Skepsis verbreitet ist. Häufig werden Umfang und Qualität der Dienstleistung nicht richtig verstanden. Man trifft dann schnell auf verständnislose Gesichter, wenn es um konkrete Monatsgebühren für Managed WordPress oder Managed TYPO3 Hosting geht. Übersetzt heißt das dann: „Wofür um alles in der Welt soll ich eigentlich zahlen?“. Es gibt also Gründe genug, der Sache etwas ausführlicher auf die Spur zu kommen und einmal aufzulisten, welche Zutaten zum Managed Hosting gehören, und welche Fragen man an die Anbieter solcher Leistungen stellen sollte.

Was ist Managed Hosting?
Managed Hosting heißt übersetzt schlicht und einfach „verwaltetes Hosting“– und genau darum geht es auch, im Gegensatz zum unverwaltetem Hosting, das ich gerne „IKEA Hosting“ nenne (weil man selber alles zusammensuchen, einrichten und kontrollieren muss).
Bei Managed Hosting stellt der Anbieter Server und die zugehörige Hardware im eigenen (oder angemieteten) Rechenzentrum für seine Kunden bereit und kümmert sich um Einrichtung, Betrieb und Wartung von Systemen und Anwendungen. Das Hosting-Modell kann auf verschiedenen Ebenen angeboten werden, zum Beispiel als Plattform- oder Anwendungs-Hosting. Im ersten Fall werden das Betriebssystem und die Serverdienste für den Kunden gepflegt, beispielsweise ein LAMP-System (Linux Apache MySQL/MariaDB PHP, wobei heute immer häufiger LNMP-Systeme gewünscht sind, also der Webserver Nginx anstatt Apache betrieben wird). Das Management kann sich aber auch auf Anwendungen beziehen, die dann zusätzlich zu dem darunterliegenden System gepflegt und gewartet werden müssen.Cloud-Pyramide

Auch die Bezeichnung Software as a Service (SaaS) fällt im Prinzip unter Managed Hosting, nur meist ohne individuelle Konfiguration bzw. ohne menschliches Einwirken. Es handelt sich um automatisierte Prozesse, die innerhalb der „Geschäftsbereiche“ Platform as a Service (PaaS) und Infrastructure as a Service (IaaS) realisiert werden, um die es hier geht. SaaS wird daher in diesem Beitrag nicht spezieller behandelt.

 

Das Segment „Pflege“ beim Managed Hosting umfasst in aller Regel das Installieren der kompletten Betriebssystem-Updates und der Serveranwendungen sowie die Kontrolle, dass die Dienste ihre Arbeit korrekt verrichten. Der letzte Punkt etwa ist eines der stärksten Argumente pro Managed Hosting, denn nicht wenige Unternehmen dürften schnell an ihre Grenzen kommen, wenn sie den System- und Anwendungsbetrieb komplett selbst überwachen und gewährleisten müssten. Zum Serviceumfang bei Managed Hosting sollte auch gehören, dass unumgängliche Standzeiten für Wartung und Upgrade minimal gehalten und so gewählt werden, dass der reguläre Betrieb so wenig wie möglich beeinträchtigt wird. Das aus eigener Hand zu stemmen, ist ebenfalls keine kleine Aufgabe.
Schließlich noch ein besonders wichtiger Aspekt: Managed Hosting erleichtert das Einhalten von Service Level Agreements (SLA). Gerade in dienstleistungsorientierten Branchen sind maximale Verfügbarkeit und Performance in der IT lebenswichtig für die betreffenden Serviceanbieter, zumal die Konkurrenz für den Kunden ja nur einen Klick entfernt ist, wenn Systeme und Anwendungen nicht optimal „liefern“. Von möglichen juristischen Implikationen beim Thema SLA-(Nicht-)Gewährleistung soll hier gar nicht die Rede sein.

Wie unterscheidet sich Managed Hosting vom klassischen Hosting?
Beim klassischen Hosting mietet der Kunde rechenzentrumseigene Ressourcen,und der Anbieter gewährleistet in diesem Rahmen unterschiedliche Parameter wie Speicherplatz, Performance (CPU, RAM, SSD/SATA, etc.). Meistens (aber nicht immer) wird das in einem kurzgefassten SLA dokumentiert.
Der entscheidende Punkt ist dieser: Einrichtung, Inbetriebnahme und das weitere „Schicksal“ von Anwendungen fallen komplett unter die Zuständigkeit des Kunden. Hierzu bieten Hoster vielfach Tools an (sogenannte „1-Klick-Anwendungen“), welche die genannten Schritte möglichst einfach machen sollen. Sie bewirken aber oft das Gegenteil und überfordern viele Nutzer eher, als dass sie die Administration angenehmer gestalten.
Auch in folgender Hinsicht ist Vorsicht angebracht: Auf dem deutschen Markt finden sich immer wieder Produkte, die fälschlicherweise als„Managed Server“ angepriesen werden. Das sind Server, die vom Hosting Provider im Hinblick auf das Betriebssystem und einzelne Dienste betreut werden, aber einheitlich konfiguriert sind und keine Änderungen zulassen. Betriebssystem und Dienste sind dabei nicht selten völlig veraltet, weil der Anbieter den Pflegeaufwand seinerseits möglichst gering halten will. Zudem erhält der Kunde nur einen Nutzer-, aber keinen Root-Zugang. Anhand dieser Punkte sollte man also beurteilen, wo die Grenzlinie zwischen Classic und Managed Hosting verläuft, wenn sich beide Modelle auf den ersten Blick recht nahe sind (zumindest auf Betriebssystemebene). Ankündigungen wie „Superschneller 8-Core SSD-Server für preisbewusste Profis“ sollte man grundsätzlich mit Vorsicht begegnen und genau hinsehen, welche Hosting-Leistungen tatsächlich mit dabei sind.

Welche Leistungen gehören zum Managed Hosting dazu?
Zuerst schaut man bei der Hoster-Auswahl in der Regel auf die „harten Fakten“, also die technischen und betrieblichen Leistungsmerkmale. Genauso sollte man jedoch auf das Thema Beratung achten. Es spricht sehr für einen Hosting-Anbieter, wenn Beratung als eigene Dienstleistung explizit genannt wird. Sie ist häufig bis zu einem gewissen Umfang kostenfrei und wird dann nach Aufwand/Zeit abgerechnet. Ein wichtiges Kriterium bei der Provider- und Angebotsbewertung ist sie so oder so.
Was die konkreten Hosting-Leistungen angeht, ist das Thema Konfiguration und Updates ein zentraler Punkt. Der Hostinganbieter sollte Aktualisierungen auf vielen Ebenen gewährleisten, etwa für Kernels und Systembibliotheken, aber auch für SSL-Protokolle und serverseitige Abhängigkeiten (z. B. PHP/Perl). Das Aufspielen neuer Anwendungsversionen gehört ebenso zu den Kernaufgaben wie das Einrichten und Ändern individueller Anwendungskonfigurationen hinsichtlich Bedarf und Anforderungen beim Kunden. Die Vielfalt der standardmäßig angebotenen Leistungen ist generell ein wichtiges Indiz dafür, ob man es mit „echtem“ Managed Hosting zu tun hat.

Wie sieht es mit der Sicherheit aus?
Der ausfallsichere IT-Betrieb ist sicherlich ein Hauptkriterium, weshalb man sich mit Managed Hosting beschäftigt. Die vielen möglichen Risiken abzuschätzen und frühzeitig und effizient gegenzusteuern erfordert nicht nur viel Expertise, sondern auch personelle Ressourcen, was gerade kleinere Unternehmen in vielen Fällen schlicht und einfach nicht aufbringen können.
Da dieser Punkt mehr als alles andere vor allem mit Vertrauen zu tun hat, sollte man ganz genau hinschauen, was ein Provider von Managed Hosting in puncto Sicherheitsmaßnahmen zu bieten hat. Dazu gehören auf jeden Fall regelmäßige Checks nach Malware, eine Firewall, Intrusion-Detection-Systeme und natürlich das zeitnahe Patching nach Bekanntwerden sicherheitsrelevanter Programm-Updates. Es versteht sich von selbst, dass diese Maßnahmen auf allen Ebenen lückenlos durchgeführt werden müssen.
Ein weiterer zentraler Aspekt ist das Monitoring zur Verfügbarkeit von Diensten. Dabei wird permanent geprüft, ob diese erreichbar sind und funktionieren – vor allem mit der vereinbarten und zu erwartenden Geschwindigkeit. „Erreichbarkeit“ ist natürlich eine Definitionssache, schließlich kann es durchaus vorkommen, dass Nutzer eines bestimmten Anbieters den Service eben mal nicht erreichen können. Das Monitoring sollte daher von verschiedenen Server weltweit verteilt vorgenommen werden, damit ein besseres Bild über die tatsächliche Verfügbarkeit entsteht.

Was ist beim Stichwort Ausfallsicherheit zu beachten? 
Heutige Hardware und künftige ist/wird immer besser und verlässlicher. Es wäre jedoch fahrlässig zu behaupten, dass technische Ausfälle bei Komponenten, Festplatten etc. kein Thema mehr sind, schließlich laufen diese oft rund um die Uhr und bei voller Auslastung.
Da in solchen Fällen Austauschaktionen unvermeidlich sind, muss der Provider von Managed Hosting entsprechende Vorkehrungen treffen, die den reibungslosen Betrieb der Systeme und Anwendungen des Kunden sicherstellen. Hier ist es ratsam, Begriffe wie Redundanz, RAID oder Failover-IP unter die Lupe zu nehmen.
Natürlich können Ausfälle im Betrieb auch von der Softwareseite herrühren, etwa wenn fehlerhafte Dateisysteme Daten unter bestimmten Bedingungen falsch auf die Festplatte schreiben. Auch für diese Fälle muss der Provider Gegenmaßnahmen zur Hand haben, die vom kompletten Service- oder einem VM-Neustart bis zum verzögerungsfreien Einspielen unkorrumpierter Backups reichen. Es ist also dringend ratsam, sich gerade in diesem Bereich das Leistungsangebot genauer anzusehen, bzw. besonderes Augenmerk auf das Service Level Agreement (SLA) zu legen. Dieses ist kein ausschließliches „Beiwerk“ von Managed Hosting, sollte aber dort besonders detailliert niedergelegt sein und weit über die Bandbreite beim klassischen Hosting hinausgehen. Dort hören SLAs meistens bei der Erreichbarkeit von Servern („Ping“) auf oder umfassen lediglich Hardware-Garantien (z. B. defekte Festplatte wird nach Meldung innerhalb x Stunden ausgetauscht).

Für wen ist Managed Hosting interessant?
Wie der Beitrag gezeigt hat, steht hinter Managed Hosting ein Leistungsspektrum, das alle Aspekte professioneller IT-Administration abdeckt, von der Einrichtung/Abbildung von Infrastrukturen und Anwendungsprozessen bis zur Gewährleistung von Performance-Level und Ausfallsicherheit. Wer einfach „nur“ einen Rahmen für den IT-Betrieb sucht, um etwa fehlende personelle Ressourcen im IT-Bereich abzufedern, ist beim Classic Hosting grundsätzlich gut aufgehoben. Der leistungsmäßige Mehrwert beim Managed Hosting hat natürlich auch seinen Preis, weshalb die Frage nach der Wirtschaftlichkeit grundsätzlich an erster Stelle stellt. Vielleicht kann man es so auf den Punkt bringen: Managed Hosting richtet sich vornehmlich an gewerbliche Nutzer, die einen Vorteil erkennen, gewisse Arbeitsprozesse auszulagern und sich auf andere zu konzentrieren.

Kann man mit Managed Hosting Kosten sparen?
Diese Frage ist im Grunde reine Mathematik und muss in jedem Einzelfall abgewogen werden, da viele Faktoren mit unterschiedlicher Gewichtung einfließen. Wie überall gilt auch hier: Wer mehr investiert, kann auch mehr ernten – wenn richtig investiert wird.
Jedenfalls ist seit einigen Jahren ein Trend zu Managed Hosting klar zuerkennen. Insofern kann man davon ausgehen, dass die Wirtschaftlichkeit des Modells grundsätzlich positiv bewertet wird, alleine wohl schon deshalb, weil die Transparenz im Hinblick auf zugesagte Leistungen und zu entrichtende Kosten sehr groß ist. Oder anders ausgedrückt: Mit Managed Hosting lässt sich relativ leicht kalkulieren.
Grundsätzlich sollte man sich etwas genauer mit folgenden Überlegungen beschäftigen, wenn man entscheiden will, ob Managed Hosting aus wirtschaftlichen Erwägungen sinnvoll ist:

  • Faktor Zeit: Wie viel Arbeitszeit bindet der eigene IT-Betrieb, und wie viel davon bräuchte man viel dringender für die eigentlichen Geschäftsabläufe?
  • Faktor Ressourcen: Wie viele Mitarbeiter werden wird von der IT-Administration in Anspruch genommen? Gehört sie zu ihren Kernaufgaben, oder machen sie vieles davon mehr oder weniger „fachfremd“?
  • Faktor Qualität: Ist genügend Know-how intern vorhanden, um die Komplexität im modernen IT-Betrieb abzubilden, und wird darüber hinaus auch die technisch-infrastrukturelle Ausstattung den Anforderungen gerecht – nicht nur aktuell, sondern auch perspektivisch für die Zukunft?

Befasst man sich eingehender mit den genannten Punkten, wird Managed Hosting mit Sicherheit sehr schnell zu einer gar nicht mehr so abseitigen Alternative.

WordPress erhöht die Bestmarke – 25% des Webs proudly powered by WP

WordPress LogoDas fortlaufende Wachstum von WordPress ist nicht zu bremsen. Neuste Statistiken von w3techs.com belegen, dass 25% aller Webseiten weltweit mit WordPress betrieben werden. Zudem ist und bleibt WordPress das CMS das mit Abstand schnellsten Wachstum (fast 20 mal soviel wie das zweitplatzierte CMS).

Wir nutzen die Gelegenheit, das WordPress Meetup Karlsruhe zu erwähnen und, dass wir auf der Suche nach Sponsoren sind…

 

 

WordPress Statistik

OTRS 5 released

otrs-iconDie wahrscheinlich weltweit verbreiteste Help Desk und ITIL V3 konforme IT Service Management (ITSM) Lösung ist am 20. Oktober in Version 5 erschienen.
Zu den Neuerungen gehören ein Responsive Layout – die Anwendung ist nun auch für mobile Geräte wie Smartphones und Tabletts angepasst worden – sowie zahlreiche visuelle Verbesserungen (z. B. Statistiken) aber auch allgemein Produktivitätseigenschaften wie Multiselects, einen WYSIWYG Editor oder ein verbessertes Benachrichtigungssystem. Die Performance (z. B. das Ausführen von asynchronen Aktionen beschleunigt die Arbeitsschritte wesentlich) und Skalierbarkeit wurden ebenfalls gesteigert, die Schnittstellen zu externen Diensten überarbeitet.
Eine ausführliche Liste zu den Neuerungen befindet sich hier.

Bug-Bounty-Programm von ownCloud

Managed ownCloud Hosting mit SaaS WebownCloud hat kürzlich ein neues Programm gestartet, um die Sicherheit von ownCloud schneller und besser zu stärken. Dazu wurde ein Bug-Bounty Programm ins Leben gerufen – es werden je nach Stufe der gefundenen Lücke ein Preisgeld vergeben, bis zu 500 Dollar. Damit erhoffen sich die Macher ein größeres Vertrauen in die Software bzw. tatsächlich eine höhere Sicherheit. ownCloud hatte vor einiger Zeit bereits mit dem BSI ein Leitfaden veröffentlicht, um ownCloud Installationen sicher in Betrieb zu nehmen.
Details zu dem Programm finden Sie hier.

Wordcamp in Köln war ein tolles Event

Es ist eigentlich noch nicht vorbei, heute ist Contributor Day. Dieser Tag wird den Personen gewidmet, die der (Weiter-)Entwicklung von WordPress beitragen – in allen möglichen Bereichen, es muss nicht unbedingt technischer Natur sein.

SaaS Web war nicht nur Sponsor des Events! Wir, Daniel Jagszent und Matthias Wulkow, waren auch vor Ort und haben an den zahlreichen Vorträgen teilgenommen. Am Sonntag wurde auch unter vielen anderen Geschenken ein WordPress Hosting L verschenkt.

Hier ein paar Eindrücke des Wordcamps:

David Jardin zum Thema CMS Garden

CMS Garden

Silvan Hagen zum Thema UX Design Prozess zur Plugin Entwicklung

Feedback Plugin

Elisabeth Hölzl zum Thema Barrierefreiheit bzw. Barrierefreundlichkeit

Barrierefreiheit

Jon Ziemlich zum Thema WordPress Security (und mit einem Live-Hack)

Wordpress Security

Dominik Schilling und Konstantin Obenland in der Fragen/Antworten Session

Fragen & Antworten

Luc Princen zum Thema Javascript Theme

js-theme-1

Torsten Landsiedel zum Thema Child Themes

child-themes-1

SaaS Web Homepage reloaded!

Screenshot WordPress managed by SaaS WebTenor des Updates ist mehr Klarheit, mehr Übersichtlichkeit. Die Produktseiten sind nun in 3 Tabs unterteilt: Übersicht, Produktdetails und die Pakete als Feature-Matrix. So lassen sich auch große Inhalte einfach durchforsten ohne ellenlange Seite scrollen zu müssen.

SaaS Web Internet Solutions GmbH bietet seit 2011 „managed“ Anwendungen für Unternehmen aus den Bereichen Blog & Websites, Portale & Communities, E-Business, Office und Developer. Die Produkte richten sich an Web-Agenturen und Power-User (insbesondere die Website-CMS, die Portal/Community-Anwendungen und die Shop-Lösungen) und allgemein an Unternehmen, die ihre Software outsourcen möchten. SaaS Web betreibt die Anwendungen für die Kunden, sodass diese sich nicht um technische Belange kümmern müssen. SaaS Web bietet fast ausschließlich Open Source Software und zählt aktuell über 50 verschiedene Anwendungen.

SaaS Web ist Europas erster (und einziger) SaaS Provider mit einer dermaßen großen Bandbreite an Produkten.

Hier geht es zur SaaS Web Homepage.

SuiteCRM as a Service / Managed SuiteCRM

SuiteCRM LogoSaaS Web bringt eine neue CRM Lösung auf den Markt. SuiteCRM ist eine gut durchdachte und mit vielen Funktionen ausgestattete Open Source CRM Anwendung für kleine und große Unternehmen. SuiteCRM ist ein Fork/eine Weiterentwicklung des nun nicht mehr Open Source entwickelte SugarCRM System.

SuiteCRM kann auf Wunsch auch auf bestimmte Anforderungen getrimmt werden, z. B. mit Fokus auf Sales (Vertrieb) oder Services (Dienstleistung). SaaS Web bietet die gehostete CRM Lösung in verschiedenen Leistungsstufen, stets mit Domain und dediziertem SSL Zertifikat. Angefangen mit 3 Seats (User) bis hin zu 50 Seats können sowohl kleine Teams aber auch größere Unternehmen mit SuiteCRM arbeiten. Hier finden Sie die Angebote.

Funktions-Vergleichstabelle

FeaturesManaged
SuiteCRM
Microsoft
Dynamics
SalesForce
Pro
SugarCRM
Enterprise
Accounts
*
*
*
*
Kontakte
*
*
*
*
Leads
*
*
*
*
Opportunities
*
*
*
*
Angebote
*
*
*
*
Kalender
*
*
*
*
Fälle
*
*
*
*
Dokumente
*
*
*
*
E-Mails
*
*
*
*
Kampagnen
*
*
*
*
Anrufe
*
*
*
*
Meetings
*
*
*
*
Aufgaben
*
*
*
*
Notizen
*
*
*
*
Produkte
*
*
*
*
Produktkategorien
*
*
*
*
Verträge
*
*
*
*
Report Generator
*
*
*
*
Mobile
*
*
*
*
Outlook Integration
*
*
*
*
Workflow
*
*
*
Projekte
*
*
Rechnungen
*
Events
*
Maps
*
Thunderbird plugin
*
Portal
*

Source: https://suitecrm.com/suitecrm/comparison

WordPress Meetup Karlsruhe #4 am 29. April im Palaver

WP Meetup KarlsruheZusammen mit OVH organsiert SaaS Web am 29. April das nächste WordPress Meetup Karlsruhe im Café Palaver (Gewerbehof).

Café Palaver
Steinstraße 23
76133 Karlsruhe

Uhrzeit: 19h30 – 21h30 bzw. noch 1 Std für Cocktail-Genuß..

Aktuell sind 3 Vorträge geplant, Frank Puhl (OVH) zum Thema Infrastruktur/Hosting und Einrichtung, Monique Koepke (Miss-Koepke) zum Thema Photoshop und Bildbearbeitung und Daniel Jagszent (SaaS Web) zum Thema Custom Post Types. Im Anschluss gibt es wie immer leckere Cocktails, dieses Mal auch für Autofahrer (= Ohne Alkohol).
Hier geht zur Anmeldung zum Event und hier gibt es weitere Details.

    class='wp-pagenavi' role='navigation'>
  • 1
  • 2
  • 3
  • 4