Fehlerbehebung bei der Bereitstellung verketteter CSS- oder JavaScript-Dateien

Dieser Artikel erklärt, wie Jetpack Boost verkettete CSS- und JavaScript-Dateien bereitstellt, wie Sie prüfen, welche Bereitstellungsmethode verwendet wird, und wie Sie Probleme bei der direkten Bereitstellung und der von PHP bereitgestellten Fallback-Methode beheben.

Jetpack Boost (ab Version 3.9.0) optimiert die Leistung von WordPress, indem CSS- und JavaScript-Dateien verkettet und minimiert werden und anschließend direkt von Ihrem Webserver bereitgestellt werden, um die Ladezeiten zu verkürzen.

Wenn eine direkte Bereitstellung nicht möglich ist, hält ein Fallback-System mit PHP die Inhalte zugänglich, während die Optimierung fortgesetzt wird.

So prüfen Sie, welche Bereitstellungsmethode verwendet wird

Gehen Sie wie folgt vor, um festzustellen, welche Bereitstellungsmethode Ihre Website derzeit verwendet:

  1. Öffnen Sie eine Seite Ihrer Website in einem Browser.
  2. Seitenquelltext anzeigen (Rechtsklick → Seitenquelltext anzeigen).
  3. Suchen Sie nach Datei-URLs von CSS oder JavaScript:
    • Wenn sie von /wp-content/boost-cache/static/ bereitgestellt werden, ist Ihre Website bereits für die direkte Bereitstellung dieser Dateien eingerichtet.
    • Wenn sie von /_jb_static/ bereitgestellt werden, übernimmt WordPress die Bereitstellung. Dies kann Anfragen etwas verlangsamen, da PHP diese Dateien verarbeitet. Das Verketten mehrerer Dateien in eine Datei ist dennoch vorteilhaft. Möglicherweise sollten Sie jedoch herausfinden, warum die direkte Bereitstellung auf Ihrer Website nicht funktioniert.

Jetpack Boost nutzt das von WordPress bereitgestellte System für benutzerdefinierte Permalinks, um diese zusammengeführten Dateien neu zu generieren. Wenn eine Datei fehlt, erkennt WordPress das Problem und löst einen erneuten Generierungsprozess in Jetpack Boost aus. Das Plugin prüft regelmäßig, ob WordPress erkennt, dass Dateien im Verzeichnis wp-content fehlen. Wenn diese Prüfung fehlschlägt, werden Dateien mithilfe der Methode /_jb_static/ über PHP bereitgestellt.

Manuelle Tests

Wenn Ihre Website /_jb_static/ verwendet, um die verketteten Dateien bereitzustellen, können Sie einen manuellen Test durchführen, indem Sie versuchen, auf eine nicht vorhandene URL-Datei im /wp-content-Verzeichnis zuzugreifen. Die URL sollte wie eine vom Plugin verwendete Datei aussehen, zum Beispiel /wp-content/boost-cache/static/1234.css. Suchen Sie nach einer 404-Fehlerseite von WordPress. Wenn stattdessen ein standardmäßiger 404-Fehler des Webservers angezeigt wird, bestätigt dies, dass ein zu behebendes Problem vorliegt.

Eine 404-Fehlerseite von WordPress, die nach der Anforderung einer nicht vorhandenen Datei im Verzeichnis wp-content angezeigt wird und bestätigt, dass WordPress den 404-Fehler verarbeitet.

Wann wird der automatische 404-Test ausgeführt?

Das Plugin führt eine Prüfung durch, wenn beide Module zur Verkettung (JS und CSS) deaktiviert sind und Sie eines davon aktivieren. Außerdem wird die Prüfung einmal täglich ausgeführt. So wird die Überwachung der Dateibereitstellung Ihrer Website fortlaufend gewährleistet.

Der automatische 404-Test wird niemals auf WordPress.com oder Pressable ausgeführt. Auf diesen Hosts verwendet Jetpack Boost immer eine von PHP bereitgestellte Auslieferung über die Methode /_jb_static/, da der Webserver möglicherweise 404-Fehler für fehlende Dateien des Typs wp-content beantwortet, bevor WordPress geladen wird. Da WordPress den 404-Fehler nie sieht, kann der Test dort kein zuverlässiges Ergebnis liefern.

So beheben Sie Probleme mit wp-content

Das Problem liegt wahrscheinlich an der zugrunde liegenden Webserver-Konfiguration im Zusammenhang mit benutzerdefinierten Permalinks.

Behebung auf Apache-Servern

