Redução de CSS para carregamento mais rápido / menos largura de banda

9

A compactação de CSS / Remoção de regras não utilizadas para uma página específica vale a pena em termos de largura de banda ou podemos confiar no cache (cabeçalhos / última modificação) para remover essa sobrecarga na natureza?

Felicidades

Além disso, boa sorte com todos beta!

Aiden Bell
fonte

Respostas:

8

Reduzir o tamanho dos arquivos certamente reduzirá a largura de banda e o tempo de carregamento da página. Na primeira vez que um usuário acessa seu site, ele não tem nada em cache e, para a maioria dos sites, os visitantes pela primeira vez representam a maior parte do tráfego.

Além disso, verifique se a compactação gzip está ativada. Isso fará uma quantia drástica para reduzir a largura de banda.

Matthew Shanley
fonte
11
O problema é que, se você está reduzindo o tamanho do arquivo em uma página, transferindo-o para CSS exclusivo ou incorporado em outras páginas, acaba de negar os benefícios do cache. É melhor dar um clique na frente para proporcionar aos usuários uma ótima experiência nas páginas 2 a X. Portanto, torne seu css o mais limpo possível. Combine múltiplos em um. Mas não crie um código redundante e exclusivo para (levemente) diminuir um hit único.
bpeterson76
2

Eu não acho que é um ou outro. A redução do tamanho do arquivo ajudará o usuário na primeira vez em que acessar o arquivo. O armazenamento em cache ajudará em sua segunda visita.

jessegavin
fonte
1

A qualquer momento, você pode remover coisas e melhorar a velocidade do carregamento, mesmo que seja insignificante. Além disso, é uma boa prática remover o material que você não está usando para maior clareza do código.

Jason
fonte
Como exemplo, um arquivo theme.css principal, em que cada página usa apenas cerca de 30% das regras ... mas a mistura tornaria a divisão da correção um pesadelo.
Aiden Sino
0

Eu suspeitaria que depende da dinâmica do seu site. Se você tem muitos visitantes repetidos e não muitos novos, provavelmente o cache é suficiente. Se, no entanto, você tiver muitos visitantes novos (e principalmente se quiser causar uma boa primeira impressão), acho que você deve reduzir o tamanho do seu CSS o máximo possível.

Travis Northcutt
fonte
0

A remoção de CSS não utilizado obviamente melhorará o tempo de carregamento em uma página, mas você também precisará equilibrar isso com o efeito em várias páginas. Você também deseja evitar muitas solicitações HTTP.

Lembre-se, gzipping CSS é de longe a maneira mais eficaz de acelerar o carregamento de CSS. A diferença entre um arquivo com tudo e outro com alguns blocos desnecessários removidos é insignificante após o gzip.

DisgruntledGoat
fonte
0

Mesmo que o desempenho seja reduzido com a remoção de CSS não utilizado por página (e estou bastante convencido de que o cache superaria isso, a menos que você esteja falando de páginas radicalmente diferentes), é necessário levar em consideração o tempo de manutenção necessário para isso . A menos que você seja o Google, provavelmente não vale a pena gastar vários dias ao longo da vida do site para economizar cada usuário um décimo de segundo.

Muito disso tem a ver com o perfil de uso do seu site. Se você é realmente exigente, o armazenamento em cache ganha as mãos. No entanto, se você tem uma alta taxa de rejeição, pode ser melhor usar CSS otimizado (ou gastar o tempo gasto na otimização de CSS, tornando o site mais rígido!).

Uma abordagem que você pode adotar se tiver uma marcação específica da página é ter um arquivo CSS genérico em todo o site e incorporar regras por página no cabeçalho do documento HTML.

JasonBirch
fonte
0

Você pode obter o melhor dos dois mundos, reduzir o arquivo no tempo de execução e compactar com gzip a saída.
O arquivo de origem ainda fica legível quando você precisa editá-lo, mas é compactado quando você o baixa

primeiro: use o htaccess para dizer ao apache para tratar todos os arquivos css como scripts php e para compactar a saída quando do tipo text / css

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

segundo: use o buffer de saída com uma função de retorno de chamada para reduzir o código css antes do início do download, também defina o tempo de expiração para que o arquivo seja armazenado em cache

no seu arquivo 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

Terceiro: lucro?

O Desintegrador
fonte