Caching & Browser-Cache

Wie setzt man Caching richtig ein, um die Ladezeit zu verkürzen und das Crawl-Budget effizienter zu nutzen?
  1. Was ist Caching?
  2. Cache-Control Header konfigurieren
  3. ETag und Last-Modified
  4. Caching mit .htaccess konfigurieren
  5. Cache-Busting
  6. Caching und SEO

Was ist Caching?

Caching bezeichnet das temporäre Zwischenspeichern von Daten, um zukünftige Anfragen schneller beantworten zu können. Im Web-Kontext gibt es verschiedene Caching-Ebenen:

Cache-Control Header konfigurieren

Der Cache-Control HTTP-Header ist der wichtigste Mechanismus, um das Caching-Verhalten zu steuern. Wichtige Direktiven:

ETag und Last-Modified

ETag und Last-Modified sind HTTP-Header für die Revalidierung gecachter Ressourcen. Sie ermöglichen sogenannte Conditional Requests: Der Browser fragt den Server, ob sich eine Ressource seit dem letzten Abruf geändert hat. Falls nicht, antwortet der Server mit 304 Not Modified.

Caching mit .htaccess konfigurieren

Auf Apache-Webservern können Cache-Header über die .htaccess-Datei konfiguriert werden. Mehr zu .htaccess finden Sie auf der Seite .htaccess und Weiterleitungen.

# Browser-Caching aktivieren
<IfModule mod_expires.c>
  ExpiresActive On

  # Bilder: 1 Jahr cachen
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/gif "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year"

  # CSS und JavaScript: 1 Monat cachen
  ExpiresByType text/css "access plus 1 month"
  ExpiresByType application/javascript "access plus 1 month"

  # Schriftarten: 1 Jahr cachen
  ExpiresByType font/woff2 "access plus 1 year"
  ExpiresByType font/woff "access plus 1 year"

  # HTML: Nicht cachen
  ExpiresByType text/html "access plus 0 seconds"
</IfModule>

# Cache-Control Header setzen
<IfModule mod_headers.c>
  <FilesMatch "\.(jpg|jpeg|png|gif|webp|svg|ico)$">
    Header set Cache-Control "max-age=31536000, public, immutable"
  </FilesMatch>
  <FilesMatch "\.(css|js)$">
    Header set Cache-Control "max-age=2592000, public"
  </FilesMatch>
</IfModule>

Cache-Busting

Langes Caching ist gut für die Performance, aber was passiert, wenn Sie eine CSS-Datei aktualisieren? Cache-Busting löst dieses Problem durch Versionierung der Dateinamen:

Caching und SEO

Caching hat mehrere direkte und indirekte Auswirkungen auf SEO:

Weitere Informationen zur Performance-Optimierung finden Sie auf der Seite PageSpeed Optimierung.