it-swarm.it

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

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!

9
Aiden Bell

Ridurre la dimensione dei file ridurrà sicuramente 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.

8
Matthew Shanley

Ci sono molti più posti potenziali per l'ottimizzazione che avranno un impatto maggiore ...

Se stai cercando rigorosamente un miglioramento delle prestazioni, l'ottimizzazione della fonte CSS è piuttosto bassa nella catena alimentare.

L'innesto in eccesso nella sorgente CSS subirà un colpo minore la prima volta che vengono caricati i fogli di stile. La memorizzazione nella cache dovrebbe occuparsi del problema da allora in poi.

2
Evan Plaice

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.

2
jessegavin

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.

1
Jason

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 è 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?

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
DisgruntledGoat

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 dedicare qualche giorno alla 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 è avere un file CSS generico a livello di sito e incorporare le regole per pagina nell'intestazione del documento HTML.

0
JasonBirch