(Fast) AntiVirus-Plugin-Rauswurf – die Story

Eines Tages landete eine E-Mail von einem bekannten wordpress.org Entwickler in meinem Postfach. Dort wurde mir – aus meiner Sicht sehr unfreundlich – ein Ultimatum gesetzt: Das AntiVirus Plugin muss überarbeitet werden oder es wird unverzüglich aus dem offiziellen Plugin-Verzeichnis entfernt.

Meine erste Reaktion: Baff!

Auf die Rückfrage als Grund der Mahnung wurde mir der geringe Nutzwert des WordPress-Plugins genannt. Wie bitte? Über 300.000 Downloads, 4 Bewertungssterne bei fast 90 Nutzerbewertungen und hunderte (mir aus Nutzer-Feedbacks bekannte Fälle) der Schädlingserkennung in Blogs. So sinnlos kann das Plugin doch gar nicht sein, fragte ich mich und meinen Ansprechpartner.

Folgendes hat sich dann aber als wahrer Grund herausgestellt: In Theme-Templates prüft AntiVirus auf verdächtige Befehle, die als Hilfe zu Malware-Einbindung bzw. Integration dienen. Dazu gehört auch include als PHP-Funktion, über die je nach Server-Einstellung entfernte und lokale Dateien eingebunden werden können. Das stellt definitiv ein Sicherheitsrisiko dar und wird vom Sicherheitsplugin als Verdacht aufgeführt (kann aber manuell als Kein Virus markiert werden). Und da das WordPress Standard-Theme Twenty Eleven im Code ebenfalls über solche Aufrufe verfügt, hat AntiVirus die Stellen hervorgehoben und gemeldet.

Und genau das passte dem WordPress-Team nicht. Das Plugin durfte im offiziellen Theme keinesfalls eine Malware verdächtigen.

Ich als Entwickler kann aber keine Ausnahme machen und prophezeien, offizielle Themes von WordPress hätten nie und werden nie einen Schädling im Template eingenistet bekommen. Das würde Eingreifern Tor und Tür öffnen.

Mit Sicherheit ließe sich eine gemeinsame Lösung finden. Doch die Art der Kommunikation und die Drohung des Ausschlusses aus dem Plugin-Verzeichnis hat bei mir alle Schnüre der Kooperation gerissen. Ich kann mich zwar in die Lage von wordpress.org versetzen, aber so mit Entwicklern umzugehen (die eh nicht unbedingt verwöhnt sind) und mit „hat eh keinen Mehrwert, das Plugin“ argumentieren, ist nicht die feine Englische.

Im Endeffekt wurde das AntiVirus-Plugin meinerseits angepasst, so dass generell keine Prüfung auf include stattfindet. Weniger Sicherheit, dafür WordPress glücklich. Aus meiner persönlichen Sicht würde ich nicht nachgeben und das Plugin entfernen lassen. Aus Rücksicht auf Plugin- und WordPress-Nutzer habe ich mich dennoch gebeugt und lasse die Erweiterung in modifizierter Version weiterhin im Verzeichnis auflisten. Kostenlos und werbefrei.

Gastzugang für unveröffentlichte Artikel

Ein Lob und Dank an dieser Stelle an Dominik Schilling: Neben einer sehr aktiven Mitwirkung am WordPress-Core hat Dominik das Plugin Public Post Preview übernommen und die Weiterentwicklung des Addons sichergestellt.

Doch welchen Zweck erfüllt die Erweiterung? Public Post Preview sorgt dafür, dass noch nicht veröffentlichte Beiträge von „außen“ zugänglich und einsehbar werden. So lassen sich Entwürfe prompt mit anderen teilen, um beispielsweise Korrekturlesungen zu ermöglichen oder Veröffentlichungsfreigaben einzuholen, ohne Zielpersonen in WordPress als Nutzer anlegen zu müssen. Gastzugänge für freigegebene Artikel, sozusagen.

