DIVI Theme: Reply-To des Kontaktformular-Moduls ändern

Standardmäßig tut DIVI die Mail Adresse, die abgefragt wird, als „Reply-To“-Adresse einsetzen. Die „Reply-To“ Adresse ist die Mail-Adresse, an die eine Mail geschickt werden soll, wenn man in seinem Mail-Programm auf „Antworten“ klickt.

An sich ist das recht praktisch, als Website-Betreiber bekommt man eine Mail und kann direkt auf „Antworten“ klicken, um der Person zu schreiben. Was aber vermeintlich praktisch ist mögen einige Mail-Server nicht. Denn es ist nicht üblich, dass der Sender eine ganz andere Antwort-Adresse hat als die „Reply-To“. Spammer nutzen das u. a. in dem sie einen bekannten Sender faken und Sie die Antwort über das „Reply-To“ an eine andere Adresse schicken.

Leider bietet das DIVI Modul keine Einstellmöglichkeit, das „Reply-To“-Feld anders zu setzen. Daher muss es anders gelöst werden, wir nutzen einen Filter. Der Code wird einfach in die functions.php hinzugefügt.

function my_custom_headers($headers, $contact_name, $contact_email){

  $my_headers = array();
  $header_reply_to_found = false;
  $http_host = str_replace("www.", "", $_SERVER["HTTP_HOST"]);

  for( $i = 0 ; $i < sizeof($headers) ; $i++ ){

    if( preg_match("/Reply-To/", $headers[$i]) > 0 ){

      $my_headers[] = "Reply-To: info@" . $http_host;
      $header_reply_to_found = true;
    }else{

    $my_headers[] = $headers[$i];
    }
  }

  if( ! $header_reply_to_found ){

    $my_headers[] = "Reply-To: info@" . $http_host;
  }

  return $my_headers;
}

add_filter( 'et_contact_page_headers', 'my_custom_headers', 999, 3 );

In diesem Beispiel wird die Reply-To Adresse auf info@ der Website-Domain gesetzt.

Achtung, nicht vergessen: Standardmäßig schickt das Kontaktformular nur den Inhalt des Nachrichtenfeldes mit. Wenn also die Mail-Adresse des Formulars nicht mehr als „Reply-To“ verwendet wird, weiß man nicht mehr wer einen angeschrieben hat. Man muss also die Information mitschicken. Das geht über die Einstellung „E-Mail Adresse“ > „Meldungsschema“ wie hier in dem Screenshot.

DIVI Meldungsschema

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...

In Vino Veritas: Weinober bei SaaS Web

Der Profi für Weine aus Südtirol und Italien

Weinober.de ist eine erlesene Adresse im Web um Weine aus Südtirol und Italien zu erwerben. Um die Preise für Kunden besonders attraktiv gestalten zu können bedarf es einer effizienten und kostengünstigen Prozesskette vom Winzer bis zum Kunden. Der Shop wird mit Shopware betrieben und läuft in der SaaS Web Private Cloud auf einer eigenen Linux / Nginx Instanz.

"Wir bauen auf langfristige Partnerschaften. Angefangen beim Hoster, bis zum zufriedenen Kunden. Von daher können wir SaaS Web Internet Solutions in Arbeitsweise und Service nur empfehlen!" - Oliver Gschnitzer, Geschäftsführer von Weinober.de und Weinkartell.de.

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.

WordPress: Newsletter verschicken

Wenn man eine kommerzielle Website betreibt - ein populärer Blog, ein Shop oder eine Darstellung der eigenen Firma im Web -, möchte man vielleicht seinen Lesern oder Kunden mehr oder minder regelmäßig Informationen per E-Mail schicken, sogenannte Newsletter.

Es gibt zahlreiche Plugins für WordPress um das Erstellen von Newslettern und das Verwalten von Empfängern zu implementieren. Besonders populär sind MailPoet (ca. 300.000 aktive Installationen für die 2er Version, ca. 30.000 für die 3er Version) oder Newsletter (200.000 aktive Installationen).

Das Plugin Newsletter von Stefano Lissa & The Newsletter Team

