Ferien-Karlsruhe Verkaufstags-Rush reibungslos

Wie jedes Jahr im Februar, werden die neuen Angebote vom Stadtjugendausschuss zum Kauf angeboten. Ein bisschen anders als jedes Jahr war, dass nur der Top-Seller (Karlopolis) buchbar war, die anderen neuen Freizeiten werden eine Woche später erst angeboten.

Letztes Jahr haben ca. 5.000 Besucher quasi zeitgleich (die Angebote wurden um 18h freigeschaltet) versucht sich die Wunsch-Freizeiten zu reservieren – was die Server eine Zeit lang überforderte. Nach einer dreiviertel Stunde und geboosteter Performance konnten alle Bestellungen abgearbeitet werden.

Aus den Fehlern wurde aber gelernt. So wurden dieses Jahr folgende Maßnahmen umgesetzt:

  • Produktseiten cachbar gemacht; die Information ob noch freie Plätz vorhanden oder nicht, wird per Ajax asynchron nachgeladen
  • Warteschleife in den Bestellprozess eingebaut: eingehende Bestellungen werden nicht sofort von WooCommerce versucht abgearbeitet zu werden, sie werden nach dem Klick auf „Jetzt bestellen“ in eine Warteschleife geführt und in „30er Pakete“ zum Abarbeiten geschickt. Erst dann werden die Bestellungen in Reservierungen umgewandelt und die Kunden erhalten eine Bestätigungsmail. Diese Funktion ermöglicht die Last deutlich zu drosseln, wenn um Punkt 18h knapp 2.000 Personen gleichzeitig versuchen die Karlopolis-Freizeiten zu buchen.

Natürlich wurden für den Verkaufstag auch die Performance der Systeme hochgefahren, etwa um das Zehnfache im Vergleich zu einem normalen Geschäftstag.

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.

WordPress und WooCommerce – das perfekte Duo

WordPress ist bekannterweise die Nummer eins der CMS weltweit, das ist nun keine Neuheit mehr. Eigentlich nicht neu, aber weniger bekannt ist, dass WordPress mit WooCommerce auch die Nummer eins im Bereich Online Shops ist.

WooCommerce ist seit 2015 auch Teil von Automattic und damit ist auch sichergestellt, dass die Kompatibilität und die Entwicklung der Erweiterung dauerhaft sein wird.

Die Features von WooCommerce im Schnellüberblick

Nachdem WooCommerce installiert und aktiviert wird, werden neue Custom Post Types, Custom Taxonomy und Spezial-Seiten erstellt. Der Custom Post Type, Sie haben es erraten, ist das Abbild eines Produkts in WordPress, die Custom Taxonomy wird für die Produkkategorie und das Produktschlagwort verwendet. Die Spezial-Seiten sind die Shop-Seite (standardmäßig /shop) auf der alle Produkte angezeigt werden, die AGB-Site (/terms-conditions), der Kundenbereich (/my-account) damit Kunden ihre laufenden Bestellungen verfolgen können, der Einkaufswagen (/cart) und die Bestellseite (/checkout).

