OpenProject – Schnellanleitung – Teil 1

Kürzlich wurde die Version 7 von OpenProject veröffentlicht, ein guter Anlass um die Anwendung in einem kleinen Artikel bzw. zwei zu präsentieren.

OpenProject ist eine Open Source Webanwendung für Projektmanagement basierend auf Redmine, jedoch mit einem komplett überarteiteten Frontend. OpenProject ist insbesondere für Startups und KMU (kleine und mittelständische Unternehmen) interessant, zumindest für Unternehmen, die eine gewisse Struktur für die Verwaltung und Durchführung ihrer Projekte benötigen.

SaaS Web bietet schon seit einigen Jahren ein Managed OpenProject Produkt: als Kunde nutzen Sie stets die aktuelle Version von OpenProject, ohne sich um die Updates oder sonstige technischen Aspekte kümmern müssen.

Projekt anlegen


Um ein Projekt anzulegen, werden folgende Parameter zur Eintragung erwartet:

  • Projektname - das einzige Pflichtfeld
  • Verantwortlicher: optional.In Projekten mit vielen Teilnehmern ist es durchaus sinnvoll, dieses Feld auszufüllen.
  • Abhängigkeit eines anderen Projekt (ist es ein Unterprojekt von XXX?): wenn ja, dann lässt sich das Projekt auswählen.
  • Beschreibung: hier ist es aus mehreren Gründen sinnvoll, das Projekt in ein paar Sätzen zu beschreiben. Einerseits das gemeinsame Verständnis des Projekts in groben Zügen schwarz auf weiß zu verewigen, andererseits für Personen, die ggf. später hinzugefügt werden, damit sie sich schnell ein Bild machen können - falls sie nicht umfasssend mündlich gebrieft werden.
  • Projekttyp: dafür müssen zuvor in der Administration Projekttypen definiert worden sein. Das Feld kann leer bleiben.
  • Ist das Projekt öffentlich einsehbar? Hiermit werden die Informationen zu dem Projekt und die komplette Kommunikation für Personen, die nicht zum Projekt gehören, aufruf- und einsehbar. Diese Personen haben die Rolle "Non Member". Was sie letztlich sehen und verändern können, hängt von der Definition dieser Rolle ab - sie kann individuell eingestellt werden.

Projektaktionen

Einmal ein Projekt angelegt, werden meist die Arbeitspakete definiert. Arbeitspakete sind allerdings nicht nur Aufgaben ("Task"), die einem Teilnehmer vergeben werden. Arbeitspakete können verschiedenartig sein:

  • Phase ("Phase")
  • Meilenstein ("Milestone")
  • Evaluierung
  • Aufgabe
  • Verbesserung ("Enhancement")
  • Support

Die Arbeitspakettypen können in OpenProject frei definiert werden, es können neue hinzugefügt und bereits voreingestellte gelöscht werden. Die Liste hier ist also nicht zwingend, die die Sie selbst vorfinden werden.

Phase und Meilenstein sind besondere Arbeitspakete, die eigentlich selbst keine Aufgabe darstellen, sondern man könnte Sie als Container beschreiben zu denen Arbeitspakete verknüpft werden können. Eine Phase entspricht zum Beispiel einem Abschnitt des Gesamtprojektes (zum Beispiel "Demo") und ein Meilenstein einem wichtigen Teil des Gesamtprojektes (zum Beispiel "Website für Produkt fertiggestellt").

Meistens werden neue Arbeitspakete im Zustand "Neu" angelegt. Der Zustand kann von den bearbeitenden Teilnehmern je nach Fortschritt als "In Bearbeitung" ("In Progress") markiert werden bzw. ggf. "Geschlossen" ("Closed") oder "Gelöst" ("Resolved"). Es ist allerdings auch hier durch individuelle Einstellungen möglich zu definiert welcher Teilnehmer den Zustand eines Arbeitspaketes ändern darf - dies kann in den Ablaufplänen ("Workflows") definiert werden.

Arbeitspakete können selbst auch Abhängigkeiten aufweisen, die entsprechend eingestellt werden können.

Typischerweise werden diese Felder angezeigt, manche sind optional andere müssen ausgefüllt werden:

  • Projekt (ist vorausgefüllt, kann aber geändert werden, wobei dabei danach in das andere Projekt gewechselt wird)
  • Status (standard ist Neu, kann aber direkt in ein anderen Status gesetzt werden)
  • Beschreibung (wichtig)
  • Zugewiesen an (wichtig: wer soll zunächst das Paket zugewiesen bekommen)
  • Verantwortlicher (optional)
  • Kategorie (es gibt auch Arbeitspaketkategorien zu denen, je nach Einstellungen, automatisch eine Verantwortliche Person definiert ist)
  • Datum (von - bis)
  • Fortschritt (in %)
  • Priorität
  • Version
  • Zu dem können auch Dokumente direkt per Darg & Drop hochgeladen werden
Neu hier ist u. a. die "Zen" funktion, mit der das Eingabefeld im Vollbildmodus angezeigt wird.

Projektfeatures

Hier liste ich einfach ein paar Features auf, ohne zu tief in die Details zu gehen. Mit diesen Features lassen sich Zusatzinformationen zum Projekt ablegen, Zeitpläne erstellen, Meetings planen uvm.

  • Wiki: mit dem Wiki ist hier lediglich eine einfache Seite gemeint, in der allgemeine Informationen geteilt werden können. Oftmals gibt man allen den Zugriff auf diese Seite.
  • Kalender: in dem Kalender finden sich die Arbeitspakete wieder
  • Zeitpläne: hier werden Gantt Charts dargestellt
  • Neuigkeiten: hier können aktuelle Meldungen zum Projekt eingestellt werden. Die Teilnehmer erhalten Sie auf deren Home-Seite ("Meine Seite") und können die News auch als RSS Feed abonnieren.
  • Besprechungen: es können Meetings geplant, Teilnehmer dazu eingeladen und Protokolle davon direkt hinterlegt werden. Die Besprechungen erscheinen auch in dem Kalender.

Die verschiedenen Tools, die zur Verfügung stehen, können vom Projektadministrator festgelegt werden.

Praktisch ist auch der Aktivitäten-Stream, in dem alle Aktionen gebündelt und chronologisch angeordnet angezeigt werden.

Neu in der Version 7 ist, dass die Zeipläne nun in den Arbeitspaketen verlegt werden und ab der Version 8 aus dieser übergeordneten Ansicht entfernt werden.

Diese kurze erste Einführung sollte die Hauptfunktionalität nahe bringen. In dem nächsten Artikel werde ich bestimmte Features etwas genauer beschreiben.

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:
[gravityform id=1 title=false description=false ajax=true]

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 WordPress Angebote: https://www.saasweb.net/de/managed-hosting/wordpress.

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

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…