Heute möchte ich Euch drei kleine, aber feine Plugins vorstellen, welche die Update Überprüfungen und Informationen im Adminbereich unterdrücken und so nicht zu verachtende Auswirkungen auf die Blog Performance haben. Ich bin vor kurzem auf diese drei Plugins gestoßen, als ich händeringend nach einer Möglichkeit suchte in einem Wordpress System diese Update Überprüfungen auszuschalten. Manchmal macht es einfach auch gar keinen Sinn zu überprüfen und anzuzeigen, dass es neue Wordpress, Plugin oder Theme Versionen gibt.
Für alle Plugin Minimalisten wie mich, gibt es jeweils noch die Möglichkeit den Einsatz dieser Plugins mit einem entsprechenden Eintrag in der functions.php des Wordpress Themes zu umgehen.
Aber nicht nur die Anzeige der verfügbaren Updates ist nervig, denn unser liebes Wordpress prüft bei jedem Aufruf, ob es überhaupt neue Versionen gibt. Damit werden unzählige Informationen hin- und hergeschickt, Abfragen erstellt, um dann die entsprechenden Informationen einzublenden. Dass dies die Performance belastet steht außer Frage.
Da bleibt dann in erster Linie die Frage übrig, wie notwendig diese Informationen für den einzelnen Admin sind. In den meisten Fällen so unnötig wie ein Kropf
Wordpress Theme Update
Nehmen wir beispielsweise mal den Theme Update. Ich nutze ja meine eigenen selbst geschriebenen Themes, so dass niemand anderer als ich besser weiß, ob meine Themes aktuell sind oder nicht. Dass Wordpress für mich diese Überprüfung und Abfrage ausführt ist also total unnötig. Und wer nicht zufälligerweise ein Theme in Benutzung hat, für welches es auch hin und wieder Updates gibt – was in den seltensten Fällen zutreffen sollte – der sollte sich überlegen, das kleine aber feine Plugin Disable Wordpress Theme Updates zu installieren und aktivieren.
Wer sich das Plugin sparen möchte, kann alternativ folgenden Eintrag in der functions.php seines Themes vornehmen:
//Theme Update deaktivieren
remove_action( 'load-themes.php', 'wp_update_themes' );
remove_action( 'load-update.php', 'wp_update_themes' );
remove_action( 'admin_init', '_maybe_update_themes' );
remove_action( 'wp_update_themes', 'wp_update_themes' );
add_filter( 'pre_transient_update_themes', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_update_themes' );
Wordpress Core Update
Weiter geht es dann mit dem Wordpress Core Update. Dass eine neue Wordpress Version zum Download bereit steht, das erfahren wir in der Regel auch von unseren Blogger Kollegen sowie dem Wordpress Blog beziehungsweise dessen Feed. Muss ich deswegen meine aktuell genutzte Wordpress Version durch die Weltgeschichte schicken, überprüfen lassen, ob es eine neue Version gibt und mir das im Adminbereich anzeigen lassen? Ich sage Nein, definitiv muss ich das nicht und deswegen läuft bei mir auch das Plugin Disable Wordpress Core Update. Damit wird nicht mehr überprüft, ob es eine aktuellere Wordpress Version gibt als die, die ich nutze, und mir auch keine entsprechende Information dazu mehr ausgegeben.
Wer sich auch dieses Plugin sparen möchte, kann alternativ folgenden Eintrag in der functions.php seines Themes vornehmen:
//Core Update deaktivieren
remove_action( 'wp_version_check', 'wp_version_check' );
remove_action( 'admin_init', '_maybe_update_core' );
add_filter( 'pre_transient_update_core', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_version_check' );
Wordpress Plugin Updates
Als drittes kommen dann die Plugin Updates an die Reihe, die sicherlich noch die sinnvollsten aller automatischen Überprüfungsmechanismen sind. Bei der Anzahl der Plugins, die wir in unseren Wordpress Blogs nutzen, dürften diese Überprüfungsmechanismen aber auch die sein, die am meisten Performance fressen. Aktuelle Versionen werden durch die Weltgeschichte geschickt, überprüft, ob es neuere Versionen gibt, um dann im Adminbereich darüber zu informieren. Sicherlich ist es absolut wichtig Plugins auf dem aktuellsten Stand zu halten, aber muss ich das bei jedem Seitenaufruf überprüfen? Nein, sage ich, und somit habe ich mir auch das Disable Wordpress Plugin Updates Plugin installiert. Wenn ich nun wissen will, ob es Plugin Updates gibt, dann deaktiviere ich dieses Plugin einfach kurz und lasse mir die entsprechenden Infos ausgeben. Danach kann ich es wieder aktivieren.
Auch dieses Plugin kann ganz einfach mit dem folgenden Eintrag in der functions.php umgangen werden:
//Plugin Updates deaktivieren
remove_action( 'load-plugins.php', 'wp_update_plugins' );
remove_action( 'load-update.php', 'wp_update_plugins' );
remove_action( 'admin_init', '_maybe_update_plugins' );
remove_action( 'wp_update_plugins', 'wp_update_plugins' );
add_filter( 'pre_transient_update_plugins', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_update_plugins' );
Ich persönlich bin ja ein absoluter Plugin Minimalist und habe mich aus diesem Grund gegen die Plugins und für die entsprechenden Einträge in der functions.php entschieden. Mit dem Nachteil, dass ich zum Beispiel die entsprechenden Zeilen der Plugin Update Deaktivierung in der functions.php mal kurz deaktivieren muss, um zu sehen welches Plugin gerade nach einem Update verlangt, kann ich ehrlich gesagt leben. Hin und wieder, zum Beispiel bei neuen Wordpress Versionen, wird es auch notwendig werden, die entsprechenden functions manuell zu aktualisieren.
Update: Das Ganze gibt es nun auch als gemeinsames Plugin, für alle, die lieber mit einem Plugin arbeiten, als mit manuellen Lösungen: Plugin Disable Wordpress Updates
[...] Update Überprüfung in Wordpress Blogs abschalten [...]
[...] Überprüfungen und Informationen im Adminbereich unterdrücken – vorgestellt von Crazy Girl, [...]
Das Theme-Update wollte ich schon immer mal deaktivieren, aber es hat mir noch niemand den Code zum copy&paste präsentiert
Danke!
Wow. Cool – ich nehm dann das Paket mit der functions.php
Auf etwas schwachbrüstigem VServer ist das genau das richtige! Logischerweise sichere ich die functions.php vorher nach functions.ori. Brauche ich nie umdenken. Meistens fällt mir sogar ein – aha ori war wohl das Original.
Ernsthaft – herzlichen Dank. Ich spare mir die Suche!
Danke für die Tipps! Die beiden ersten habe ich eingebaut. Auf den 3. verzichte ich, weil ich einfach zu viele Plugins laufen habe. Da finde ich den automatischen Hinweis praktisch. Aber die beiden anderen Dinge braucht man eigentlich nicht. Thesis schickt vermutlich nicht mal Nachrichten nach Hause, so dass ich mir diesen Eintrag wohl auch hätte schenken können. Was meinst du?
@Crazy Girl
Sicherungskopie. Änderungen eingefügt. Speichern und testen… Geht.
Genialer Tipp – Wollen wir nicht heiraten
Neulich hatten wir über die Häufigkeit neuer Artikel gesprochen. Äh, geschrieben. SO einen Artikel schreibt man nicht jeden Tag. Da bin ich echt schon froh, wenn ich die Qualität in wesentlich längeren Abständen hinkriege!
@ap
Optik vom Blog neu? War anscheinend schon ein Weilchen nichtmehr da. Ich konnte mich noch an einen Artikel erinnern – so mit Richtung 600 Besucher…
Zuerst ganz verzweifelt nach einem Suchfeld gesucht. Seeehr weit unten
(Habe den Artikel vom 20.12. dann aber noch gefunden)
LG
@Marc: Ja, so bin ich halt, ich präsentiere gerne Codes
@waelti: Frag nicht wie lange ich letztens danach gesucht hatte
@ap: Mit Thesis meinst Du Deinen Theme Autor? Sicher ist sicher würde ich grundsätzlich einfach nur sagen. Was man nicht braucht kann man auch ausschalten
Bezüglich der Plugin Updates würde ich in Deinem Fall dann eher das Plugin bevorzugen als gar nichts. Auf Knopfdurck deaktiviert und schon sind die Meldungen da. Noch ein Knopfdruck zum aktivieren und schon sind sie wieder weg. Das kannst auch einmal am Tag oder nach Belieben machen
@waelti: oh… ein Heiratsantrag…
Nur leider kann ich nicht nochmal heiraten, bin schon verheiratet
Danke für die Blumen, das geht runter wie Öl… *freu*
Hi Tanja,
danke nochens für den Tipp, hab die Plugs nun in einem Backendkrücken-Blog drin. Ja, tut sich was, die Performance des Backends ist besser geworden.
Aber irgendetwas anderes ist bei dem, und nur bei dem, Blog im Argen. Obwohl es jetzt etwas besser ist, kann ich mir immer noch z.B. beim Artikel speichern, oder einfach nur beim Wechsel von Seiten bearbeiten auf Widgets etc. etc. nen Kaffee kochen gehen. Am Server liegt es definitiv nicht, d.h. ich muss mir wohl oder übel mal die Zeit nehmen und das Ding auseinanderbasteln. So lange noch Kaffee da ist
@waelti: Ja, ich habe das Theme etwas umgebaut
Das Suchfeld habe ich aufgrund deines Hinweis mal etwas nach oben verlegt
@Crazy Girl: Ja, Thesis heißt meint Theme. Du hast recht. Ich nehme das Plugin dazu. Da kann ich ja von Zeit zu Zeit nachsehen.
Also ich weiß jetzt nicht, ob ich damit vielleicht falsch liege, aber ich habe Tanjas Vorschlag mal in folgende simple Abfrage gekleidet (die in meinem persönlichen konkreten Fall wohl auch brauchbar zu sein scheint):
Was zur Folge hat, dass die Zeilen NICHT ausgeführt werden, wenn man als angemeldeter Nutzer die Seite aufruft. Da ich der einzige bin, der sich in meinem Blog anmeldet, führt das also dazu, dass sämtliche Update-Checks normal durchlaufen, wenn ich mich im Blog anmelde… nützlich, weil ich dann ja auch benachrichtigt werde (so mein Plan).
Im normalen Anwenderfall meldet sich bei mir keiner an, was wiederum bedeutet, die Codezeilen von Tanja greifen und die entsprechenden Updatefunktionen/-checks werden nicht ausgeführt.
Soweit die Theorie *g*.
Ähm… also meine Variante zerstört natürlich jede Wirkung aufs Backend – das is ja klar…
Da ich aber vermute, dass WP diese Checks auch durchführt, wenn normale Nutzer das Blog aufrufen, könnte zumindest so ein “Spagat” gewagt werden… ich teste es einfach mal aus
@Francis: Hier hängt bei mir auch hin und wieder was, wenn ich mich in den Adminbereich einlogge, könnte ich auch nen Kaffee kochen gehen bis ich drin bin
Hab schon alles im Dashboard deaktiviert, hin und wieder flutscht es und dann dauert es wieder halbe Ewigkeiten *schluchz*
@ap: Das Plugin ist dann auf jeden Fall angebracht und schlauer. Man muss es ja nicht dauernd sehen, dass was neu ist.
@Kim: Teste es einfach mal aus. So unvernünftig klingt Deine Idee gar nicht. Nur in den meisten Fällen will ich die Meldungen auch nicht sehen und deswegen würde ich diese Abfrage-Schleife persönlich nicht nutzen.
Momentan habe ich die Vermutung, dass Google WMT auch den Adminbereich misst. Oder in diesem Speedzeugs in den WMTs ist ein Hund begraben. PageSpeed gibt mir auf der Seite so ganz andere Zeiten etc. aus, als in den WMTs zu sehen sind
@Francis
Das mit dem Kaffekochen kenn ich aber auch. Nicht immer (auf’m VServer). Last geht stark nach oben, vermute bei mir yet another related posts als Grund. Anderes Blog, (auch yarp) auf dem gleichen VServer zeigt dieses Verhalten (noch) nicht. Hat aber deutlich weniger Artikel drin.
@ap
im wahrsten Sinne des Wortes. Im letzten Post garnicht erwähnt. Find Optik cool. Das mit den Kategorien sieht echt stark aus.
Find ich so besser
@waelti und Francis: Da fällt mir gerade ein, das hatte ich auf einem Blog auch mal. Damals waren ein paar Pingverzeichnisse schuld, die nicht funktioniert hatten und über die Pingliste beim Artikel veröffentlichen ja jedesmal angepingt wurden. Konnte sie nur über den MB Pingoptimizer identifizieren und rauswerfen aus der Pingliste. Danach war es wesentlich besser
Hört sich ja viel versprechend an, das werde ich mal probieren. Da geht mir ein Gedanke durch den Kopp.
Ist es technisch realisierbar nach plugin updates nur z.B. alle zwei Wochen suchen zu lassen? Weil wenn ich die Funktion komplett deaktiviere vergesse ich garantiert ab und zu sie wieder zu aktiveren um zu schauen ob es updates gibt.
Werde die Variante ohne plugins ausprobieren.
So, habe themes update und core update per functions.php deaktiviert. Das Backend ist merklich schneller geworden.
Mädel – du bist spitze!
Hallo Tanja,
vielen Dank für den Tipp, auch mich haben die Rückmeldungen des Systems, dass ich doch bitte updaten soll in den Wahnsinn getrieben!
Gruß
Matthias
@Crazy Girl
Das mit PingVerzeichnis ist gut. Würde auch die Aussage von @Francis erklären: Liegt nicht am Server.
Habe mir noch die Datenbanktabellen angekuckt: Similar Posts / YARP ‘beurteilen’ ja auch den Text im Artikel (Ja, YARP macht das inzwischen auch, wusste ich auch nicht).
Kombi scheint zu sein: Was ausbremst sind Zugriffe nach Aussen und Dinge, die viele Datenbankzugriffe benötigen. Wordpress benötigt ja nun nicht wirklich viel Rechenpower.
@Mac_BetH
Na, Guten Morgen!
Muss ich jetzt das ‘in den Wahnsinn getrieben’ genau wörtlich nehmen?
@Luigi: Dann nimm für die Plugin Updates doch einfach das Plugin. Das kannst Du ganz easy auf Knopfdruck aktivieren und deaktivieren und schreibst Dir am besten eine Wiedervorlage-Aufgabe
Möglich wär das sicher so was auf PHP zu schreiben und umzudrehen, aber nicht wirklich einfach…
@Matthias: Ja, die setzen einen zudem auch noch ganz schön unter Druck
@waelti: YARP und Similar Posts etc. haben sicherlich einen Einfluß auf das Publizieren. Ich habe aber überall Similar Posts laufen und das Problem hatte ich damals nur mit einem einzigen Blog. Und siehe da, es waren die Pingservices *im Leben wäre ich da nie draufgekommen wenn nicht durch Zufall*. Um das aber mal auszutesten bringt es sicher was, kurzfristig mal solche Performancefresser beim Publizieren zu deaktivieren (Plugins für ähnlich Artikel, wie auch mal die Pingservices rausnehmen) und kucken was sich womit gerade so tut.
Mit meinem Dashboard Problem bin ich nun auch ein kleines Stückchen weiter gekommen (siehe neuester Artikel). Nun ist aber weiter Fehlersucher angesagt
Wordpress Core Update benutz ich selbst schon seit ner weile. Die anderen kannte ich noch nicht. Vielen Dank für den Tipp!
@Jakob: Gern geschehen
Ich werde mir die Plugins auch reinstellen. Bin ich doch persönlich eher gegen Updates. Meist läuft danach mehr schief als besser, so meine Erfahrung.
Dass, man das einfach ausstellen kann, wusste ich gar nicht.
Grüsse
@Nismion: So einfach ausstellen kann man es nicht, aber mit den Plugins oder den entsprechenden Funktionen schon
Problem sind ja nicht die Update selbst, sondern dass bei jedem Aufruf überprüft wird, ob Updates vorhanden sind und dann die entsprechenden Meldungen. Sinnloses Daten durch die Weltgeschichte gejage, was nur zu Lasten der Performance geht
@all: Für alle, die lieber mit einem Plugin arbeiten als mit manuellen Lösungen in der functions.php habe ich gerade mein erstes Plugin geschrieben und zum Download für Euch zur Verfügung gestellt: Plugin Disable Wordpress Updates. Dieses Plugin vereint die drei Plugins von John Blackbourn in eines (warum mit drei Plugins arbeiten, wenn es auch mit nur einem geht) und hat zusätzlich auch noch die entsprechenden Cronjobs deaktiviert (wie hier in den Funktionen).