Im Rahmen der Entwicklung eines neuen Plugins habe ich mich immer wieder innerlich darüber aufgeregt, dass WordPress keine eigenen Dialoge mitbringt. Fenster, in denen der Benutzer zu etwas abgefragt wird oder er eine Entscheidung treffen soll.

Also habe ich das nun selbst entwickelt. Im ersten Schritt auf Basis der React-Script von WordPress selbst, wodurch ich mich nicht um das Styling kümmern muss, da das von WordPress schon selbst mitgebracht wird.

Hier nun das Ergebnis, was von jedem anderen Entwickler gerne auch verwendet werden kann: https://packagist.org/packages/threadi/wp-easy-dialog

Seit einigen Jahren entwickle ich auch Plugins die in das öffentliche WordPress-Repository kommen und somit jedem WordPress-Nutzer kostenfrei zur Verfügung stehen. Für einige biete ich zusammen mit laolaweb auch kostenpflichtige Addons zu diesen an. Folgenden Plugins stehen hierfür aktuell zur Verfügung.

Audio on every Block

Ergänzt die Möglichkeit an jedem dafür geeigneten Gutenberg-Block eine Audio-Datei zu ergänzen. Dadurch kann z.B. der textliche Inhalt des Blocks vorgelesen werden.

Plugin-Seite: https://wordpress.org/plugins/audio-on-every-block/
github: https://github.com/threadi/audio-on-every-block

Auto Category for Posts

Dieses Plugin ergänzt die Möglichkeit eine Standard-Kategorie für Beiträge innerhalb der Kategorie-Übersicht zu setzen. Die gewählte Kategorie wird bei jedem neuen Beitrag gesetzt bereits, wenn dieser erstmals aufgerufen wird und nicht mehr erst nach dessen erster Speicherung.

Plugin-Seite: https://wordpress.org/plugins/auto-category-for-posts/
github: https://github.com/threadi/auto-category-for-posts

Downloadlist

Dieses Plugin bietet einen Gutenberg-Block für die Erfassung einer Download-Liste mit Dateityp-spezifischen Symbolen. Es ist von meinen Plugins das am meisten aktiv Verwendete mit durchweg positiven Rückmeldungen. Danke an alle Anwender an dieser Stelle 😊

Plugin-Seite: https://wordpress.org/plugins/download-list-block-with-icons/
github: https://github.com/threadi/downloadlist

Easy Language

Einfache oder Leichte Sprache in WordPress verwenden? Bisher recht schwierig. Dieses Plugin ergänzt auch die automatische Übersetzung von Texten der Webseite per API in Einfacher und Leichter Sprache. Die meisten Features sind derzeit noch in der Testphase durch reale Anwender.

Plugin-Seite: https://wordpress.org/plugins/easy-language/
github: https://github.com/threadi/easy-language

External files in media library

Dank diesem Plugin kannst Du extern liegende Dateien in deiner Media-Library ablegen und dann in deinem Projekt beliebig verwenden.

Plugin-Seite: https://wordpress.org/plugins/external-files-in-media-library/
github: https://github.com/threadi/external-files-in-media-library

Nested Ordered Lists for Block Editor

Dieses Plugin ergänzt den Listen-Block im Gutenberg Editor aka Block Editor um die Möglichkeit verschachtelter Listen. Auch kannst Du verschiedene Listen-Symbole auswählen.

Plugin-Seite: https://wordpress.org/plugins/nested-ordered-lists-for-block-editor/
github: https://github.com/threadi/nested-ordered-lists-block-editor

Play Audio Once

Ergänzt am Gutenberg-Audio-Block eine Option die, wenn aktiviert, im Frontend die einmalige Ausgabe der Datei ermöglicht. Jeder weitere Versuch der Wiedergabe wird blockiert.

Plugin-Seite: https://wordpress.org/plugins/play-audio-once/
github: https://github.com/threadi/play-audio-once

Product Swatches