Wir werden uns mit dem Plugin Newsletter beschäftigen, das wir gut kennen und in zahlreichen WordPress-Installationen eingerichtet haben.

Die wichtigsten Features in Kürze aufgelistet

  • Anmelde-Formular als Widget oder Shorcode
  • Double Opt-in Verfahren
  • Empfänger-Profilverwaltung und Unsubscribe-Link
  • Drag & Drop Template Tool
  • Einfache Verwaltung von Empfängerlisten
  • Premium Version: WooCommerce Integration, Erweiterte Statistiken

Der Installations-Wizard in 4 Schritten

Erst kürzlich eingeführt, bringt der Installationsassistent den Benutzer durch die Ersteinrichtung des Plugins. Diese Ersteinrichtung  ist sehr minimalistisch. Die Konfiguration der Sende-Technik (SMTP) oder Empfänger-Listen können später vorgenommen werden.

Schritt 1: Absender konfigurieren

In diesem Schritt legt man die Absender Adresse fest und den Namen, den der Empfänger sieht.

Schritt 2: Anmeldeformular

Hier können Sie ein "Minimal-Formular" konfigurieren, das als Widget in die Website platziert werden kann.

Zwischen-Info

Dieser Screen informiert lediglich über den Status der Installation. Vermutlich gehört diese Seite zu denen die bald aus dem Wizard verschwinden 😉

Schritt 3: Versand testen

Einfach eine Mailadresse eingeben - am Besten eine, zu der Sie Zugang haben.

Schritt 4: Widget mit Anmeldeformular platzieren

In Schritt 2 wurde das Formular erstellt, nun können Sie das Widget über den Menüpunkt "Design > Widgets" platzieren. Sie können diesen Schritt auch überspringen, wenn Sie die Einbindung später durchführen möchten oder das Formular auf andere Weise einbauen.

Erstinstallation: Ende

So, das war's. Am Besten nun auf Dashboard klicken und die Funktionen und Optionen des Plugins durchgehen.

Das Dashboard

Das Dashboard ist die zentrale Informationsstelle des Plugins. Hier können Sie auf einen Blick alle laufenden und vergangene Aktivitäten und Statistiken über die Klicks sehen.

Die Grundkonfiguration

Absender, Antwort- und Bounce-Adresse

Im Wizard haben wir die Absender-Adresse angegeben. Diese Mailadresse ist die, die der Empfänger in seinem Mailprogramm sieht. Darüber hinaus lassen sich 2 weitere Adressen einstellen:

  1. Der Return Path: das ist die Bounce Adresse. Wenn das Mailsystem des vermeintlichen Empfängers nichts mit der Adresse anfangen kann, schickt das Mailsystem eine entsprechende Benachrichtigung an die hier angegebene Adresse
  2. Die Reply-To Adresse: hier handelt es sich einfach um die Mailadresse, die automatisch eingesetzt wird, wenn ein Empfänger auf Antworten klickt.

Auf das Thema Lizenzschlüssel gehen wir später ein.

Wichtig: wenn Sie ein Mail Gateway Dienst nutzen, werden diese beiden Adressen (Return Path und Reply To) wohl möglich überschrieben. Die Adressen können Sie entweder direkt in dem Integrations-Plugin oder in dem Kunden-Interface des Mail Gateway Anbieters angeben. Mehr zu dem Thema gibt es in dem Abschnitt Spezialeinstellungen.

Auslieferungsgeschwindigkeit

Auch wenn es nervig ist für 1.000 Empfänger mal 3 oder 4 Stunden zu benötigen: ohne deutlich größeren Aufwand (bzw. Budget) ist es gar nicht möglich bzw. sinnvoll mehr als 300-400 Mails pro Stunde auszuliefern. Die empfangenden Systeme sind meist so eingestellt, dass sie ab einer bestimmten Anzahl E-Mails pro Stunde alle weiteren eintreffenden E-Mails des ausliefernden Mailsystems automatisch als Spam flaggen und ggf. sogar bouncen (zurück schicken - an die Bounce-Adresse).

Spezialeinstellungen

