Das Problem im Detail
Beim Einsatz von ACF zur Hinzufügung von Formularfeldern im Frontend, etwa für Nutzerkommentare, geschieht Folgendes:
- Alle Formular-Scripts werden geladen, ohne bedarfsgesteuertes (on-demand) Loading.
- Es entstehen Abhängigkeiten von Frameworks wie jQuery und jQueryUI, was zu weiteren nachgeladenen Scripts führt.
- Es kann zu Inkompatibilitäten und unerwartetem Verhalten kommen, da einige Scripts für das WP-Admin optimiert sind und dadurch Konflikte mit anderen Themes oder Plugins verursachen können.
- Das Hauptproblem: Die deutliche Beeinträchtigung des PageSpeeds, welcher ein kritischer Faktor für die Suchmaschinenoptimierung ist.
Häufiger Fehler mit großer Auswirkung
Advanced Custom Fields ist bei weitem nicht das einzige Plugin, das mit solchen Schwierigkeiten konfrontiert ist. WooCommerce beispielsweise präsentiert ähnliche Patzer und vergrößert signifikant die Seitenladezeit, insbesondere bei Warenkorb und Checkout. Für Website-Betreiber ist es daher essentiell, stets die Folgen eines Plugins und seiner jeweiligen Funktionen zu evaluieren.
Die effektive Lösung
Advanced Custom Fields bietet hierfür bislang werde eine offizielle Lösung noch einen Filter geschweige denn eine Einstellung.
Um das automatische Laden der ACF-Scripts im Frontend zu unterdrücken, können Sie folgenden Code in der functions.php
Ihres Themes einfügen oder als eigenständiges Plugin verwenden:
<?php
if(!is_admin()){
add_action('acf/init', function(){
acf_update_setting('has_done_ACF_Assets::add_actions', true);
});
}
Code-Sprache: HTML, XML (xml)
Die hier beschriebene Lösung gaukelt Advanced Custom Fields vor, dass im Frontend das Scripts Loading bereits ausgeführt wurde – kein offizieller Weg, aber als Hotfix reicht es aus.
Fazit
ACF hat enormes Potential und kann, wenn es richtig eingesetzt wird, den Wert eines Webprojekts signifikant steigern. Es ist bedauerlich, dass solch erfolgreiche Plugin-Anbieter den PageSpeed nicht ausreichend berücksichtigen. Ein bewussterer Umgang mit dieser Thematik seitens ACF wäre für alle Anwender eine willkommene Verbesserung.