октябрь 2008

Page 39

WORDPRESS

— все вновь прибывшие файлы будут оптимизироваться.

Найдите файл .htaccess в корневой директории установки wordpress и добавьте в конец следующее:

Разумеется, надо оптимизировать графику, используемую в теме, так что вот еще один shell-скрипт, который рекурсивно пройдет по директории, сожмет css, js файлы и оптимизирует jp(e)g/png файлы. На всякий случай перед его использованием не забудьте забэкапиться:

<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \.(?:gif|png)$ no-gzip dont-vary Header append Vary User-Agent env=!dont-vary </IfModule>

for file in `find . -iname «*.jpg» -or -iname «*.jpeg» -or -iname «*.png» -or -iname «*.js» -or -iname «*.css» `;do ext=${file##*.} if [ -n “$ext” ]; then if [ “$ext” = “css” ]; then echo “compressing ${file} as css file with yui compressor” java -jar /opt/yuicompressor/yuicompressor-2.3.5.jar --type css -o “temp_abracadabra_filename.css” $file mv -f temp_abracadabra_filename.css $file; fi if [ “$ext” = “js” ]; then echo “compressing ${file} as js file with yui compressor” java -jar /opt/yuicompressor/yuicompressor-2.3.5.jar --type js -o “temp_abracadabra_filename.js” $file mv -f temp_abracadabra_filename.js $file; fi if [ “$ext” = “jpg” ]; then echo “optimizing ${file} as jpeg file with jpegtran” jpegtran -copy none -optimize -perfect -outfile temp_abracadabra_ filename.jpg $file mv -f temp_abracadabra_filename.jpg $file; fi if [ “$ext” = “jpeg” ]; then echo “optimizing ${file} as jpeg file with jpegtran” jpegtran -copy none -optimize -perfect -outfile temp_abracadabra_ filename.jpeg $file mv -f temp_abracadabra_filename.jpeg $file; fi if [ “$ext” = “png” ]; then echo “optimizing ${file} as png file with pngcrush” pngcrush -rem alla -reduce -brute “$file” temp_abracadabra_filename.png; mv -f temp_abracadabra_filename.png $file; fi fi done;

Используйте меньше dns-lookups. Не выкладывайте картинки, src которых указывает на другой ресурс, лучше загрузите их к себе и пропишите ссылку на автора. Работать будет быстрее.

Сжатие Все современные браузеры поддерживают сжатие, так что можно существенно уменьшить размер отдаваемых файлов (а значит, и время их загрузки) при помощи mod_deflate (для Apache 2.2 для Apache 1.3 надо использовать mod_gzip). Так что включите mod_deflate. Если же вы используете Apache 1.3, ниже приведенный код вам не не нужен, вам поможет статья «mod_gzip — сжатие html страниц 'на лету'» на сайте webo.in.

habradigest #2 • октябрь 2008

Таким способом можно добиться уменьшения js/css/ html файлов на 70-80%, и примерно 10% уменьшения jpeg-файлов, что значительно ускоряет загрузку сайта. Следует, правда, помнить, что использования mod_deflate увеличивает нагрузку на сервер, так как ему нужно сжать файлы перед тем, как отдать их, так что стоит проконтролировать, что использование mod_ deflate не создает чрезмерной нагрузки на сервер.

Кеширование Ну и последнее — для того, чтобы ускорить серфинг по вашему сайта нужно врубить кеширование. Это не ускорит загрузку сайта у пользователя, который первый раз пришел на ваш сайт, но положит все внешние js, css файлы, картинки к нему в кеш, и в следующий раз, когда он будет бродить по вашему сайту, ресурсы будут грузиться не с сервера, а из кеша, что значительно ускорит скорость работы вашего сайта с _точки зрения пользователя_, а также значительно снизит нагрузку на ваш сервер. Помните, что закешированные у пользователя файлы берутся из кеша браузера, поэтому, если вы внесете изменения в файл, скажем, стилей, пользователь, закешировавший style.css, не увидит их. Так что лучше включать кеширование после того, как вы доработали тему. Опять же, добавьте следующие строчки в конец файла .htaccess и не забудьте включить mod_headers и mod_ expires (или хотя бы один из них): # используем mod_expires <IfModule mod_expires.c> ExpiresActive On ExpiresDefault A86400 ExpiresByType image/x-icon A2592000 ExpiresByType application/x-javascript A2592000 ExpiresByType text/css A2592000 ExpiresByType image/gif A604800 ExpiresByType image/png A604800 ExpiresByType image/jpeg A604800 ExpiresByType text/plain A604800 ExpiresByType application/x-shockwave-flash A604800 ExpiresByType video/x-flv A604800 ExpiresByType application/pdf A604800 ExpiresByType text/html A900 </IfModule> # используем mod_header

37


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.