Hier lassen sich verschiedene Einstellungen einrichten, z. B. Zugangsberechtigung zum Plugin für Editoren, Log Level (Sammeln von technischen Informationen), Debug Mode (wenn das Plugin nicht korrekt funktionieren sollte). Interessanter ist der Punkt Send email directly. Diese Option ist wichtig und der Zustand An/Aus hängt davon ab, wie die E-Mails tatsächlich verschickt werden sollen. Es gibt mehrere Möglichkeiten:

  1. Direkter Versand über WordPress: WordPress generiert nicht nur die E-Mails sondern verschickt sie selbst. Diese Option wird bei vielen Hostern problematisch sein, da oftmals WordPress so eingestellt wird, dass nur wenige E-Mails verschickt werden können. Die Gefahr des Missbrauchs durch eine gehackten WordPress Installation ist einfach zu groß.
  2. Versand über Mail-Dienstleister und Plugin-Integration: anstatt direkt SMTP Zugangsdaten einzutragen wird die Mail Gateway Integration über ein eigenes Plugin erstellt.
  3. SMTP Versand über ein Mail Gateway: hier kann über den Bereich SMTP ein Mail Gateway eingetragen werden, der den Versand übernimmt.Das heißt, dass die E-Mails vom Plugin generiert und an den angegebenen Server vermittelt werden.

Für die erste und zweite Option muss auf Send email directly auf On eingestellt werden, ansonsten auf No.

Analog zum Mail-Versand ist das Encoding nur von Bedeutung wenn WordPress selbst die Mails ausliefert. Wenn die Mails über einen anderen Dienstleister verschickt werden, kann über diesen das Encoding bestimmt werden. Die deutsche Übersetzung an der Stelle ist übrigens falsch (es steht Email Verschlüsselung anstatt Codierung).

SMTP Einstellungen

Die Parameter, die einzustellen sind, sind im Prinzip die gleichen wie die zur Konfiguration einer normalen Mailbox. Die erforderlichen Daten bekommen Sie von Ihrem Anbieter.

An der Stelle sei erwähnt, dass SaaS Web auch einen Mail Gateway Dienst anbietet:

https://www.saasweb.net/de/managed-hosting/saas-web-mail-gateway

Ein Newsletter erstellen

Die Erstellung eines Newsletters ist recht einfach. Es gibt einige Templates zur Auswahl. In vielen Fällen dürfte der Responsive Drag & Drop Composer die erste Wahl sein. Diese Option schauen wir uns auch gleich mal Schritt für Schritt an.

Der Drag & Drop Editor

Hier lassen sich Content-Elemente per Drag & Drop in das Template platzieren und anschließend mit Inhalt befüllen.

Neues Mailing: Titel eingeben

In diesem Schritt wird lediglich ein Titel festgelegt. Das ist der Betreff des Newsletters, das was der Empfänger zunächst sieht. Hier sollte man vorsichtig sein. Titel wie "Super Sale! Alles kostenlos" etc. werden häufig als Spam wahrgenommen.

Neues Mailing: Empfänger einstellen

Standardmäßig sind alle Empfänger ausgewählt. Sie können aber eine oder mehrere Listen (oder andere Kriterien) auswählen, um den Empfängerkreis genauer zu definieren. 

 

Neues Mailing: Versand einstellen

Hier geht es hauptsächlich darum das Tracking zu aktivieren - die Statistiken kann man anschließend in Echtzeit verfolgen - und um die Festlegung des Versandstarts (Datum und Uhrzeit).

Die Option Keep Private bzw. Privat halten bezieht sich auf die Nutzung der Erweiterung Newsletter Archive Extension mit der ein Newsletter Archiv auf der Website angelegt werden kann. Die Newsletter, die privat sein sollen, werden dort nicht aufgeführt.

Newsletter testen

Newsletter Plugin - Action

Nachdem alles eingestellt ist, das Newsletter Versandfertig ist, speichert man sicherheitshalber den Stand (das kann und sollte man zwischendurch auch machen). Als nächstes empfiehlt sich ein Testversand, um zu prüfen ob das Newsletter auch so ist, wie es soll. Der Test funktioniert aber so: in der Empfänger-Liste muss mindestens ein Empfänger die Eigenschaft Test Abonnent haben.