Hier die Funktionen, die mit WooCommerce bereitgestellt werden:

  • Produkte
    • Produkttypen: einfaches Produkt, variables Produkt, "nicht-materielle" Ware, Verlinkung zu anderem Produkt. Ein variables Produkt ist beispielsweise ein Produkt in mehreren Größen oder Farben. Die einzelnen Varianten können anhand von frei-definierbaren Attributen erstellt werden. Nicht-materielle Produkte sind z. B. PDF-Downloads, Codes zum Runterladen.
    • Produktdarstellung: zu jedem Produkt kann ein Name, eine kurze und eine ausführliche Beschreibung des Produkts eingetragen werden. Dazu noch ein großes Produktbild sowie zusätzliche Bilder (Galerie). Natürlich wird auch ein Preis angegeben.
  • Währung, Preise: sowohl die Währung kann eingestellt werden als auch ob die Preise mit oder ohne Mehrwertsteuer angezeigt werden. Es lassen sich auch unterschiedliche MwSt-Sätze angeben, abhängig vom Herkunftsland der Bestellung.
  • Lagerverwaltung: Eine einfache Lagerverwaltung kann aktiviert werden. Die Menge wird manuell eingegeben, der Stand wird anschließend automatisch anhand der Bestellungen angepasst. Die Lagermenge kann bei variablen Produkten für die jeweiligen Varianten angegeben werden. Auch lässt sich einstellen, ob ein Produkt bei Lagermenge 0 automatisch auf nicht verfügbar wechselt oder ob "Überbestellungen" erlaubt sein dürfen und wie viele.
  • Versand: es werden Versandzonen definiert. Eine Versandzone kann für ein oder mehrere Länder gelten und eine oder mehrere Versandarten werden dafür festgelegt wie Versandkostenpauschale oder kostenlose Lieferung.
  • Zahlungsoptionen: standardmäßig ist eine Paypal Integration aktivierbar, ansonsten stehen die Optionen zu Verfügung: Überweisung, Nachnahme und Scheck. Es lassen sich auch Gutscheine aktivieren und mit den Bestellungen verrechnen.
  • Kundenkonto: es besteht die Möglichkeit für Kunden die Konto-Funktion zu aktivieren und den Kunden somit einen Bereich anzubieten wo sie sich über laufende und vergangene Bestellungen informieren können.
  • E-Mails: für verschiedene Aktionen gibt es unterschiedliche E-Mail Templates (Bestellbestätigung, Storno, ..).
  • API: für Entwickler ganz wichtig! Die WooCommerce-API ermöglicht den Zugriff und die Verarbeitung aller Funktionen über REST.

Natürlich sind das nun nicht alle Features, es sind die wichtigsten (die mir einfallen während ich diesen Artikel schreibe).

WooCommerce und WPML

Mit WPML können Sie Ihren WooCommerce-Shop für mehrere Sprachen anpassen. Sie können Produkte analog zu normalen Seiten oder Beiträgen, Produkte und die dazugehörigen Attribute und Taxonomien übersetzen. Dazu wird idealerweise das Plugin WooCommerce Multilingual installiert und aktiviert.

Unterschiedliche Lagermengen pro Sprache

Hat man allerdings pro Sprache unterschiedliche Lagermengen hat man zunächst ein Problem.

Die Menge lässt sich nur zentral steuern über das Produkt in der Standardsprache. Das bedeutet, dass das übersetzte Produkt die gleiche Menge hat wie das aus der Standardsprache.

Eine Option besteht darin, das Produkt als variables Produkt anzulegen und Sprachvarianten zu erstellen (bei variablen Produkten kann die Lagermenge pro Variante festgelegt werden). Ganz so einfach ist es dann auch nicht: von WooCommerce mitgelieferte Widgets wie zum Beispiel die bestbewerteten Produkte können mit den Varianten nicht umgehen; sie nutzen die Lagermenge der als Standard definierten Variante, um den Add to cart Link anzuzeigen oder nur zum Produkt zu verlinken.

Außerdem möchte man wahrscheinlich (wir wollten es) dass die Sprachvariante der aktuellen Sprache vorausgewählt ist. Das lässt auch nicht über die Option Standard Attribut setzen, da diese Option dann für alle Sprachen gilt.

Das Ergebnis können Sie hier auf der Shop-Seite sehen: www.textilbox.de, www.textilbox.es und www.textilbox.fr.

Die unten angezeigten Filter sind alle einer init-Action zugeordnet und sind in der functions.php zu definieren:

add_action('init', function() {

 add_filter('function-name', function($args){
  .. Code ...
 },1,1);

}

Damit es wie in dem Code unten angegeben funktioniert, müssen Sie die Sprachvarianten mit den selben ISO Codes benennen wie es WPML macht. Wir haben 3 Sprachvarianten: Deutsch, Französisch und Spanisch und haben sie jeweils de, fr und es genannt. 

Außerdem haben wir die Eigenschaft Language erstellt, die genutzt wird um die Varianten zu erstellen.

Setzen der Add to cart URL auf der Shop-Seite

add_filter('woocommerce_product_add_to_cart_url', function($url, $product){
  if (is_a($product, 'WC_Product_Variable')) {
    $variations = $product->get_available_variations();
    $default_var = ICL_LANGUAGE_CODE . "-" . ICL_LANGUAGE_CODE;
    if ($default_var) {
      foreach ($variations as $variation) {
        if (
          count($variation['attributes']) == 1 && 
          isset($variation['attributes']['attribute_pa_language']) && 
          $variation['attributes']['attribute_pa_language'] == $default_var && 
          $variation['variation_is_active'] &&
          $variation['variation_is_visible'] &&
          $variation['is_purchasable'] ) {
          $url = remove_query_arg( 'added-to-cart', add_query_arg( array( 'variation_id' => $variation['variation_id'], 'add-to-cart' => $product->get_id() ), $product->get_permalink() ) );
          return $url;
        }
      }
    }
  }
  return $url;
}, 99, 2);

Dieser Wert $default_var = ICL_LANGUAGE_CODE . "-" . ICL_LANGUAGE_CODE; wird gesetzt, damit beim Klick auf Add to cart die Sprachvariante der aktuellen Sprache ausgewählt wird. Sollte ein Käufer eine andere Sprachvariante wünschen, muss er zuerst das Produkt anwählen und dort die gewünschte Variante auswählen.

Alternativ zur Konstante ICL_LANGUAGE_CODE, lässt sich auch diese Funktion nutzen:
global $sitepress;
$my_current_lang = $sitepress->get_current_language();

Setzen des Add to cart Textes auf der Shop-Seite

add_filter('woocommerce_product_add_to_cart_text', function($text, $product){
  if (is_a($product, 'WC_Product_Variable')) {
    $text = $product->is_purchasable() && $product->is_in_stock() ? __( 'Add to cart', 'woocommerce' ) : __( 'Read more', 'woocommerce' );
  }
  return $text;
}, 99, 2);

Setzen der Standard-Sprachvariante in der aktuellen Sprache auf der Produktseite

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', function($args){
  $attribute = $args['attribute'];
  if (empty($args['selected']) && $attribute == 'pa_language') {
    $args['selected'] = ICL_LANGUAGE_CODE . "-" . ICL_LANGUAGE_CODE;
  }
  return $args;
}, 10, 1 );

 

Was passiert mit dem Warenkorb wenn der Kunde die Sprache wechselt?

Das ist eine interessante Frage. Es gibt verschiedene Möglichkeiten:

  • Wenn Sie die Sprachen so eingerichtet haben, dass Ihre Website diese so unterteilt website.tld/de, website.tld/fr, dann ist es am einfachsten. Der Warenkorb wird einfach übersetzt (das Produkt bleibt gleich).
  • Wenn Sie pro Sprache eine eigene Domain (website.de, website.fr) eingerichtet haben, dann wird es etwas komplizierter. Denn Session und Cookies  immer an einer Domain gebunden sind; wechselt die Domain wird eine neue Session und ein neuer Cookie gesetzt. Daher muss in WPML eingestellt werden, dass die notwendigen Informationen entweder per GET oder POST übertragen werden (die Daten werden verschlüsselt).

Hier gibt es erweiterte Dokumentation zu dem Thema: https://wpml.org/documentation/getting-started-guide/language-setup/passing-session-data-between-languages-in-domains/

WooCommerce Germanized

In Deutschland wird man schnell abgemahnt, wenn man die Regeln nicht befolgt - das ist bekannt. Jedoch sollte man nicht nur aus Angst vor Strafe sich an bestimmte Regeln halten, manche sind durchaus sinnvoll, beispielsweise die Angabe eines Preises pro Einheitsmenge. So lässt sich bei Produkten, die in verschiedenen Größen angeboten werden schnell erkennen ob und wie sich ein möglicher Rabatt verhält.

