Das prima-general Plugin

[ pactiveplugins]

Liste der aktiven Plugins

[ pwppaths]

WordPress Pfade und Konstanten anzeigen

[ pfindshortcode]

Parameter (Defaults in fett)

find =>

[ pcode]...[ /pcode]

Parameter (Defaults in fett)

class => language-markup

[ pprivate]...[ /pprivate]

Parameter (Defaults in fett)

force_show => 0, 1
private_class =>

[ pdiv]...[ /pdiv]

Parameter (Defaults in fett)

pdiv_class => pdiv
pdiv_id => pdiv

[ goback]

 

[ insertTel] oder [ ptel]

Parameter (Defaults in fett)

tel =>
add_name =>
button_show => 0, 1, true, false
button_class => phoneBtn

[ pgaoptout]

Parameter (Defaults in fett)

pgaoptout_class => pgaoptout
pgaoptout_id => pgaoptout
content => Google Analytics deaktivieren
alert => Google Analytics wurde deaktiviert
content_in => Google Analytics aktivieren
alert_in => Google Analytics wurde aktiviert
html_tag =>a
delimiter =>  

Resize images before upload

... alt aber gut. Zunächst erschreckt es, dass das Plugin deutlich in die Jahre gekommen ist. Im April 2018 behauptet WordPress.org, das Plugin wäre seit 5 Jahren nicht mehr aktualisiert worden und wurde nicht mit der aktuellen WordPress Version getestet.

Andererseits kann es (noch immer) sehr große JPG Dateien verarbeiten.

Einstellungen > Medien

Ohne zusätzliche Plugins kann man je nach Template verschiedene Größen für Bilder festlegen, die von WordPress dann automatisch erstellt werden.

So kann z. B. ein Bild mit 1.000 x 1.000 Pixel hochgeladen werden und WordPress erstellt daraus zusätzlich ein Vorschaubild, ein mittelgroßes Bild und ein großes Bild.

Das funktioniert z. B. mit einem quadratischen Bild mit 3.000 Pixel aber nicht mehr mit 3.500 Pixel. Letzteres bringt einen HTTP-Fehler, wenn man versucht solch ein Bild rauf zu laden. Das hängt damit zusammen, dass letzteres Bild am Server quasi als RAW-Bild mit 12,25 Millionen Pixel und praktisch ebenso vielen Bytes erstellt wird. Und das ist für PHP bzw. je nach Servereinstellungen zuviel.

Plugins wie Smush Image Compression and Optimization oder reSmush.it Image Optimizer reduzieren zwar die Dateigröße durch Komprimierung aber nicht die Anzahl der Pixel.

Das macht z. B. Imsanity.

Imsanity - Einstellungen

Hier zusätzlich wird die maximale Größe für das raufgeladene "Originalbild" festgelegt. Aber auch Imsanity gelingt es nicht ein quadratisches 3.500 Pixel Bild zu verarbeiten.

Nun kommt der Veteran Resize images before upload und zeigt wie es geht.

Resize images before upload - Einstellungen

Auch hier werden die maximalen Abmessungen eingegeben, ABER das ganze funktioniert auch noch mit Bildgrößen von 8.000 Pixel im Quadrat. Lediglich bei 8.500 Pixel gibt das Plugin auf, was aber für die meisten Anwender und ihre Kameras kein Problem darstellen sollte.

Resize images before upload kann über die wp-config.php auch konfiguriert werden:

define( ‚RIBU_RESIZE_WIDTH‘, 1000 ); //1000 px wide
define( ‚RIBU_RESIZE_HEIGHT‘, 900 ); //900 px high

define( ‚RIBU_RESIZE_QUALITY‘, 75 ); //0-100, 100 being high quality
defined( ‚RIBU_MAX_UPLOAD_SIZE‘ ‚2097152b‘ ) ); //size in bytes

Enlighter - Customizable Syntax Highlighter

Enlighter – Customizable Syntax Highlighter

Der Inhalt ist nicht verfügbar.
Bitte erlaube Cookies, indem du auf Übernehmen im Banner klickst.

Das Plugin verspricht Syntax-Highlighting, was zunächst auch klappt ...

Enlighter - Customizable Syntax Highlighter

Enlighter - Customizable Syntax Highlighter