Wer kennt das nicht: man möchte in einem Onlineshop das gewünschte Produkt am liebsten mit seiner Farbe direkt anklicken. Dieses Plugin ermöglicht es Onlineshop-Betreiber diese sogenannten Swatches zu verwenden. Anders als andere derartige Plugins, ist dieses hier auf Performance hin optimiert und dadurch in der Ausgabe auch wesentlich schneller – völlig egal wie viele Varianten ein Produkt hat.

Plugin-Seite: https://wordpress.org/plugins/product-swatches-light/
github: https://github.com/threadi/lw-product-swatches-light

Es ist schon etwas verwunderlich wieso sich im Netz dermaßen viele WordPress-Communities für den DACH-Raum finden. Ich dachte oft: „wieso arbeiten die nicht mal zusammen?“ Schließlich schreiben vielfach die gleichen Personen in mehreren der Communities.

Der Unterschied ergibt sich jedoch aus der Zielgruppe und durch die wiederum die Qualität der Diskussion. Viele werden sehr gut moderiert, andere wiederum quasi gar nicht. Dadurch kann eigentlich jeder mindestens eine Community, in der er sich wohlfühlt, finden.

Hier mal eine Liste der Communities die mir Stand heute bekannt sind:

Im Browser nutzbar

Slack

Discord

Matrix

Gemeinsam mit dem Team von laOlaWeb habe ich die letzten Monate ein WordPress-Plugin für den HR-Anbieter Personio entwickelt. Dieses ermöglicht es offene Stellen aus Personio in WordPress zu importieren und dort beliebig in die Seite zu integrieren. Dazu habe ich auch 2 Gutenberg-Blöcke entwickelt, was insgesamt gesehen sogar das einfachste am Plugin war.

Hier könnt ihr das kostenfreie Plugin runterladen: https://wordpress.org/plugins/personio-integration-light/

Und hier gibt es Informationen zur Pro-Version mit weit mehr Möglichkeiten: https://laolaweb.com/plugins/personio-wordpress-plugin/

Mein zweites Plugin, welches im WordPress-Repository zur Verfügung steht, ging soeben online: Automatische Kategorie für Beiträge.

Hintergrund der Entwicklung war eine Anfrage von einem Nutzer im wpde.org-Forum dem es darum ging, dass er gerne bei jedem neuen Beitrag eine Standard-Kategorie gesetzt haben will. Das macht WordPress eigentlich auch, unter den Einstellungen kann man eine Standard-Kategorie setzen – nur sieht man als Redakteur nicht, dass es so etwas gibt. D.h. der Editor öffnet und man sieht rechts die Kategorien von denen keine angehakt ist. Somit ist der Redakteur an der Stelle irritiert, ob die von ihm gewünschte Standard-Kategorie wirklich gewählt wird.

Das Plugin löst das Problem an 2 Stellen:

  • Unter Beiträge > Kategorien kann man die Standard-Kategorie selbst auswählen (nicht mehr nur unter Einstellungen > Schreiben) wenn man die entsprechende Berechtigung dazu besitzt.
  • Bei jedem neuen Beitrag wird die Standard-Kategorie rechts angehakt.

Hier gehts zur Plugin-Seite: https://de.wordpress.org/plugins/auto-category-for-posts/

Nach 2017 habe ich erneut meine private Webseite umgezogen. Diesmal bin ich jedoch von HostEurope weg zu ip-projects.de.

Was mich zu dieser Entscheidung führte? Hauptsächlich die Lust mal etwas Neues auszuprobieren, aber auch die Möglichkeit bei ip-projects einen NVMe-Server zu für mich günstigen Konditionen zu verwenden. Auch wenn ich privat natürlich keine so hohe Performance benötige, die NVMe ermöglicht, sehe ich das Hosting hier als Testballon für die Server der von mir mit betreuten Siedler 3-Community. Die Entscheidung dazu hängt jedoch dann nicht nur von mir ab.