Newsletter Plugin - Subscriber details

Newsletter mit Mail Tester testen

Dieser Dienst hat zunächst nichts mit dem Plugin zu tun. Es ist jedoch immer ganz gut zu prüfen wie die Chancen sind beim Empfänger in die Mailbox zu landen anstatt in den Spam-Ordner. Dafür gibt es Dienste wie Mail Tester. Mail Tester ist  kostenlos und wirklich einfach zu nutzen - und ohne Registrierung und sonstige werbliche Nervigkeiten.

Einfach einen Fake-Empfänger in die Liste der Empfänger eintragen und die vorgegebene Adresse verknüpfen. Anschließend das Ergebnis auswerten lassen. Einfach https://www.mail-tester.com/[mailbox-name] aufrufen.

Newsletter abschicken

Wenn man wirklich fertig ist - Newsletter wurde inhaltlich und technisch geprüft -  kann es losgehen. Einfach auf Senden klicken. Dann wird an der eingestellten Uhrzeit mit dem Versand begonnen.

Achtung: das WP Cron Problem! Beinahe hätten wir das Thema vergessen 😉 Siehe den Abschnitt WP Cron.

Das WP Cron Problem

Wie funktionieren normalerweise zeitgesteuerte Aktionen bei WordPress?

WordPress, wie die meisten Webanwendungen, läuft nicht permanent im Speicher des Servers. Erst wenn eine Seite aufgerufen wird, passiert etwas und eine oder mehrere Skriptdateien werden ausgeführt.

Das bedeutet:  wenn keiner die Website besucht, wird kein Skript ausgeführt und es wird auch kein Newsletter am Donnerstag um 15h30 verschickt.

wp-cron ausschalten bzw. cronjobs anders einrichten

Die Lösung des Problems ist ganz einfach:

  • wp-cron.php deaktivieren: dazu muss in der zentralen Konfigurationsdatei von WordPress eine Zeile hinzugefügt werden.
    define('DISABLE_WP_CRON', true);
  • System-Cronjob einrichten, der regelmäßig, z. B. alle 5 Minuten, die URL aufruft:
    https://blog.saasweb.net/wp-cron.php

Wie und wo man Cronjobs einrichtet ist für Anfänger nicht zwingend einfach. Am Besten einen Profi fragen. Hier ein Screenshot aus ISPconfig für die Website www.vinsdumonde.blog.

ISPconfig cronjob

Newsletter Premium

Gegen eine Jahresgebühr ab 49 € (Blogger - 3 Websites) kann das Plugin auf Premium geupgradet werden.

Die Premium Version beinhaltet einige interessante Zusatz-Plugins:

  • WooCommerce Integration: eingeschaltet klinkt sich das Plugin in den Bestellprozess von WooCommerce ein und bietet Käufern die Möglichkeit an, sich gleich auch für ein Newsletter anzumelden.
  • Erweiterte Statistiken: gewinnen Sie mehr Einblick über Ihre Kunden/Leser.
  • Mail Gateway Integrationen: die bekannten Anbieter sind verfügbar wie zum Beispiel Sengrid, MailJet oder MandrillApp.

Die komplette Liste der Zusatzfunktionen bzw. der Erweiterungen finden Sie hier:
https://www.thenewsletterplugin.com/premium

Keine WPML Unterstützung

Perfekt kann keiner sein: leider unterstützt das Newsletter Plugin kein WPML. Damit ist es etwas mühsam, z. B. mit der Premium Extension, die Newsletter Anmeldung im Checkout zu integrieren und mit entsprechenden Sprach-Listen zu verbinden. Es ist mühsam aber es geht.. dazu muss man allerdings den Umweg über Anpassungen in der functions.php  gehen und action "deregistrieren" und angepasste Versionen wieder registrieren.

Fazit

Newsletter verschicken ist etwas aufwändiger als man zunächst vielleicht denkt. Vor allem, wenn man es richtig machen möchte.

Obwohl viele Punkte angesprochen wurden, wurden einige ausgelassen oder nur oberflächlich behandelt.

