Как да увеличим коефициента си YSlow
YSlow анализира уеб-страници и ви казва какво е положението им, спрямо правилата за добрата производителност на сайтовете дефинирани от Yahoo. Колкото по-висок е коефициента, толкова по-бързо се зарежда сайта ви. Днес стартирах от YSlow 37, a сега съм на 90. Ето няколко трика:
Анализът става на базата на няколко критерия, който няма да изреждам, но вие веднага ще видите, след като си инсталирате разширението с което да видите вашия показател, ако вече го нямате.
1. Как да добавим Expires header
Във .htacess файла на сайта сложете следния код:
ExpiresActive On
ExpiresByType text/html "A7200"
ExpiresByType text/javascript "A604800"
ExpiresByType text/css "A604800"
ExpiresByType image/x-icon "A31536000"
ExpiresByType image/gif "A604800"
ExpiresByType image/jpg "A604800"
ExpiresByType image/jpeg "A604800"
ExpiresByType image/png "A604800"
Header set Cache-Control "must-revalidate"
2. Как да се справим с Etags
Пак в .htaccess сложете следното:
FileETag none
3. Как да компресираме .css файловете.
Отворете файла и в началото му сложете следното парче код:
<?php
ob_start ("ob_gzhandler");
header("Content-type: text/css; charset: UTF-8");
header("Cache-Control: must-revalidate");
$offset = 60 * 60 ;
$ExpStr = "Expires: " .
gmdate("D, d M Y H:i:s",
time() + $offset) . " GMT";
header($ExpStr);
?>
След което запишете .css файла, като .php файл и използвайте него вместо .css
Как да видя моя статус?
За да можете да видите вашия YSlow коефициент, трябва да имате Firefox и инсталирани разширенията Firebug и YSlow.
След като ги инсталирате, ще можете да проверите за колко време се зарежда страницата ви и как да подобрите нейната производителност, за да се зарежда по-бързо. Аз успях да сваля от 4 секунди на 0.9 секунди с горните мерки и със съветите на самото разширение.



Полезничко, мерси. За компресирането на CSS файловете върши работа още и най-обикновен компресор, прави се еднократно и наистина работи. Примери за няколко CSS компресора тук: http://3dwebdesign.org/component/option,com_weblinks/catid,26/Itemid,55/
Много други неща вършат също работа, като някои от тях пише тук: 14 правила за бързо зареждащи се файлове: http://3dwebdesign.org/component/option,com_weblinks/catid,15/Itemid,55/
YSlow е най-ценен при по-тежки javascript приложения.
При изпълнението на JS код браузърите правят много голям компромис към стриктността на кода. Това създава много лоши навици у разработчиците и съответно всички свикват да пишат гаден код, защото все пак той работи. Само дето работи бавно.
Най-невероятното е, че наистина работи доста по-добре от кеша на CMS-ите, въпреки че при мен е включен на всички сайтове. Какво мислиш обаче за сайтове подобни на http://3rdnews.info/ , които се обновяват на доста по-малко от стойността цитирана от тебе – text/html „A7200″ – 20 min x60 sec = 7200.
Ще тествам със стойност 5 минути – 300, тъй като на практика на всеки 5 минути на сайта влизат 2 до 10 новини. Няма да е зле да кажеш мнението си и за идеята:
ExpiresByType text/php „стойност“
Употребата на „ExpiresByType text/php “стойност”“ е абсолютно нелогично, освен ако не използваш разширението .php вместо .html ;)
Разбирам, че искаш да рекламираш сайта си – все пак си обещал на посетителите си астрономически растеж този месец, но нека уважаваме труда на всички и даваме линкове към истинския източник;) Конкретно за css компресорите имам предвид.
Богомиле, има един, според мен, много по-добър начин за автоматично компресиране на css файловете. Пак се използва htaccess, но и mod_rewrite и един много просто скрипт. Обещавам тези дни да седна и да го публикувам в четлив вариант. Само ще спомена, че удобството му се крие в това, че не е нужно да се променят разширението или каквото и да е по самите css файлове.
Много неприятно, че няма опция за редакция на постовете.
След втори прочит забелязах, че в предния ми пост е останал едно неприятно неудоточнение: критиката за поставянето на линкове е към „уеб дизайн“.
[...] малко четах в блога на Богомил темата за оптимизация за YSlow. Общо взето повечето от тези неща ги използвам и [...]
Марто, толкова са критичен все едно сме ти конкуренция… все пак допринасяме и ние мъничко за популяризирането на сайта ти. Да призная не съм си правил такива експерименти с преименуването, затова ми е интересно мнението на Бого, а вече и твоето. За компресорите съм дал линк към „папката“, защото там са няколко. С това не искам да си популяризирам сайта, в момента се популяризира друг. Ако си спомняш, когато говорихме беше на 200 посетители дневно, а беше скоро. Предложението ми за сътрудничество е в сила, то си пише и на сайта – приемат се предложения.
Бого, съжалявам за офтопика.
Може би не е мястото да коментираме линкове и посещения тук – аз направих грешката, че започнах и аз спирам.
Виждам, че Бого е пуснал линка към поста ми за оптимизацията за YSlow с htaccess и mod_rewrite в блога ми. Надявам се да е полезна!
Яко, много тарикатско решение, мерси!
Вкарах в .htaccess нещата, които Бого сподели и компресирах .css-a, определено се усеща разлика. Иначе на точки слабо 54 макс.
@velqn: Май не ти работи .htacess, защото не си личи да има промяна :)
Хм, след като си оптимизирах страницата започна да не се обновява в браузера по подразбиране, всеки път трябва да се припомпвам на ctrl+F5.
Имате ли подобни наблюдения?
Бого: аз имам само ftp достъп до cult.bg и не мога сам да си редактирам .htaccess-a, сложно е… най-вероятно ще се откажа :(
Браво Бого! Евала. Сърце не ми даваше да ти направя забележка ама ти се сети. Хубаво е че даваш пояснения така като за начинаещи. За експайърс може да ползваш следният формат който специално на мен ми е по удобен и по юзер френдли:
ExpiresByType image/gif „access plus 10 years“
А тоя мръсен трик за гзип през пхп…. по добре без него че генерира по голямо натоварване и повече грешки в лога (личен опит). Най добре мод гзип към апачето. А освен Егат – ноне ти препоръчвам -“Header unset ETag“, аз ползвам и ънсет за ласт модифайд също но то не е задължително.
ох ама съм и аз – да се поправя – А освен „FileEtag none“, ти препоръчвам ”Header unset ETag”, аз ползвам и ънсет за ласт модифайд също, но то не е задължително.
Извинявай за грешките, ако можеш редактирай поста ми. Малко разсеян днес.
Leave your response!
За Бого
Тук, има повече за мен и за битието ми.
Ако искате да ме ангажирате като лектор или да ме наемете за консултация или проект, вижте как от тук.
Реклама
Стани част от блога
Полезни нещица
TBL Общество
Какъв ти е късмета?
Интересно
Хей, читателю
За какво пиша
Я, интересни неща
Most Commented
Последно от блога