Меню ↓

Ссылки по теме

Ускоряем загрузку сайта

Итак, вы сделали сайт..  замечательно! ..но заметили что навешав на него различные UI библиотеки (jQuery и т.д.) вся эта красота начинает тупить и долго грузиться? :)

 

Не удивительно.. ведь чтобы со всеми этими наворотами сайт прогрузился в браузере он (браузер) делает туеву-хучу GET запросов серверу. Сегодня все нормальные браузеры поддерживают серверные gzip архивы, например html-страница с контентом, стилями и графикой весит 16 кб, а если сервер её сожмет gzip'ом - то она будет весить уже приблизительно 4 кб! Есть разница? :)

 

Опустим бла бла бла и сразу к делу.

 

1. Вы уже оптимизировали css, js, png|gif|jpg (если нет то бегом сюда - www.duris.ru или на аналогичный сервис)

2. На вашем сервере должен быть включен модуль mod_gzip.c

3. Добавляем в index.php всего одну сроку (в начало кода!)

<?PHP
ob_start( 'ob_gzhandler' ); //gzip


4. Но лучше и проще, это - открываем .htaccess и добавляем в него такой код:

<ifModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 3600 seconds"
    ExpiresByType image/gif "access plus 2592000 seconds"
    ExpiresByType image/jpeg "access plus 2592000 seconds"
    ExpiresByType image/png "access plus 2592000 seconds"
    ExpiresByType text/css "access plus 604800 seconds"
    ExpiresByType text/javascript "access plus 604800 seconds"
    ExpiresByType application/x-javascript "access plus 604800 seconds"
</ifModule>

<ifModule mod_headers.c>
    <filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
        Header set Cache-Control "max-age=2592000, public"
    </filesMatch>
    <filesMatch ".(css|js)$">
        Header set Cache-Control "max-age=604800, public"
    </filesMatch>
    <filesMatch ".(html|txt)$">
        Header set Cache-Control "max-age=172800, public, must-revalidate"
    </filesMatch>
</ifModule>

<ifModule mod_headers.c>
    <filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
        Header unset ETag
        FileETag None
    </filesMatch>
</ifModule>

<IfModule mod_deflate.c>
    <FilesMatch ".(css|js|x?html?|php|xml)$">
        SetOutputFilter DEFLATE
    </FilesMatch>
</IfModule>

<ifModule mod_gzip.c>
    mod_gzip_on Yes
    mod_gzip_dechunk Yes
    mod_gzip_item_include file .(css|js|x?html?|php|xml)$
    mod_gzip_item_include handler ^cgi-script$
    mod_gzip_item_include mime ^text/.*
    mod_gzip_item_include mime ^application/x-javascript.*
    mod_gzip_item_exclude mime ^image/.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

 

4. Проверяем серверные заголовки в панели GTmetrix и скачем от радости! :)