... aber es erschließt sich nicht wie der

<pre class="EnlighterJSRAW" data-enlighter-language="null">Code</pre>

erweitert werden kann. Speziell, wenn am Ende noch Code hinzugefügt werden soll.

Captcha Code

Adds Captcha Code anti-spam methods to User front-end WordPress forms.

Captcha Code

Der Inhalt ist nicht verfügbar.
Bitte erlaube Cookies, indem du auf Übernehmen im Banner klickst.

Mal sehen, ob dieses Plugin verhindern kann, dass Brute-Force-Attacken zum knacken des Login-Passworts geritten werden.

Das Plugin "Rename wp-login.php" konnte nicht verhindern, dass auf die Login-Seite zugegriffen wird.

 

Das prima-show-posts-by Plugin

Aus einer Notwendigkeit ist das Prima-Show-Posts-By-Plugin entstanden.

Es stellt zwei Shortcodes zur Verfügung

[ insertPostByCat] oder [ psp]

Parameter (Defaults in fett)

Query String

  • category_name => category slug
  • post_type => post|page|custom post
  • post_status => publish|pending|draft|auto-draft|future|private|inherit|any
  • p => post id
  • name => post slug
  • page_id => page id
  • pagename => page slug
  • posts_per_page => -1 = all
  • order => desc|asc
  • orderby => title, date, name, meta_value (meta_key setzen)
  • meta_key =>

Formatierung

  • post_class => psp_post_class z. B. sideBySide
  • show_title => true
  • title_tag => h2
  • title_class => psp_title_class

Features

  • separator => true|false
  • separator_last' => true|false ... setzt Separator nach dem letzten Beitrag
  • show_article_link => true|false
  • featured_image_link => true|false
  • title_link => true|false
  • show_excerpt => true|false

  • toggle_content => true|false
  • toggle_open_id => 1|n|0 = keines aufmachen
  • thumbnail_size => thumbnail|small-feature|post-thumbnail ... für Excerpt
  • startDay => 
  • endDay =>
  • startMonth =>
  • endMonth =>
  • meta_min => #für bereich bei order_by=meta & meta_key YYYY-MM-DD
  • meta_max =>

[ schedCont] oder [ ppscp]

Parameter (Defaults in fett)

  • post_class => scheduleContent
  • start => 1.1.
  • end => 31.12.

 

BackWPup - für das WordPress-Backup?

UpdraftCentral ist ein vorzügliches Tool, um ein WordPress-Backup zu erstellen.

Wordpress-Backup

Es gibt die Möglichkeit Backups für fremde (verbundene) Seiten mit dem UpdraftCentral Dashboard Plugin durchzuführen. Ebenso können Backups auf Dropbox, Google Drive u. a. ausgelagert werden, was besonders bei beschränktem eigenen Speicherplatz oder auch im Sinne der Redundanz von Vorteil ist. Ein WordPress-Backup kann sogar per E-Mail versendet werden, wobei typische E-Mailgrößenbeschränkungen (meist zwischen 10 und 20 MB) zu beachten sind.

Wozu also ein neues Plugin um ein Backup der WordPress Dateien durchzuführen?

Ganz einfach ... UpdraftCentral sichert NICHT die Verzeichnisse wp-includes und wp-admin. Das ist in der Regel auch nicht notwendig, weil diese Dateien ganz leicht im Original wieder hergestellt werden können - und dann auch noch in der aktuellsten Version. Zudem sollten Dateien in diesen Verzeichnissen von Nutzer auch nicht geändert werden. Geänderte (im Vergleich zu den Originaldateien) und hinzugekommene Dateien werden unter anderem vom Sicherheits-Plugin Sucuri Security entdeckt.

Wurden die Dateien dennoch geändert, stellt sich die Frage, ob legitim oder durch einen Hacker-Angriff. Hat man keinen FTP-Zugriff, kann man den Inhalt "verdächtiger" Dateien nicht prüfen ... und mit UpdraftCentral auch nicht herunterladen.

Somit kommt BackWPup für ein WordPress-Backup wieder ins Spiel. Auf der Plugin-Seite auf WordPress.org gibt es das Plugin zum Download.

