it-swarm.com.de

W3 Total Cache, CDN und Theme-Dateien

Ich habe kürzlich die style.css-Datei meiner WordPress-Installation aktualisiert. Die Änderung war wirksam: Wenn ich als Administrator angemeldet bin (mein Blog ist so eingestellt, dass dem Administrator niemals eine zwischengespeicherte Version der Website, sondern eine "Live" -Version bereitgestellt wird), kann ich sie sehen.

Mein Blog wird jedoch über ein CDN (mit W3 Total Cache) bereitgestellt. Durch das CDN werden die Änderungen nicht wirksam: Das CDN liefert nicht die geänderten Dateien aus meinem Design. Obwohl ich sie nach der Änderung hochgeladen habe (Dashboard> Leistung> CDN> Themendateien hochladen).

Mein CDN läuft auf AmazonCloud Front. Und Minify ist auf W3 Total Cache deaktiviert.

Die über mein CDN bereitgestellte Designdatei ist eine komprimierte Version: style.css.gzip

Soll ich Objekte aus meinem CDN "bereinigen" oder etwas länger warten (seit mehr als einer Woche)? Und ja, ich leere den Cache des Browsers, den ich verwende, damit die Änderungen wirksam werden. Oder fehlt mir noch etwas?

Vielen Dank,

P.

10
Parneix

Das musst du auch

  1. Versionieren Sie Ihre Dateien (indem Sie sie style.css?ver=xxx.xxx nennen) und stellen Sie sicher, dass in Ihrer CloudFront-Distribution "Forward Query Strings" aktiviert sind. Dies ist die bessere Option, da Sie lediglich die Zahl in der Abfragezeichenfolge erhöhen müssen und CloudFront diese Datei automatisch abruft.

  2. Deaktivieren Sie Ihre Dateien manuell über die AWS-Konsole.

Gehen Sie folgendermaßen vor, um "Forward Query Strings" zu aktivieren:

  • Bearbeiten Sie Ihre Cloudfront-Distribution, indem Sie das Kontrollkästchen links neben dem "i" aktivieren und dann auf die Schaltfläche "Verteilungseinstellungen" in der Symbolleiste klicken
  • Gehen Sie zur Registerkarte Verhalten
  • Wählen Sie die Zeile aus und klicken Sie auf "Bearbeiten".
  • Ändern Sie "Abfragezeichenfolgen weiterleiten" in "Ja"
  • Klicken Sie auf "Ja, bearbeiten"
10
anu

Es gibt einen ganz einfachen "Trick", um das Zwischenspeichern zu verhindern, wenn sich der Dateiinhalt ändert: Fügen Sie eine Versionsnummer hinzu, die auf das Datum/die Uhrzeit der letzten Änderung Ihrer Datei festgelegt ist.

add_action( 'wp_enqueue_scripts', 'wpse61738_non_cached_stylesheet' );
function wpse61738_non_cached_stylesheet()
{
    wp_enqueue_style( 
        'style-main',
        get_stylesheet_directory_uri().'/style.css',
        array(),
        filemtime( get_stylesheet_directory().'/style.css' )
    );
}

Dadurch wird ?ver=0123456789 an den style.css-Referenzlink in Ihrer Kopfzeile angehängt. Die Versionsnummer ändert sich nur, wenn der Inhalt der Dateien geändert wird. Sie haben also eine Lösung, die perfekt mit a) serverseitigem Cache b) Browser-Cache zusammenarbeitet und automatisch aktualisiert wird.

8
kaiser