Mein neuer Server ist ein Debian 10, wie immer mit ispconfig zur Verwaltung, und zusätzlich als Monitoring-System Zabbix. Damit überwache ich nun meinen eigenen Server sowie einen der Siedler 3-Community. In den ersten Tagen gab es da bereits erstaunliche Werte die ich ohne Zabbix nie gesehen hätte. Mehr dazu vlt. später.

Als Administrator stößt man immer wieder in Logfiles wie auch in Telefonaten auf Menschen, die ihre eigene E-Mail-Adresse nicht kennen oder nicht schreiben können. Einige Klassiker (natürlich anonymisiert):

  • irgendwas@gmail.de
  • irgendwer@googlemai.com
  • jemand@tonline.de
  • einr@freenet.de
  • mich@gibt.es.nicht

Was ist daran nun falsch fragen sich vermutlich manche?

Beispiel 1: Google Mail ist immer unter gmail.com oder googlemail.com erreichbar, aber nie unter gmail.de. Das ist fast schon der häufigste Fehler aller Google Mail Nutzer.

Beispiel 2: Da fehlt ein „L“ in dem Domainnamen. Ähnliche Schreibfehler machen manche sogar bei ihren eigenen Domains, die ihnen offenbar zu schwierig sind.

Beispiel 3: Hier fehlt ein „-“ im Domainnamen. Genau wie Beispiel 2 eine Form der Ungenauigkeit.

Beispiel 4: Um in meinen Beispielen in der Reihenfolge zu bleiben hätte hier „einer“ vor dem @ stehen müssen. Ein Klassiker. Dieser Fehler ist vor allem dann amüsant, wenn man seinen Vor- und Nachnamen dort stehen hat und diesen falsch schreibt.

Beispiel 5: Die Verwendung von nicht existierenden Domains. So etwas kann man auch als Spam ansehen.

Warum schreibe ich das eigentlich?

Jede falsch eingetragene E-Mail-Adresse in einem Formular in einer Webseite führt dazu

  • dass derjenige vermutlich gar nicht über seine angegebenen Kontaktdaten angeschrieben werden kann.
  • dass derjenige eine Online-Anmeldung gar nicht erfolgreich durchführen kann.
  • dass jede E-Mail, die das System an diese falsch geschriebene E-Mail-Adresse schickt in der E-Mail-Warteschlange des Servers landet. Das wiederum führt zu einer fehlenden Übersichtlichkeit in der Administration des Systems.

Natürlich sind vor allem die ersten beiden Punkte für diejenigen, die ihre E-Mail-Adresse offenbar nicht richtig schreiben können besonders ärgerlich. Ich sehe es aber auch aus Sicht eines Administrators, solche Angaben halten meine Arbeit auf, erschweren die Analyse von echten Problemen an Servers.

Fazit: bitte bitte schreibt eure E-Mail-Adressen richtig!

Hab mir mal den Spaß gemacht und einen großen Teil der Tipps von

https://www.keycdn.com/blog/google-pagespeed-insights-wordpress/

angeschaut und umgesetzt. Ausgangspunkt bei diesem WordPress hier waren 54 von 100 Punkten. Schon die Bearbeitung der ersten 2 Punkte der Liste (Bildoptimierung und Autoptimize) brachten es auf 90 von 100 Punkten.

Die weiteren Tipps (Google Analytics lokal ablegen etc.) habe ich weggelassen, da sie vor allem im produktiven Umfeld eher nachteilig sind. Nur um 100 Punkte bei PageSpeed zu bekommen muss man nicht essentielle Marketinginstrumente aushebeln ..

Eigentlich ziemlich simpel – man muss im Vhost des Apaches nur folgenden Code hinterlegen:

Header always add Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" env=HTTPS

Siehe: https://www.heinlein-support.de/blog/security/hsts-header-strict-transport-security-fuer-webserver-einrichten/

Herausforderung bei mir war nur, dass ich meinen Server mit ispconfig steuere. Dort muss man diese Eintragung in den Apache-Direktiven vornehmen. Und gleichzeitig auch dafür sorgen, dass die Webseite nur per SSL erreichbar ist.

Der Check hier bringt nun ein A+ 🙂