Die Features von WooCommerce Germanized im Überblick

Das Plugin wird als Freemium-Erweiterung angeboten: es gibt eine kostenlose Variante, die einiges kann und eine kostenpflichtige Pro Version, die mehr Features anbietet. Wir interessieren uns in diesem Artikel lediglich um die kostenlose Version.

Die Features:

  • Matching von rechtlich relevanten Seiten wie Impressum, Datenschutz oder Widerrufsrecht
  • Widerrufsformular als Shortcode mit Bestätigung per E-Mail
  • Aktivierung der Anzeige eines Grundpreises, insbesondere wichtig für variable Produkte
  • Anzeige zu MwSt und Versandkosten zum Preis auf der Übersichtsseite und der Produkteinzelseite
  • Aktivierung der Kleinunternehmerregelung
  • Lieferzeitenangabe
  • Aktivierung einer Checkbox im Bestellprozess für Kunden um der Erstellung eines Kundenlogins zuzustimmen
  • Double Opt-in Verfahren für die Erstellung des Kundenlogins

Auch hier werden nicht alle Features aufgezählt, es sind zu viele 😉

Einen Shop mit WooCommerce Germanized können Sie hier besuchen: www.oelmanufaktur-bender.de.

Tausende Erweiterungen und immer professioneller

Mit der WordPress + WooCommerce Kombination profitieren Sie von einer Auswahl aus tausenden Erweiterungen. Außerdem lassen sich zahlreiche Anpassungen machen, ohne den Code des CMS oder von WooCommerce direkt anzufassen, sodass die Upgrade-Fähigkeit des Systems gewährleistet wird. In den oben genannten Beispielen werden  die Anpassungen über Hooks, Actions und Filter gemacht, WooCommerce an sich wurde nicht verändert.

Professionelle Anbieter, die sich bislang auf die traditionellen Shoplösungen konzentrierten wie Magento, OXID oder Prestashop, erweitern zunehmend ihre Lösungen für WooCommerce.

Ein weiterer Aspekt, den niemand außer Acht lassen sollte, sind die Entwicklungskosten. Je verbreiteter ein System ist, um so günstiger sind die Entwicklungskosten, da es viele Dienstleister gibt und sich gegenseitig Konkurrenz machen - das drückt die Preise. Allerdings hat Qualität bekanntlich nach wie vor seinen Preis...

Ferien-Karlsruhe: Start am 23.02. etwas holprig

Tausende Besucher und zighunderte Reservierungen in wenigen Minuten

Um Punkt 17h war verkaufsstart. Das wussten wir und das wussten die Leute. Warum sollte also etwas schief gehen?

So einfach ist es nicht. Tatsächlich war klar, dass es einen Ansturm auf die Angebote des Ferien Portals geben würde. Was bedeutet aber Ansturm in Zahlen? Wie dimensioniert man Server-Kapazitäten?

SaaS Web hostet das Ferien Portal seit 2015 nachdem der Verkaufsstart bei dem vorherigen Provider mit einem "rausgezogenen Stecker" endete. Seit dem werden Besucherzahlen und Serverlast von SaaS Web getrackt und darauf geachtet, dass das Portal gut läuft. Wie konnte es passieren, dass die Server überlastet waren, wenn SaaS Web zwei Verkaufsstarts (Frühjahr 2016 und 2017) betreut hat?

Anders als in den vergangenen Jahren, an denen der Verkaufsstart offline begann und einige Tage später erst online gebucht werden konnte, wurde erstmals komplett auf online gesetzt. Entsprechend gab es keine Erfahrungswerte über die Anzahl Nutzer und den Bestelltakt. Aber damit nicht genug: das Portal wurde komplett neu programmiert, sodass jeder Besuch, jede Bestellung bzw. Reservierung andere Lastwerte erzeugten wie bislang bekannt. Vor dem Launch wurden Lasttests durchgeführt, die uns die Größenordnung gaben, welche die Server aushalten sollten. Da diese Tests keine realen Bestellvorgänge simulierten, war die Annahme eine grobe Abwägung. An dieser Stelle sei gesagt, dass gute Lasttests einen erheblichen Aufwand bedeuten und entsprechende Kosten verursachen.