Für das praktische WordPress-Wartungs-Tool MainWP gibt es (so wie für UpdraftCentral) eine Extension wodurch ein WordPress-Backup auch für ferngewartete Seiten einfach wird.

Welches Tool mittel- oder auch langfristig das Bessere ist, kann zur Zeit nicht eindeutig beantwortet werden. Wie so oft scheint es Geschmacksache zu sein.

Alternativen?

Das Duplicator-Plugin mit dem man ebenfalls ein WordPress-Backup durchführen kann, ist in der kostenfreien Version aber hinsichtlich des Speicherorts eingeschränkt. Hier kann nur auf der eigenen Seite (dem eigenen Webspace) gesichert werden. Duplicator wurde in der Vergangenheit eingesetzt um Seiten zu migrieren - d.h. von einem Server zum anderen oder von einem Verzeichnis in ein anderes zu transferieren.

Allerdings ist Letzteres eine Funktion, die auch mit UpdraftCentral und BackWPup möglich ist - obgleich ich es selbst noch nicht verwendet habe.

Awesome Responsive Menu

Dieses Plugin zum Einfügen eines mobilen Menüs ist eindeutig die bessere Wahl im Vergleich zum WPTouch-Plugin. Vor allem wenn es lediglich darum geht ein mobiles Menü in ein WordPress-Theme einzubauen, dass dieses selbst nicht vorsieht (z. B. das WordPress Twenty Eleven Theme).

Awsome Responsive Menu

Während Awesome Responsive Menu im Grunde macht was es soll (ein mobiles Menü einfügen), drängt einem WPTouch ein komplett neues Theme auf, dass in der nicht-Pro-Version auch nicht wirklich anzupassen ist. D.h. man muss unter anderem die Schriftfarben für Überschriften von WPTouch übernehmen. Die eigenen Farbeinstellungen gehen verloren.

Aber auch Awesome Responsive Menu hat so seine Schwächen ... oder sagen wir mal Schönheitsfehler.

Der Menu Breakpoint muss in den Einstellungen manuell eingegeben werden. Also die Breite in Pixel, ab der das Menü erscheint. Ich habe mich da für die Breite 800 entschieden, weil ab dieser Breite auch der Sidebar von Twenty Eleven ans Seitenende verschoben wird.

Die Verwendung der WordPressfunktion wp_is_mobile () wäre an dieser Stelle praktisch, weil größere Pads zwar die Breite im Browser erreichen, aber die Navigation dennoch eine andere ist (die Maus kann über einem Menüpunkt hovern, der Finger am Tablet nicht).

Und das man bei den Advanced Settings die ID des Menü-Containers zuerst suchen und dann eingeben muss, erschließt sich mir auch nicht auf den ersten Blick.

Awasome-Responsive-Menu-Settings

Geschwindigkeit in WordPress mit W3 Total Cache

W3 steht zwar nicht unbedingt für Warp Geschwindigkeit, aber eine WordPress-Installation um den Faktor 3 zu beschleunigen ist schon möglich. Eine schnelle Website wird in einer schnelllebigen Zeit immer wichtiger, wenn man nur einen Mausklick oder Fingertip von der nächsten (womöglich schnelleren) Seite entfernt ist.

Geschwindigkeit durch WordPress PluginDadurch, dass die Seite nicht jedesmal neu am Webserver "zusammengebaut" werden muss, sondern fix fertig aus dem Cache kommt, ist die Zeit für das sogenannte First Byte natürlich wesentlich und spürbar kürzer. Da macht das Surfen dann auch wieder Spaß, wenn auch die Gesamtladezeit der Seite nicht durch das Caching verkürzt wird. Es müssen immerhin noch genau so viele Bytes vom Server übertragen werden.

Was aber die Geschwindigkeit erhöht ist das sogenannte Minify, bei dem Leerzeichen, Tabulatoren, Absätze u. dgl. aus dem Quelltext von HTML-, CSS- und Javascript-Dateien entfernt wird.

Geschwindigkeit für Kundenwebsite

Für ein Kundenprojekt habe ich mal die Vorher-Nachher-Werte protokoliert und der Unterschied ist gewaltig. Nicht nur, dass die Seite gefühlt wesentlich schneller ist, der Geschwindigkeitsvorteil macht sich auch bei der Bewertung du Googles PageSpeed Insight deutlich bemerkbar. Die Tools zur Geschwindigkeitsmessung sind auf einer eigenen Seite beschrieben.

