Code.google рдкрд░ рджрд┐рдП рдЧрдП рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗ:
- рд╕рднреА рдЬреЗрдПрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░реЗрдВ
- рд╕рднреА рдкреНрд░рд╛рдкреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ JS рдФрд░ рдПрдХ CSS рдореЗрдВ рдорд┐рд▓рд╛рдПрдВ
- GZIP рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░реЗрдВ, рдЬреЛ рд▓рдЧрднрдЧ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдордХреНрдЦреА рдкрд░ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
- .Htaccess рд▓рд┐рдЦреЗрдВ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ
рдпрд╣ рд╕рдм рддрдм рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рдПрдХ рд╕рд┐рдВрдЧрд▓ рдХрдВрдкреНрд░реАрд╣реЗрдВрд╕рд┐рд╡ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рди рдХрд░реЗрдВрдЧреЗ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рд╕рд╛рдЗрдЯ рдХреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо:
- рдЬреЗрдПрд╕: рдЧрдЬрд╝рд┐рдк 26 698 рдмреА рдореЗрдВ рд╕рдВрдХреБрдЪрд┐рдд, рдЧрдЬрд╝рд┐рдк 95 796 рдмреА рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдкреАрдбрд╝рд┐рдд, рдпрд╣ 120 147 рдмреА рдерд╛
- CSS: gzip 46 049 B рдореЗрдВ рд╕рдВрдХреБрдЪрд┐рдд, рдмрд┐рдирд╛ gzip 160 001 B рдХреЗ рд╕рдВрдкреАрдбрд┐рдд, 281 870 B рдереЗ
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЯреНрд░реИрдлрд┐рдХ рд╕реЗрд╡рд┐рдВрдЧ
329,270 рдмреА рд╣реИред рд▓реЗрдХрд┐рди рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрдкреАрдб рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЕрдм рдпрд╣ 14 рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ 2 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдмрд╣реБрдд рддреЗрдЬ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реНрд╡рдпрдВ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЧрддрд┐рд╢реАрд▓ рдирд╣реАрдВ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЪреВрдВрдХрд┐ рд╕рднреА рд╕рд░реНрд╡рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдВрдкреАрдбрд╝рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред
рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ:
<link rel="stylesheet" type="text/css" href="min/styles_1349888114.cssgz" /> <script src="min/all_1349888114.jsgz" /></script>
рдирд┐рд░реНрджреЗрд╢ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╣реИрдВ:
- Compress.php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ cssmin.php , jsmin.php рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ рдЗрди 3 рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ *
- рд╕рд╛рдЗрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ рдПрдХ compress_timestamp.php рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ рдФрд░ рдЙрд╕ рдкрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ compress.php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рд╕рдХреЗ *
- рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреА рдЬрдбрд╝ рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рдорд┐рдиреА рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ
- рдЕрдкрдиреЗ index.php рдореЗрдВ, рд╣реЗрдбрд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ:
<?php require_once('compress_timestamp.php'); // timestamp , . $compress_stamp=unix_timestamp if (stripos($_SERVER['HTTP_ACCEPT_ENCODING'],'GZIP')!==false) $gz='gz'; else $gz=null; echo '<script src="min/js_schedule_'.$compress_stamp.'.js'.$gz.'" />',PHP_EOL; echo '<link rel="stylesheet" type="text/css" href="min/css_schedule_'.$compress_stamp.'.css'.$gz.'" />',PHP_EOL; ?>
- Compress.php рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЙрдЪрд┐рдд рд╕реНрдерд╛рди рдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ:
<?php file_compress('css_schedule.css',array('./CSS/menu.css', './CSS/ThreeColumnFixed.css', './CSS/sprite.css', './CSS/iCal.css')); file_compress('js_schedule.js',array('./js/all1.js', './js/jquery.js', './js/love_habrahabr.js', './love_4pda.js')); ?>
рдпрд╣ рдЗрди рдЬрд╛рджреБрдИ рдХрд╛рд░реНрдпреЛрдВ (рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреИрдХрд┐рдВрдЧ рдФрд░ рдЗрд╕реЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ) рдХреЗ рд▓рд┐рдП рдерд╛ рдХрд┐ рд╣рдордиреЗ рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЗрдВ GZipped рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ MIN рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреАред рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреБрд░рд╛рдирд╛ рд╣реИ, рддреЛ рд╕рд╛рдорд╛рдиреНрдп JS рдФрд░ CSS рдкреНрд░рд╛рд░реВрдк рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрджрд┐ рдирдпрд╛ рд╣реИ, рддреЛ JSGZ рдФрд░ CSSGZред
- рджреВрд░ рд╕реЗ compress.php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ рдФрд░ рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рдЖрдк рд╣реЛ рдЬрд╛рдПрдЧрд╛
- рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
* рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╛рдЗрдЯ рдХреЗ рд░реВрдЯ рдкрд░ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИрдЕрдм рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рддреЗрдЬреА рд╕реЗ рд▓реЛрдб рд╣реЛрддреА рд╣реИ, рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдЬреЗрдПрд╕ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдХреЛрдб рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред
рдЬрдм рднреА рдЖрдк рд╕рд╛рдЗрдЯ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рд╛рдЗрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ compress.php рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рдЖрдк рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЖрдкрдХреЗ рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдЕрдм рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реАрдПрд╕рдПрд╕ MIN рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИред
рдпрджрд┐ рдЖрдк рд╕рд╛рдЗрдЯ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЧрддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рд░рд▓ рдЙрдкрд╛рдп рд╣реИред рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдиреНрд╣реЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреИрд╢ рдХрд░реЗрдВред рдпрд╣ .htaccess рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╛рдЗрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ рд░рдЦрдХрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType audio/mp3 "access 1 year" ExpiresByType audio/wav "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule> ## EXPIRES CACHING ##
рдЖрдлреНрдЯрд░рд╡рд░реНрдб: рд▓реЗрдЦ рд╢реБрд░реБрдЖрддреА рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рд╕рдм рдХреБрдЫ (рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдЬрдЯрд┐рд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде) рднрд╛рд░реА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рдорджрдж рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ compress.php рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ JS рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ CSS рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдФрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕реНрд░реЛрдд рдкрд░рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛: рдЕрд░реНрди рдмрд░реНрдХрд╣реЙрдл