Riduzione CSS per caricamento più rapido / larghezza di banda inferiore


9

Vale la pena compattare CSS / Rimozione di regole non utilizzate per una pagina specifica in termini di larghezza di banda o possiamo fare affidamento sulla memorizzazione nella cache (intestazioni / ultima modifica) per rimuovere questo sovraccarico in natura?

Saluti

Inoltre, buona fortuna con la beta a tutti!

Risposte:


8

Ridurre la dimensione dei file ridurrà certamente la larghezza di banda e ridurrà il tempo di caricamento della pagina. La prima volta che un utente accede al tuo sito non avrà nulla nella cache e per la maggior parte dei siti i visitatori per la prima volta sono la maggior parte del traffico.

Inoltre, assicurati di avere la compressione gzip abilitata. Ciò comporterà una drastica riduzione della larghezza di banda.


1
Il fatto è che se stai riducendo le dimensioni del file su una pagina scaricandolo su CSS univoco o incorporato in altre pagine, hai appena annullato i vantaggi della memorizzazione nella cache. È meglio prendere un colpo in anticipo per offrire ai tuoi utenti una grande esperienza alle pagine 2- X. Quindi, rendi il tuo CSS il più pulito possibile. Combina multipli in uno. Ma non rendere il codice ridondante e univoco per (leggermente) ridurre un hit una tantum.
bpeterson76,

2

Non penso che sia uno o. Ridurre le dimensioni del file aiuterà l'utente la prima volta che accede al file. La memorizzazione nella cache aiuterà nella loro seconda visita.



1

Ogni volta che puoi rimuovere materiale, migliorerai la velocità di caricamento, anche se solo in modo trascurabile. Inoltre, è buona norma rimuovere anche le cose che non si utilizzano per la chiarezza del codice.


Ad esempio, un importante file theme.css in cui ogni pagina utilizza solo circa il 30% delle regole ... ma il mix renderebbe la divisione della correzione un incubo.
Aiden Bell,

0

Sospetto che dipenda dalle dinamiche del tuo sito. Se hai molti visitatori abituali e non molti nuovi visitatori, la memorizzazione nella cache è probabilmente sufficiente. Se, tuttavia, hai molti nuovi visitatori (e soprattutto se vuoi fare una buona prima impressione), penso che dovresti ridurre il più possibile le dimensioni del tuo CSS.


0

La rimozione di alcuni CSS inutilizzati migliorerà ovviamente i tempi di caricamento su una pagina, ma devi anche bilanciarlo con l'effetto su più pagine. Vuoi anche evitare troppe richieste HTTP.

Ricorda che gzipping CSS è di gran lunga il modo più efficace per accelerare il caricamento CSS. La differenza tra un file con tutto dentro e un altro con alcuni blocchi inutili rimossi è trascurabile dopo gzip.


0

Anche se le prestazioni vengono ridotte rimuovendo i CSS non utilizzati su una base per pagina (e sono abbastanza convinto che la memorizzazione nella cache supererebbe questo valore se non si parla di pagine radicalmente diverse), è necessario tenere conto del tempo di manutenzione richiesto per farlo . A meno che tu non sia Google, probabilmente non vale la pena spendere qualche giorno nella vita del sito per salvare ogni utente un decimo di secondo.

Molto di ciò ha a che fare con il profilo di utilizzo del tuo sito. Se sei davvero appiccicoso, la cache vince a mani basse. Tuttavia, se hai un'alta frequenza di rimbalzo, potresti stare meglio con CSS ottimizzato (o passare il tempo che stai sprecando nell'ottimizzazione CSS per rendere il tuo sito più appiccicoso!).

Un approccio che potresti adottare se hai un markup specifico per la pagina è di avere un file CSS generico a livello di sito e incorporare le regole per pagina nell'intestazione del documento HTML.


0

Puoi ottenere il meglio da entrambi i mondi, minimizzare il file al momento dell'esecuzione e decomprimere l'output.
Il file sorgente rimane leggibile quando è necessario modificarlo, ma viene compresso quando lo si scarica

primo: usa htaccess per dire ad Apache di trattare tutti i file CSS come script php e di comprimere l'output quando di tipo text / css

in .htaccess AddHandler php5-cgi .css AddType text / css .css AddOutputFilterByType DEFLATE text / css

secondo: utilizzare il buffering di output con una funzione di callback per minimizzare il codice CSS prima dell'inizio del download, impostare anche il tempo di scadenza in modo che il file venga memorizzato nella cache

nel tuo file css

<?php
ob_start("trima");
header("Content-type: text/css; charset=utf-8");
ob_start();
date_default_timezone_set('GMT');
$lasmod = "Last-Modified: " . strftime ("%a, %d %b %Y %T GMT", filemtime (__FILE__));
Header($lastmod);
$offset = 3600*24*30*12;
$expire = "Expires: " . date("D, d M Y H:i:s", time() + $offset) . " GMT";
Header($expire);
function trima($str) {
    $str = str_replace(array("\n", "\r", "\t", "\o", "\xOB"), '', $str); // remueve enter tabs y demas
    $str = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $str); // remueve comentarioa
    $str = ereg_replace("[ ]+", " ", $str);                         //remueve espacios multiples
    $rep = array( '{ '=>'{', ' }'=>'}', '; '=>';', ', '=>',', ' {'=>'{', '} '=>'}', ': '=>':', ' ,'=>',', ' ;'=>';' ); // remueve espacios inecesarios
    $str = strtr($str, $rep);
    return $str;
}
?>
css content here

Terzo: profitto?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.