Auf Apache-Servern wird dies durch mod_rewrite-Regeln gesteuert, die im wp-content Verzeichnis deaktiviert sein können. Suchen Sie im .htaccess Verzeichnis nach einer versteckten wp-content-Datei. Falls vorhanden, suchen Sie nach der folgenden Direktive:

RewriteEngine Off

Das Entfernen oder Auskommentieren dieser Zeile kann das Problem beheben. Wenn Sie mit diesen Konfigurationen nicht vertraut sind, wenden Sie sich an Ihren Hosting-Anbieter.

Wenn sich keine .htaccess-Datei im wp-content Verzeichnis befindet, hat Ihr Hosting-Anbieter möglicherweise die Webserver-Einstellungen deaktiviert, auf die dieses Plugin angewiesen ist. In diesem Fall verwendet das Plugin als Fallback WordPress-Techniken, um die verketteten CSS- oder JavaScript-Dateien bereitzustellen. Dies ist etwas langsamer, aber dennoch vorteilhaft für Ihre Website.

Behebung auf Nicht-Apache-Servern

Bei Nicht-Apache-Servern wie Nginx finden Sie in der Serverdokumentation Hinweise oder wenden Sie sich an Ihren Hosting-Anbieter. Dort erhalten Sie Informationen zum Ändern von Konfigurationsdateien in /etc/nginx/.

Entwickleroptionen: 404-Tests deaktivieren

Der folgende Abschnitt richtet sich an Entwickler. Wenn Sie diese Optionen falsch ändern, kann die Bereitstellung des CSS und JavaScript Ihrer Website beeinträchtigt werden. Wenn Sie unsicher sind, wenden Sie sich vor den Änderungen an Ihren Hosting-Anbieter.

Um den is_404()-Test zu deaktivieren, definieren Sie die Konstante JETPACK_BOOST_DISABLE_404_TESTER in einer mu-plugin. Ein Beispiel für das Setzen dieser Konstante:

<?php

if ( ! defined( 'JETPACK_BOOST_DISABLE_404_TESTER' ) ) {
    define( 'JETPACK_BOOST_DISABLE_404_TESTER', 1 );
}

Nachdem Sie den Tester deaktiviert haben und sicher sind, dass is_404() im wp-content-Verzeichnis funktioniert, können Sie die Website-Option jetpack_boost_static_minification auf 1 setzen. Setzen Sie sie auf 0, um weiterhin die ältere Methode zur Bereitstellung dieser Dateien zu verwenden.

Setzen Sie diese Option nicht auf WordPress.com oder Pressable

Setzen Sie die Option jetpack_boost_static_minification auf WordPress.com oder Pressable keinesfalls auf 1. Auf diesen Hosts wird der 404-Test nie ausgeführt. Wenn Sie die statische Bereitstellung erzwingen, kann Jetpack Boost nicht erkennen, dass der Webserver 404-Fehler für fehlende Dateien des Typs wp-content beantwortet, bevor WordPress geladen wird. Wenn der Host diese 404-Fehler auf Webserver-Ebene beantwortet (zum Beispiel über den Schalter „Lightweight 404“ von Pressable), funktionieren das CSS und JavaScript Ihrer Website nicht mehr.

Ab Jetpack Boost 4.7.0 ignoriert das Plugin die jetpack_boost_static_minification-Option auf WordPress.com und Pressable und verwendet dort immer eine von PHP bereitgestellte Bereitstellung. Auf diesen Hosts hat das Setzen der Option nach dem Upgrade auf Version 4.7.0 oder höher keine Wirkung.

Wenn Sie diese Option auf WordPress.com oder Pressable bereits auf 1 gesetzt haben und das CSS oder JavaScript Ihrer Website nicht funktioniert, setzen Sie jetpack_boost_static_minification wieder auf 0, um die von PHP bereitgestellte Bereitstellung wiederherzustellen.

Wenn Sie einen Host verwalten, der sein eigenes 404-Routing verarbeitet, und dieses Verhalten überschreiben möchten, verwenden Sie den jetpack_boost_minify_use_static_cache_urls-Filter. Dies ist die unterstützte Überschreibung für Hosts, die ihre eigene 404-Verarbeitung kennen.

Zusammenfassung

In den meisten Fällen, in denen die direkte Bereitstellung nicht funktioniert, ist eine .htaccess-Datei in Ihrem /wp-content-Verzeichnis die Ursache. Wenn Sie diese Konfiguration überprüfen, sollte das erwartete Verhalten des 404-Tests wiederhergestellt werden und Ihre Dateien sollten direkt bereitgestellt werden können. Auf WordPress.com und Pressable ist die von PHP bereitgestellte Bereitstellung erwartungsgemäß und das korrekte Verhalten.

Still need help?

Please contact support. We’re happy to advise.