WordPress WYSIWYG-Editor lädt nicht – Probleme mit TinyMCE’s plugin.min.js

Editor lädt nicht

Heute mal ein Thema zu einem Problem das scheinbar einige WordPress-User haben, welches aber in vielen Foren ungeklärt bleibt. Als ich gestern einen neuen Beitrag in diesem Blog verfassen wollte, blieb das Fenster des WYSIWYG-Editors weiss und die Toolbar wurde nicht geladen. Der gesamte Editor reagierte nicht mehr, auch wenn ich versuchte ältere Beiträge zu bearbeiten. Die üblichen Massnahmen wie das Leeren des Browsercache, erneutes Einloggen etc. brachten keine Lösung.

Fehlersuche in Plugins und Themes

Eine kurze Recherche ergab, dass dieses Problem häufiger auftaucht. Die erste Antwort in Foren ist fast immer: „Alle Plugins deaktivieren, das Standard-Theme aktivieren, notfalls das WordPress neu installieren.“  An den Plugins lag es nicht, und auch das Twenty Fifteen Theme brachte keine Abhilfe. Eine Neuinstallation wollte ich vorerst umgehen, es musste doch eine richtige Lösung für das Problem geben.

Backend-Scripts nicht Zusammenfügen

Im WordPress Backend werden alle Scripts in einer URL zusammengefügt. Ein weiterer Tipp in vielen Threads zu diesem Thema ist, dies manuell zu verhindern. Hierfür muss die wp-config.php bearbeitet werden, um dort folgende Zeile einzufügen:

define('CONCATENATE_SCRIPTS', false );

Doch leider kein Erfolg…

Ändern der PHP-Version

Auch die PHP-Version wird hin und wieder verdächtigt dieses Problem zu verursachen. Glücklicherweise kann diese im C-Panel unseres Hosters direkt eingestellt werden. Ein Ändern der Version von PHP5.4.38 auf PHP5.5.1 ergab – nichts.

„Error 522: Connection timed out“ für TinyMCE-JS-Datei

Erst spät viel mir auf, dass die Console einen Error anzeigte. Die Datei /wp-includes/js/tinymce/plugins/wordpress/plugin.min.js?wp-mce-4109-20150505 konnte nicht geladen werden. Diese Datei ist teil des TinyMCE Plugins, also dem WYSIWYG-Editor im WordPress Backend. Tatsächlich war diese Datei auf dem Server vorhanden, konnte aber scheinbar nicht geladen werden. Der Dateinamen zeigt, dass diese Datei gecached und durch das Anhängsel (?wp-mce-4109-20150505) versioniert war. Mein erster Verdacht lag bei CloudFlare, dem CDN über welches wir unsere Websites laufen lassen. Ich leerte dort den Cache und versuchte die blog-Subdomain an CloudFlare vorbei direkt von unserem Server abzurufen, wie das folgende Bild zeigt. Der Pfeil, der an der CloudFlare-Wolke vorbei geht, symbolisiert, dass die Website nicht vom CDN sondern von dem eigenen Server abgerufen wird.

Anfragen werden an CloudFlare vorbei direkt vom eigenen Server geliefert.

Diese Massnahme zeigte immer noch keinen Erfolg, aber ein direkter Aufruf der Datei im Browser zeigte mir, dass das Problem auch nicht bei CloudFlare sondern dem eigenen Host lag.

Caching und Komprimierung in .htaccess ausschalten

Die logische Konsequenz war es, das Caching auf dem eigenen Server auszuschalten. Hierfür kommentierte ich die betreffenden Stellen in der .htaccess aus. Um Sicherzugehen habe ich die Komprimierung auch gleich mit auskommentiert. Das Ergebnis sah dann so aus:

Caching und Komprimierung für JS auskommentiert

Und Tatsächlich: nach einem Pagereload wurde der Editor wieder normal angezeigt. Ein Fehler im Cache, vermutlich in Kombination mit CloudFlare, hatte also dafür gesorgt, dass die JS-Datei des Plugins nicht korrekt abgerufen werden konnte. Letztlich konnte ich den Cache und die Komprimierung wieder einschalten und der Editor funktioniert weiterhin.

Ich hoffe dieser Artikel konnte Ihnen weiterhelfen! Zum Thema Cache und Komprimierung gibt es einen eigenen Beitrag in diesem Blog, eventuell kann dieser noch weitere Fragen klären. Falls Sie selbst mit diesem Problem zu kämpfen haben oder eventuell einen anderen Lösungsansatz parat haben, hinterlassen Sie doch einen Kommentar.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.