Jedenfalls ist das Plugin Newsletter eine interessante Erweiterung von WordPress, auch in der kostenfreien Variante. Für eine Integration mit WooCommerce empfiehlt sich die Premium Version.

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: PDF aus Formulardaten generieren kinderleicht

Beispiel: online SEPA-Lastschriftmandat erteilen

Es gibt sicherlich viele Gründe aus einem vom Benutzer ausgefüllten Formular ein PDF Dokument zu erstellen, das dieser nach dem Absenden runterladen kann. In diesem Artikel werden wir zusammen eine Seite erstellen, zu der ein Geschäftskunde sich anmelden kann und uns das Mandat erteilen kann, künftige Beträge per Lastschrift einzuziehen.

Achtung: diese fiktive Anleitung ist nicht dazu gedacht, 1:1 abgekupfert zu werden; sie dient lediglich als Inspiration für eigene Prozesse.

Die verschiedenen Bausteine: was müssen wir machen?

Geplanter Ablauf: der Kunde besucht die vorgegebene Website, z. B. https://sepa-mandat.meine-website.tld und gibt dort ein Passwort ein, um auf die gewünschte Seite zu gelangen. Dort findet er alle notwendigen Informationen und ein Formular, um sein Mandat zu erteilen. Er soll im Anschluss die eingegebenen Daten als PDF runterladen können. Wir als Betreiber möchten informiert werden, dass der Kunde das Formular ausgefüllt hat und die Daten speichern (insbesondere Datum der Erteilung da beispielsweise für Online Banking für Lastschrift Erstellung benötigt).

Für dieses kleine Projekt werden wir Folgendes umsetzen:

  • Mini WordPress Website (1 Seite) erstellen mit Informationen zu SEPA und Formular
  • Formular mit Gravity Forms erstellen
  • Formular- und PDF-Einstellungen vornehmen

Wir nutzen Gravity Forms, weil es ein wirklich einfach zu nutzendes Plugin ist. Es ist zwar kostenpflichtig, jedoch für SaaS Web Kunden kostenfrei in den Managed WordPress Hosting Paketen nutzbar. Mit Gravity Forms lassen sich Formulare - auch komplexe - per Drag & Drop erstellen. Ich möchte nicht unerwähnt lassen, dass es auch kostenfreie Formular-Plugins gibt wie z. B. Contact Form 7.

WordPress Seite einrichten und möglich einfaches Theme nutzen

Ich gehe davon aus, dass die Einrichtung einer WordPress Website kein Problem ist - sonst können Sie auch gerne die Agentur des Vertrauens fragen 😉

Hier geht es nicht um die nahtlose Integration in eine bestehende Website bzw. Übernahme der Corporate Identity. Dafür sind weitere Schritte notwendig, jedoch abhängig von der bereits eingesetzten Technologie...

Die Startseite wird als statische Seite gesetzt (Einstellungen > Lesen > Startseite zeigt: statische Seite - Beitragsseite lassen wir leer) und bearbeitet. Den Passwortschutz setzen wir schon mal gleich: rechts im Bereich "Sichtbarkeit", den Punkt Passwortgeschützt auswählen, und ein Passwort festlegen. Gleich mal aktualisieren/veröffentlichen, dann ist diese Einstellung schon mal festgelegt.

Schneller am Ziel mit SiteOrigin Page Builder

Ich benutze gerne den (kostenlosen) Page Builder von SiteOrigin, weil er schlicht ist und dennoch sehr individuelle Layouts ermöglicht. Außerdem integriert er sich bestens in allen möglichen Themes und bestehenden WordPress Installationen. Füttern tun man ihn mit Widgets, weshalb sich auch wunderbar Plugins nutzen lassen können, die nicht zwingend für SiteOrigin entwickelt wurden.

Für unser Projekt erstelle ich 2 Zeilen, die erste um eine einfache Einleitung für den Kunden anzuzeigen, die andere mit den tatsächlichen Inhalten. Die zweite Zeile wird in 2 Spalten geteilt, die linke mit dem Formular und die rechte mit unseren Firmeninformationen.

Um das Formular in der linken Spalte anzuzeigen habe ich 2 Optionen: entweder ich nutze das Gravity Forms widget oder schreibe den Shortcode in ein Editor Widget. Ich habe mich für die zweite Option entschieden. So oder so, wir müssen nun ein Formular erstellen.