Die Zugänglichkeit zum Artikel steuert der Autor mithilfe einer Auswahlbox, die sich als Widget wahlweise seitlich oder unterm Beitragstext positioniert. Nach der Aktivierung der Option generiert das Plugin einen temporären Link zum Beitrag. Ab diesem Zeitpunkt kann auf den freigeschalteten Artikel via Secret-URL zugegriffen werden.

Die Methode ist mit einer privaten Datenfreigabe vergleichbar: Nur die Leser können auf die Artikelansicht zugreifen, die auch den Link zur Freigabe kennen. Dabei hat der Autor volle Kontrolle über die Zugänge und kann die Genehmigung jederzeit abstellen.

Keine Weitergabe der Artikelentwürfe per PDF oder E-Mail mehr nötig.

Weiterführende Informationen →

Best Antispam Plugin for WordPress

WP Engine fragt sich und seine Leser, was zurzeit wohl der beste und zuverlässigste Antispam-Schutz für WordPress ist? Antispam Bee konnte Juroren nicht überzeugen und so gewinnt das registrierungspflichtige und in der Regel nicht kostenlose Plugin Akismet das Rennen. Schade nur, dass WP Engine zu Automattic Inc. gehört. Dito Akismet. Etwa andere Ergebnisse erwartet?

Sei es drum! Sei’s drum! Bild‘ dir deine eigene Meinung.

Weiterführende Informationen →

Reading Mode für Blogposts

Safari-Nutzer kennen die rechts positionierte Schaltfläche innerhalb der Adressleiste: Readeroder Reading Mode genannt. Nach dem Klick auf den Button öffnet sich die aktuell im Browser aufgerufene Webseite in einer zum Lesen optimierten Ansicht. Losgelöst von Werbung und überflüssigen Bedienelementen. Konzentration aufs ungestörte Lesen.

Ein Tutorial auf Pro Blog Design präsentiert einen ähnlichen Ansatz: jedem Blogartikel wird eine Klickfläche hinzugefügt. Der Link öffnet ebenfalls eine zum Lesen präparierte Version des Beitrags. Anpassungen an Stylesheets, JavaScript und der Theme-Datei functions.php sind erforderlich.

Weiterführende Informationen →

PHP-Fehler aus dem Log per E-Mail

Aus der Praxis kann ich behaupten: Beim Entwickeln von Themes und Plugins sollte die Fehlerkonsole stets im Blick sein. Auf diese Weise werden im Error Log protokollierte PHP-Fehler und Hinweise permanent wahrgenommen. Die Fehlerfindung und Korrekturen sind rascher erledigt.

Auch im Regelbetrieb eines Blogs schauen erfahrene Programmierer öfters ins Error Log und halten Ausschau nach Fehlermeldungen, die in letzter Zeit eventuell aufgetreten und an der Stelle vermerkt sind. Die Meldungen können von WordPress, aber auch von Drittanwendungen stammen. Je nach Größe der Website und Besucheranzahl sollten Error Logs wöchentlich auf Neuzugänge kontrolliert werden.

Das WordPress-Plugin Error Log Monitor greift bei dieser zeitraubenden Aufgabe unter die Arme und überwacht abgelegte Error Logs auf Veränderungen. Auf dem Dashboard nistet sich die Erweiterung in Form eines Widgets ein und zeigt Administratoren einen Auszug mit letzten Hinweisen. Optional ist die Möglichkeit, Benachrichtigungen mit neu eingegangenen Modifizierungen per E-Mail zu erhalten. Den Zeitabstand des Versands legt der Admin selbst fest.

Weiterführende Informationen →

Auf Ausfälle der Datenbank reagieren

Kann jedem jederzeit passieren: Ist die Datenbank mal nicht erreichbar oder MySQL-Tabellen sind beschädigt, so meldet sich WordPress mit einer unformatierten Meldung „Error Establishing a Database Connection“. Dieser Hinweis ist für den Blog-Besucher weniger informativ. Auch kriegt der Blog-Administrator kaum die fehlende Erreichbarkeit der Datenbank mit.

