Daha hızlı yükleme / daha az bant genişliği için CSS azaltma


9

CSS sıkıştırma / Belirli bir sayfa için kullanılmayan kuralları bant genişliği açısından değerli mi yoksa vahşi doğada bu ek yükü kaldırmak için önbelleğe almaya (başlıklar / son değiştirilen) güvenebilir miyiz?

Şerefe

Ayrıca, beta herkes için iyi şanslar!

Yanıtlar:


8

Dosyaların boyutunu azaltmak kesinlikle bant genişliğini azaltacak ve sayfa yükleme süresini kısaltacaktır. Bir kullanıcı sitenize ilk kez ulaştığında önbelleğe alınmış hiçbir şey olmaz ve çoğu site için ilk kez ziyaretçiler trafiğin çoğunluğudur.

Ayrıca, gzip sıkıştırmasını etkinleştirdiğinizden emin olun. Bu, bant genişliğini azaltmak için büyük miktarda olacaktır.


1
Bunun nedeni, bir sayfadaki dosya boyutunu diğer sayfalardaki benzersiz veya katıştırılmış CSS'ye yükleyerek küçültüyorsanız, önbelleğe almanın avantajlarını reddetmiş olursunuz. Kullanıcılarınıza sayfa 2'de harika bir deneyim sunmak için bir kez öne çıkmak en iyisi. X. Yani, css'nizi olabildiğince temiz hale getirin. Katları birleştirin. Ancak, bir kerelik isabetini (hafifçe) azaltmak için gereksiz, benzersiz kod yapmayın.
bpeterson76

2

Ben de öyle düşünmüyorum ya. Dosya boyutunu küçültmek kullanıcıya dosyaya ilk eriştiğinde yardımcı olacaktır. Önbellekleme ikinci ziyaretlerinde yardımcı olacaktır.



1

Herhangi bir şeyi kaldırabildiğinizde, sadece ihmal edilebilir bir şekilde yükleme hızını artıracaksınız. Ayrıca, kod netliği için kullanmadığınız şeyleri de kaldırmak iyi bir uygulamadır.


Örnek olarak, her sayfanın kuralların yalnızca% 30'unu kullandığı büyük bir theme.css dosyası ... ancak karışım, düzeltmeyi bir kabus olarak bölmeyi sağlar.
Aiden Bell

0

Sitenizin dinamiklerine bağlı olduğundan şüphelenirim. Çok sayıda tekrar ziyaretçiniz varsa ve çok fazla yeni ziyaretçiniz yoksa, önbellekleme muhtemelen yeterlidir. Bununla birlikte, çok sayıda yeni ziyaretçiniz varsa (ve özellikle iyi bir ilk izlenim bırakmak istiyorsanız), CSS'nizin boyutunu mümkün olduğunca azaltmanız gerektiğini düşünüyorum.


0

Kullanılmayan bazı CSS'leri kaldırmak, bir sayfadaki yükleme sürelerini iyileştirecektir, ancak bunu birkaç sayfa üzerindeki etkiyle dengelemeniz de gerekir. Ayrıca çok fazla HTTP isteğinden kaçınmak istersiniz.

Unutmayın, CSS'yi gzipping, CSS yüklemesini hızlandırmanın en etkili yoludur. Her şeyi içeren bir dosya ile birkaç gereksiz blok kaldırılmış olan bir dosya arasındaki fark gzip'ten sonra ihmal edilebilir.


0

Kullanılmayan CSS'yi sayfa başına temel alarak performans düşse bile (ve kökten farklı sayfalardan bahsetmedikçe önbelleğe almanın bundan daha ağır basacağına ikna oldum), bunu yapmak için gereken bakım süresini hesaba katmanız gerekir. . Google değilseniz, büyük olasılıkla her kullanıcıyı saniyenin onda birini kurtarmak için sitenin ömrü boyunca birkaç gün harcamaya değmez.

Bunun birçoğu sitenizin kullanım profiliyle ilgilidir. Gerçekten yapışkansanız, önbellek eller aşağı kazanır. Ancak, yüksek bir hemen çıkma oranınız varsa optimize edilmiş CSS ile daha iyi olabilirsiniz (veya sitenizi daha yapışkan hale getirmek için CSS optimizasyonuna harcadığınız zamanı harcayabilirsiniz!).

Sayfaya özgü işaretlemeniz varsa alabileceğiniz yaklaşımlardan biri, site genelinde genel bir CSS dosyasına sahip olmak ve sayfa başına kuralları HTML belgesinin başına yerleştirmektir.


0

Her iki dünyadan en iyisini alabilir, dosyayı yürütme zamanında küçültebilir ve çıktıyı gzip edebilirsiniz.
Kaynak dosya, düzenlemeniz gerektiğinde okunabilir, ancak indirdiğinizde sıkıştırılır

birincisi: apache'ye tüm css dosyalarını php komut dosyaları olarak ele almasını ve text / css yazarken çıktıyı sıkıştırmasını söylemek için htaccess'i kullanın

içinde .htaccess AddHandler php5-cgi .css AddType metin / css .css AddOutputFilterByType Metin / css DEFLATE

ikinci: indirme başlamadan önce css kodunu küçültmek için bir geri arama işleviyle çıktı arabelleğe almayı kullanın, ayrıca dosyanın önbelleğe alınması için zaman aşımı süresini ayarlayın

css dosyanızda

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

Üçüncüsü: kâr?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.