Formular mit Gravity Forms in 5 Minuten erstellen

Per Drag & Drop erstellen wir also unser Formular: Firma, Vor- und Nachname, Adresse, IBAN, SWIFT/BIC und Name des Kreditinstituts. Um eine IBAN auch semantisch zu prüfen, gibt es auch eine Extension: Gravity Forms IBAN (kostenfrei - zwar nach aktuellem Stand schon lange nicht mehr aktualisiert, aber noch einwandfrei funktionsfähig). Das Plugin erstellt ein Feld des Typs IBAN, dagegen wird die Nutzereingabe geprüft. Nachdem das Formular fertig eingerichtet ist, wird der Shortcode in das Editor Widget eingefügt:

Schritt 1 von 3

Name









PDF Download mit Gravity PDF

Neben der Felder, die in dem Bestätigungstext wieder ausgegeben werden sollen, erstellen wir einen Link, den der Nutzer anklicken kann:
<a class="pdf-download-button" href="https://sepa-mandat.meine-website.tld/?gf_pdf=1&fid={form_id}&lid={entry_id}&template=default-template.php&download=1">DOWNLOAD PDF</a>
Weshalb der Link so auszusehen hat entnimmt man aus den PDF-Einstellungen des erstellten Formulars (Formular > Einstellungen > PDF).

Viele Einstellmöglichkeiten mit Gravity Forms PDF

In diesem Beispiel sind wir den schnellen Weg gegangen: keine Sondereinstellungen, keine Komplikationen. Es gibt mit dem PDF Plugin zahlreiche Optionen, um das PDF zu formatieren und stylen etc. Dazu lesen Sie sich lieber selbst die Dokumentation durch: https://gravitypdf.com/documentation/v4/five-minute-install/.

 

Mit SaaS Web Gravity Forms kostenfrei nutzen

Wie bereits in dem Artikel erwähnt, bieten wir unseren Kunden die kostenfreie Nutzung von Gravity Forms an. Neben Gravity Forms können Sie auch andere lizenzpflichtige Plugins kostenfrei einsetzen, etwa: WPML (Plugin für Mehrsprachigkeit), SearchWP (überarbeitete Suchfunktion für WordPress) oder Newsletter Pro (u. a. WooCommerce Integration für Newsletter). Hier finden Sie unsere 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

Position in Google Ergebnisliste zu Managed WordPress Hosting – Große Unterschiede ob FR oder DE

Managed WordPress Hosting seit 6 Jahren

Als SaaS Web waren wir unter den ersten Anbieter von Managed WordPress Hosting in Deutschland: schon 2011 haben wir erkannt, dass WordPress ein großartiges CMS für Unternehmenswebsites ist und vor allem, dass Unternehmen sich nicht selbst um die Wartung der Software kümmern möchten (oder nicht können). So haben wir bereits damals für Kunden WordPress installiert (keine APS Pakete) und im Betrieb Core, Theme und Plugins aktualisiert. Dabei haben wir uns auch zu WordPress Spezialisten entwickelt und programmieren individuelle Websites (bunte Mischung aus Themes, Plugins und Widgets) am laufenden Band.

Google Search: in Frankreich auf Seite 2

Wir haben erst 2017 (Ende Februar) die französische Version der SaaS Web Homepage live gestellt und dabei den Großteil der angebotenen Produkte ins französischsprachige Portfolio übernommen, darunter natürlich WordPress.

Interessant ist, dass SaaS Web mit dem Suchbegriff "Hébergement WordPress managé", auf denglisch übersetzt "Managed WordPress Hosting" bereits auf Seite 2 (Platz 1) gefunden werden kann.

Google Search: in Deutschland auf Seite 10

Wie bereits erklärt, ist das Managed WordPress Hosting Angebot schon gut 6 Jahre im Web zu finden - in seiner aktuellen Form etwa seit 2,5 Jahren. Erstaunlich ist allerdings, dass unser WordPress Angebot bei Google erst auf Seite 8 Platz 10 erscheint, manchmal auch Seite 9 sogar Seite 10.

