WordPress ή γενικότερα άλλο PHP site; Πριν από μερικές μέρες σας δείξαμε τα αποτελέσματα των speedtests του iGuRu.gr στο GTMetix. Η βαθμολογία που είδατε είναι αποτέλεσμα σκληρής δουλειάς και πολλών ωρών coding.
Παρακάτω θα περιγράψουμε τα βήματα ελαχιστοποίησης αρχείων του WordPress και γενικότερα κάθε PHP site.
Θα χρειαστούμε το minify framework από το Google Code.
Κατεβάστε το minify framework της Google. Μετά την λήψη θα πρέπει να δούμε που θα το τοποθετήσουμε. Σύμφωνα με την εταιρεία:
Performing HTML, Inline JavaScript and Inline CSS: we can place the minify PHP framework anywhere i.e. inside or outside docroot.
Στη δική μας περίπτωση μπορούμε να το βάλουμε στο iguru.gr/min/ στο / δηλαδή που είναι το λογισμικό του WordPress, αλλά μέσα στο φάκελο min. Το zip συμπεριλαμβάνει ήδη ένα φάκελο min.
Έτσι ανεβάστε με ftp από το αρχείο minify-<version>.zip που κατεβάσατε το φάκελλο min στο σημείο /. Στη δικό μας παράδειγμα, όπως προαναφέραμε είναι στο iguru.gr/min
Η λειτουργία Minify PHP function iguru_minify_html είναι ικανή για ελαχιστοποίηση (minifying) HTML, να κάνει inline JavaScript, και inline στα CSS χρησιμοποιώντας το minify PHP framework.
Παρακάτω θα πρέπει να αλλάξετε το σημείο που έχετε βάλει το script
function iguru_minify_html ($buffer) { if (is_user_logged_in()) { $buffer .= "<!-- User is loggedin, compression is not applied. -->"; return $buffer; // for loggedin users minify is not required } else { $initial = strlen($buffer); $minify_lib_path = '/srv/www/iguru.gr/min'; // χρησιμοποιήστε το δικό σας path, που βάλατε το minify framework if (!class_exists('Minify_HTML')) { // Line no. 10 & 11 is only applicable to minify v2.1.7 require("$minify_lib_path/lib/Minify/Loader.php"); Minify_Loader::register(); require_once("$minify_lib_path/lib/Minify/HTML.php"); ini_set('include_path', ini_get('include_path').":$minify_lib_path/lib"); require_once("$minify_lib_path/lib/Minify/CSS.php"); require_once("$minify_lib_path/lib/JSMin.php"); } // Calling minify function with HTML content $buffer = Minify_HTML::minify($buffer, array('cssMinifier' => array('Minify_CSS', 'minify'), 'jsMinifier' => array('JSMin', 'minify'))); $final = strlen($buffer); $savings = round((($initial-$final)/$initial*100), 3); $buffer .= "<!-- Uncompressed size: $initial bytes; Compressed size: $final bytes; $savings% savings -->"; return $buffer; } }
Και τώρα μπορούμε να προχωρήσουμε, χρησιμοποιώντας την παραπάνω minify λειτουργία στο WordPress ή οποιαδήποτε εφαρμογή PHP.
Τοποθετήστε το παραπάνω function μέσα στο functions.php και είστε έτοιμοι.
Μπορείτε να δοκιμάσετε τη σελίδα σας στο GTMetix για να δείτε τα αποτελέσματα.
Να αναφέρουμε ότι για σωστότερα και καλύτερα αποτελέσματα θα πρέπει να βρείτε κάποιον ειδικό. Το iGuRu.gr δεν αναλαμβάνει service σε περίπτωση που κάτι δεν πάει καλά με τον παραπάνω κώδικα.
Χρησιμοποιήστε τον με δική σας ευθύνη.