Die verlinkte Anleitung will die verbesserungswürdige Lage berichtigen und berücksichtigt wichtige Punkte:

1. Gesetzte Header kommunizieren den temporären Ausfall an Google Bots und sorgen dafür, dass aufgebautes SEO nicht kaputt geht.

2. Der Administrator erhält eine Benachrichtigung via E-Mail und kann kurzerhand eingreifen, um die Datenbank zum Laufen zu bekommen und gegebenenfalls den Hoster zu kontaktieren.

3. Besucher der Website bekommen eine an das Design angepasste und korrekt getextete Seite zu Gesicht.

Eine Wartungsseite für DB-Fehler sucht WordPress bei Bedarf automatisch als Datei db-error.php im Verzeichnis des aktuellen Theme oder alternativ direkt im Ordner wp-content. Keine Plugins notwendig.

Weiterführende Informationen →

Tipps für WordPress Plugin Development

Die enorme Vielfalt an Plugins und Themes hat WordPress die weltweite Marktherrschaft und die unendliche Beliebtheit verschafft. Dabei sind Dokumentationen und Handbücher zu WordPress APIs verständlich verfasst, so dass jeder Einsteiger in der Lage ist, erweiterte Theme-Templates und Erweiterungen zu programmieren und somit eigene Ideen im CMS zu integrieren.

Klingt alles sehr verlockend und einfach. Doch damit die Community von Entwicklungen richtig profitiert und andere Drittanwendungen nicht unnötig beeinträchtigt werden, gibt es Standards und Empfehlungen. Der Artikel auf WP Roots streut mit Ratschlägen: Code-Formatierung, Funktionsbenennung, Dateiorganisation. Ach ja, und die bekannte Geschichte mit „das Rad neu erfinden“.

Weiterführende Informationen →

Unterstützer gesucht für WordPress 3.5

Das Entwickler-Team hinter WordPress ist auf der Suche nach Lösungen, Ideen und Umsetzern zu noch offenen Punkten, die Andrew Nacin öffentlich genannt hat. Größtenteils handelt es sich um Bereiche Retina und Mediathek.

Falls sich jemand in diesen Segmenten fit fühlt und das OpenSource-Projekt mit seinem Wissen unterstützen möchte, melde sich im Beitrag auf make.wordpress.org oder direkt beim Chefentwickler.

Weiterführende Informationen →

Konzept des Media-Uploaders in WP 3.5

Und wo wir dabei sind, das Thema WordPress 3.5 anzusprechen: Der Datei-Uploader soll auf Grund auf überarbeitet werden und deutlich mehr Aktionen ohne einen Reload der Seite erlauben. Ein Konzept in Form eines Wireframes gibt es auch schon und sieht nach einem mächtigen Werkzeug aus.

Über 80 Slides zeigen das denkbare Layout und den eventuellen Funktionsumfang der AJAX-basierten Lösung. Feedback erwünscht.

Weiterführende Informationen →

Review: BackWPup Plugin

In vergangenen WP LETTER Ausgaben wurden mehrere Backup-Plugins für WordPress vorgestellt. Einem Test-Review musste sich BackWPup des deutschen Entwicklers Daniel Hüsken stellen.

In meinen Augen eine sehr ausgereifte Software für den produktiven Einsatz im Blog. Es gibt nahezu keinen Speicherplatz-Dienst, den das Plugin nicht als Ablageort für Backups nutzen kann. Sicherungen starten autonom in gewünschten Zeitabständen, die Ausführung wird in Log-Notizen protokolliert. Der vorbildliche Support des Autors darf nicht außer Acht gelassen werden.

Als Minuspunkt nannte der Testbericht die fehlende Dokumentation zum Plugin.

Weiterführende Informationen →