Das lässt sich bestimmt erklären: wahrscheinlich gibt es mehr Anbieter in Deutschland. Aber auch die Tatsache, dass in Deutschland die englischen Begriffe genutzt werden erklärt so manch andere Ergebnisse. Tatsächlich finden sich in den Google-Ergebnissen, obwohl die Abfrage auf google.de eingegeben wurde, zahlreiche englischsprachige Anbieter und Websites zum Thema WordPress, auch solche, die sicher nicht auf deutsche Kunden abzielen.

Suchmaschinenoptimierung ist das Zauberwort

Eigentlich sollte es Google-Optimierung heißen, schließlich gibt es faktisch keine anderen (relevanten) Suchmaschinen. Jedenfalls sind auch wir darauf angewiesen im Web gefunden zu werden, auch wenn unsere treue Kundschaft uns immer mehr Hosting-Projekte beschert und wir durch Empfehlungen neue Kunden gewinnen.

 

Steve: das neue WordPress Management Tool für SaaS Web

Nach mehreren Monaten Entwicklungszeit ist Steve nun in Produktion gegangen. Steve steht für Perfektion: eine Hommage an Steve Jobs und ein Lob an den Core-Entwickler und SaaS Web Geschäftsführer Daniel Jagszent. Steve steht aber auch für Gleichberechtigung zwischen Frau und Mann: nachdem „intelligente Bots“ nach Frauen benannt wurden (Siri, Alexa, Cortana), haben wir uns entschieden unser Tool nach einem Mann zu benennen!

Mit Steve ersetzen wir InfiniteWP

InfiniteWP (IWP) ist eine populäre PHP/MySQL Webanwendung um (zahlreiche) WordPress Websites zu verwalten – in der Basisversion kostenfrei, jedoch kann man für einen professionellen Einsatz nicht auf die kostenpflichtigen Add-Ons verzichten. IWP bietet durch seine Erweiterungen zahlreiche Funktionen, es kommen immer wieder neue dazu.
Trotz der umfangreichen Funktionalität waren wir mit der Anwendung nie ganz zufrieden:

  • Zum Einen waren Features, die für die Verwaltung von Business Sites wichtig sind (z. B. SLA für Update-Management oder Auto-Backups bei Updates) nicht verfügbar,
  • zum Anderen waren wir auch mit der Qualität der Software nicht zufrieden (viele Bugs, nicht fertig gedachte Features).

Professionelles WordPress Management mit Steve

Steve WordPress Management

Mit der neuen (Ruby on Rails) Anwendung ist das Management der WordPress Sites auf unsere Bedürfnisse zugeschnitten. Ein Auszug der Features:

  • Auto Discover der WordPress-Instanzen auf den Servern
  • Automatische „SaaS Web“ MU-Plugin Installation für Kommunikation mit Steve
  • Automatische Backups bei Updates (ein/ausschaltbar)
  • Daily bzw. nightly Backups aller WordPress Instanzen; File-Backups sind inkrementell.
  • One Click Backup Restore
  • Individuelle SLA Integration: u. a. Updates für VIP Sites nur außerhalb Geschäftszeiten möglich – außer Sicherheitsupdates
  • Audit Funktion: Logging aller WordPress Aktionen
  • Unterstützung von WordPress Multisite

Ein Fokus auf die Usability

Steve ist nicht nur ein fleißiger Musterschüler. Steve ist auch eine ergonomische Software, um die tägliche Arbeit mit WordPress komfortabel und effizient zu verrichten.

Dazu gehört zum Beispiel:

  • Einfache Menüführung ohne komplizierte Verschachtelungen
  • Suchfeld für Websites mit Autocompletion
  • Actions-Quicklinks bei Website-Listeneintrag
  • Kommunikation zwischen Browser und Server mittels WebSocket für direkte Rückmeldung ohne Neuladen der Website

Ein Tool auch für die Zukunft