Also zunächst das Plugin installieren und dann aktivieren und zu den Einstellungen wechseln. Die sind in der Auswahlleiste ganz links unter Performance zu finden.

Das hat sich bislang bewährt (nur die Änderung zur Standardeinstellung sind angeführt):

General Settings

  • Page Cache Enable
  • Minify Enable, Minify Mode Manual (Auto bringt eine Fehlermeldung auf meinem Server)
  • Database Cache Enable
    Wenn Woocommerce verwendet wird _wc_session_ unter Database Cache Ingnored Query Strings hinzufügen
  • Object Cache Enable
  • Browser Cache Enable

Minify

Wird das Sucuri Security Plugin verwendet, muss die now.php von W§ Total Cache im Plugins-Verzeichnis (wp-content) auf die Whitelist Blockes PHP Files gesetzt werden.

  • Disable minify for logged in users ... sonst wird das Debugging schwierig (optional)
  • Minify error notification: Admin Notification kann hier nützlich sein
  • HTML minify settings: Enable, Inline CSS minification, Inline JS minification, Line break removal
  • JS minify settings: Enable, Embed type: Non-blocking using "async", Preserved comment removal, Line break removal

    Wenn MinifyMode Manual dann müssen hier alle Javascripts eingetragen werden. Die jqery.js, die Javascripts von

    • Awsome Responsive Menu,
    • Background Manager,
    • T(-) Countdown und
    • Wp Lightbox Bank Plugin

      können z. Zt. nicht erfolgreich minified (bzw. in den Fußbereich der Seite gestellt) werden. Um zumindest die Dateigröße zu vermindern, kann der Inhalt der Dateien manuell verkleinert werden. Ein Online-Tool hierzu findet sich unter Online Javascript Compression Tool.

      Die JS's von Visual Form Builder und MapPress Easy Google Maps Plugin scheinen dankenswerterweise nur auf Seiten auf, auf denen es auch Formulare gibt.

  • CSS minify settings: Enable, Preserved comment removal,  Line break removal, @import handling: Process.

    Auch hier müssen im manuellen Minify Modus die CSS-Dateien eingetragen werden.

    Mit <!-- W3TC-include-css --> kann man die zusammengefassten CSS in der footer.php ans Ende stellen (vor </body>). Analog dazu gibt es auch einen Tag für JavaScript: <!-- W3TC-include-js-head -->

Database Cache

  • Wenn Woocommerce verwendet wird _wc_session_ unter Database Cache Ignored

Browser Cache

General

  • Set expires header
  • Set cache control header
  • Set entity tag (eTag)

Install

  • WordPress SEO by Yoast Extension aktivieren falls WordPress SEO verwendet wird

Query Strings Remover

Googles PageSpeed InsightsDie Geschwindigkeit mit der eine Website abgerufen werden kann, ist offenbar mittlerweile Faktor für das Ranking von Suchmaschinen.

Google sagt dazu:

PageSpeed Insights analysiert eine Seite, um festzustellen, ob diese unseren Empfehlungen für das Rendering einer Seite in einem Mobilfunknetz in weniger als einer Sekunde entspricht. Studien haben gezeigt, dass bei einer Dauer von mehr als einer Sekunde der Gedankenfluss des Nutzers unterbrochen und das Nutzererlebnis dadurch beeinträchtigt wird. Unser Ziel ist es, dafür zu sorgen, dass der Nutzer sich kontinuierlich mit der Seite beschäftigt und unabhängig von Geräte- oder Netztyp ein optimales Erlebnis erhält.

Was spricht also dagegen den Empfehlungen von PageSpeed Insights und YSlow zu folgen?

Bringt es nichts im Ranking, so wird die Seite zumindest für den Besucher schneller.

Query Strings Remover entfernt dazu die Query-Strings von CSS uns JS Dateien, wodurch ein caching auf allen Servern ermöglicht wird.

Update: Query Strings Remover schafft es nicht alle Versionsinformationen zu entfernen. Deshalb wurden die Hooks script_loader_src und style_loader_src im PriMa-General-Plugin eingefügt um die Versionsinfo mit der Funktion remove_query_arg() zu entfernen,