Position: Home > News

Archiv für Oktober 2015


Technische Website-Optimierungen

11. Oktober 2015 - 19:08 Uhr

Heute habe ich einige interne Optimierungen vorgenommen. Da ich dazu erheblichen Recherche-Aufwand benötigte, will ich die Ergebnisse hier kurz zusammenfassen.

  1. Zeichensatz serverseitig definieren
    Dies beschleunigt bei einigen Browsern die Darstellung und sollte aber in der Website mit dem entsprechenden Parameter im Head-Bereich (also mit <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >) kombiniert werden.
    Dazu in der .htaccess-Datei einfügen:
     AddDefaultCharset UTF-8

     

  2. MIME-Typen für neue Webfonts einfügen
    Für die Verwendung von Webfonts z.B. von Google oder Fontsquirrel sollte man die entsprechenden MIME-Typen in der Serverkonfiguration nachtragen – vor allem, wenn man anschließend diese Webfonts auch in die komprimierte Übertragung der Daten vom Server an den Browser einschließen will.
    Dazu in der .htaccess-Datei einfügen:
    <IfModule mod_mime.c>
     AddEncoding gzip .gz
     AddType application/vnd.ms-fontobject .eot
     AddType application/font-woff2 .woff2
     AddType application/font-woff .woff
     AddType application/font-sfnt .otf .ttf
     AddType image/svg+xml .svg
    </IfModule>

     

  3. Komprimierung serverseitig aktivieren
    Dies ist eine relativ sinnvolle Sache. Heutzutage liegt auch Clientseite in den allermeisten Fällen mehr als genug Rechenleistung vor, um eine on-the-fly-Dekomprimierung von komprimierten Daten (z.B. mittels gzip) zu erledigen. Weiterhin ist es gerade für mobile Geräte und deren oft eingeschränkte Bandbreite sinnvoll, den Traffic stark zu reduzieren. Bei Websites mit Mischdaten (Texte, Bilder) können mit dieser Komprimierung Reduzierungen von mehr als 50% erreicht werden!
    Dazu in der .htaccess-Datei einfügen:
    <ifModule mod_gzip.c>
     mod_gzip_on Yes
     mod_gzip_dechunk Yes
     mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
     mod_gzip_item_include handler ^cgi-script$
     mod_gzip_item_include mime ^text/.*
     mod_gzip_item_include mime ^application/x-javascript.*
     mod_gzip_item_exclude mime ^image/.*
     mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
    </ifModule>
    <IfModule mod_deflate.c>
     SetOutputFilter DEFLATE
     AddOutputFilterByType DEFLATE text/plain
     AddOutputFilterByType DEFLATE text/html
     AddOutputFilterByType DEFLATE text/xml
     AddOutputFilterByType DEFLATE text/css
     AddOutputFilterByType DEFLATE text/javascript
     AddOutputFilterByType DEFLATE application/xml
     AddOutputFilterByType DEFLATE application/xhtml+xml
     AddOutputFilterByType DEFLATE application/rss+xml
     AddOutputFilterByType DEFLATE application/javascript
     AddOutputFilterByType DEFLATE application/x-javascript
     AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
     AddOutputFilterByType DEFLATE application/font-sfnt
     AddOutputFilterByType DEFLATE image/svg+xml
    </IfModule>
    <ifModule !mod_deflate.c>
     AddEncoding x-gzip .gz
     RewriteCond %{HTTP:Accept-encoding} gzip
     RewriteCond %{REQUEST_FILENAME} \.(html|js|css)$
     RewriteCond %{REQUEST_FILENAME}.gz -f
     RewriteRule ^(.*)$ /$1.gz [L]
     <FilesMatch "\.css\.gz$">
     AddType "text/css" .gz
     </FilesMatch>
     <FilesMatch "\.js\.gz$">
     AddType "text/javascript" .gz
     </FilesMatch>
     <FilesMatch "\.html\.gz$">
     AddType "text/html" .gz
     </FilesMatch>
    </ifModule>

     

  4. Browser-Caching serverseitig vordefinieren
    Für die meisten statischen Inhalte wie HTML-Seiten und Bilder ist es sinnvoll, dem Browser mitzuteilen, dass es statische Inhalte sind, die sich nicht sekunden- oder minutenweise ändern. Man erlaubt dem Browser also explizit, die entsprechenden Daten eine Weile im Cache zu halten. Ich habe mich dazu entschieden, für alle Inhalte 1 Woche Zeit zu wählen und nicht zwischen unterschiedlichen Inhaltstypen zu unterscheiden, was ohne Weiteres möglich wäre mit z.B. für JPEG-Bilder ExpiresByType image/jpg "access plus 1 week".
    Dazu in der .htaccess-Datei einfügen:
    FileETag MTime Size
    <IfModule mod_expires.c>
     ExpiresActive On
     ExpiresDefault "access plus 1 week"
    </IfModule>

Kommentare deaktiviert für Technische Website-Optimierungen | Wissenswertes

     

© 2018 Klaus Pforte