Schon in Planung, leider noch nicht verfügbar, ist das automatische Aufnehmen von ausgewählten Seiten (als Bild) vor und nach einem Update. So lassen sich manuell (ungewollte) Änderungen schneller erkennen und ggf. auch zeitlich einordnen, falls nicht sofort erkannt. Entsprechend kann das richtige Backup schneller wieder eingespielt werden.
Auch automatisches Staging steht an – aktuell ein manuelles Verfahren – und viele andere Features…

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.

 

WordPress Workshop am 12.05.2017

WordPress ist heute das Content Management System (CMS) für alle Zwecke und natürlich auch für Unternehmens-Websites. In diesem Workshop werden die grundsätzlichen Funktionen und Handgriffe vermittelt, die dazu helfen selbst auch professionell nutzbare Homepages zu erstellen.

Hier geht es zu der Informationsseite:

https://www.cyberforum.de/veranstaltungen/detail/news/die-eigene-firmenhomepage-mit-wordpress-12-may-2017/

 

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!

 

SearchWP jetzt bei allen Managed WordPress Hosting Paketen inklusive

SearchWPDas renommierte Premium Plugin SearchWP ist nun bei allen Tarifen inklusive. Ganz ohne Aufwand lässt sich die Standard-Suche von WordPress erweitern und ermöglicht die Indexierung von Medien, Custom Post Types und auch PDF-Dokumenten. Eine zusätzliche komplementäre Erweiterung für WooCommerce erlaubt zusätzlich die Indexierung aller bekannten Produktinformationen.

SearchWP rundet das bereits vorhandene Angebot an kostenlos nutzbaren Premium Plugins ab: nun sind neben Gravity Forms für Formulare und WPML für multilinguale Webauftritte eine leistungsfähige Suchmaschine hinzugekommen.

Hier geht es zu den WordPress Hosting Angeboten.

Weinblog Redesign Livegang

Endlich ist der französischsprachige Weinblog von François Potevin nach einigen Wochen harter Arbeit im neuen Look bzw. mit neuem „Unterbau“ live gegangen. Zu den Neuerungen zählen:

  • HTML5
  • Responsive Layout
  • Bildoptimierungen (Kompression)
  • Einheitliche Struktur der Artikel und Excerpts
  • Kontextuelle Angebote in der Sidebar (aktuell nur für Desktop- und Tablettansicht)

vinsdumonde

Managed Mattermost Hosting – Messaging & Collaboration Application Hosting

Mattermost

Mattermost ist eine Open Source Kommunikationsplattform mit der Nutzer sich bequem austauschen können aber auch Bild- und Sprachdateien teilen – ob per Smartphone, Tablett oder Desktop Computer. Mattermost versteht sich als Slack-Alternative, so weit, dass auch Slack Exports sich in Mattermost importieren lassen. Ein großer Vorteil von Mattermost ist der offene Quelltext und die Freiheit des Hostings.
SaaS Web bietet als erstes Unternehmen weltweit Managed Mattermost Hosting an!

Die neue Lindenbaum Homepage ist live

Nach langer Entwicklungs- und Finetuningszeit ist die neue Lindenbaum-Homepage heute live gegangen. Das Design stammt vom Hochquadrat-Mitglied Miss Koepke und die Entwicklung ist natürlich von uns. Nicht nur das Theme der WordPress Website war zu entwickeln, sondern auch intelligente Backend Einstellmöglichkeiten, damit das Lindenbaum-Team auch künftig selbständig Änderungen durchführen kann.

screenshot-lindenbaum

Neues Release: OpenProject 5.0

OpenProject LogoDie Open Source Projektmanagement Software OpenProject ist seit heute in Version 5.0 verfügbar. Viele Neuerungen sind in der Gestaltung zu finden und in der Nutzerführung. Unter anderen eine Vollbild Arbeitspaket Anzeige, die Aufteilung der Bereiche auf der Arbeitspaket-Verwaltungsseite oder die Anzeige des Bereichs „Meine Seite“. Aonsonsten wurden hauptsächtlich Verbesserung an der API durchgeführt und zahlreiche Bugs gefixt.

Hier finden Sie die die Informationen zum neuen OpenProject Release.

Sie suchen ein geeignetes Hosting für OpenProject? SaaS Web bietet Managed OpenProject für kleine und große Unternehmen als SaaS Lösung zur monatlichen Miete.

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.