Hosting-Infrastruktur vor dem 23.02.

Hosting-Infrastruktur seit dem 23.02.

Was ist also passiert?

Chronik zusammengefasst:

  • Kurz vor 17h kommen immer mehr Besucher auf ferien-karlsruhe.de, können aber noch keine der neuen Angebote bestellen. Unmittelbar vor 17h sind es ca. 2.500 Besucher.
  • Um 17h wird die Möglichkeit zu bestellen automatisiert freigegeben
  • Unter der Last der vielen Bestellungen (denn erst diese erzeugen besonders viel Last) werden Aktionen wie das Klicken auf Weiter im Warenkorb nicht mehr möglich. Dadurch, dass die Server besonders langsam reagieren, werden auch verwirrende Seiteneffekte sichtbar wie z. B. ein Warenkorbsymbol oben mit einem Wert aber der Warenkorb selbst meldet leer zu sein.
  • In dieser Zeit sind wir dabei die Server zu monitoren und zu erkennen was genau nicht funktioniert wie es soll. Wir erhöhen schließlich die Performance aller Komponenten: Load Balancer 1 (von 2), Web Server 1, 2, 3 und 4 (ja, es waren 4 Application Server am Start), sowie Datenbank Server 1 (von 3).
  • Ab ca. 18h entspannt sich die Situation und die Reservierungen laufen in das System ein - bis 19h sind es ca. 1200 Reservierungen.

Das SaaS Web Team entschuldigt sich bei allen Familien für den nervenaufreibenden Verkaufsstart und bedauert sehr, den Buchungsansturm unterschätzt zu haben. Wir hoffen, dass alle trotz allem dazu kamen, die gewünschten Angebote reservieren zu können.

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

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.

A day of REST 2017

A Day of REST is a one-day conference all about the WordPress REST API. Speakers include members of the team building the REST API, and those using it in production websites. Attendees will have a chance to learn how to use the REST API in their own projects, with insights into best practices, tools, coding, and how other people are using it. A Day of REST Boston will be accompanied by two days of workshops that will teach frontend technologies to WordPress developers.

A Day of REST is committed to creating a welcoming and inclusive event for everyone. We expect all of our staff, volunteers, attendees, sponsors, and speakers to adhere to our code of conduct.

WORKSHOPS

A Day of REST will be accompanied by two days of frontend workshops, hosted by our friends at Bocoup. These workshops will be tailored to WordPress developers who want to hone their front-end skills in preparation for building REST API-powered applications. Details of the workshops, along with tickets, will be available when ticket sales open.

Managed WooCommerce Hosting nun günstiger

Mit der Nutzung der kostenlosen Let’s Encrypt Zertifikate (domain validated certificate) für Websites nd Shops ist der geringfügig höhere Preis für WordPress Shops nicht mehr zeitgemäß. Daher wird der Preis für alle Neukunden ab heute gesenkt und dem Preis für „normales“ Managed WordPress Hosting gleichgesetzt. Bestandskunden bekommen den neuen Preis mit der neuen Rechnung.

Hier finden Sie die Managed WooCommerce Tarife.

Wir wünschen allen ein frohes Fest und einen guten Rutsch ins neue Jahr!

 

Relaunch Ferien-Karlsruhe

Kurz bevor die neuen Angebote in der Geschäftsstelle buchbar sein sollen, geht die Website mit einem überarbeiteten Design (Miss Koepke) und neuen Funktionen live. Neuerungen sind u. a. :

  • eine kompaktere Startseite mit einem neuen Logo
  • ein Suchfilter auf der Startseite
  • eine übersichtlichere Ansicht der Angebotseinzelseiten
  • die Möglichkeit mehrere Angebote gleichzeitig zu buchen und dabei verschiedenen Kindern direkt zuzuweisen
  • und einiges mehr.. 

Ferien Karlsruhe