Το θέμα ταχύτητα στο WordPress είναι μια πολύπλοκη υπόθεση. Οι παράγοντες για να έχετε μια γρήγορη σελίδα είναι πολλοί.

Ένας βασικός είναι ο πάροχος. Αν ο πάροχος είναι αργός τότε τα πράγματα είναι εξαιρετικά δύσκολα. Επιλέξτε το πακέτο φιλοξενίας σε έναν πάροχο ο οποίος μπορεί να παρείχει σταθερή και τάχιστη φιλοξενία.

Μόνο τα απαραίτητα πρόσθετα

Το WordPress έχει μια τεράστια κοινότητα χρηστών οι οποίοι εξελίσσουν χιλιάδες πρόσθετα. Υπάρχουν πολλά θελκτικά πρόσθετα που υπόσχονται πολλά όμορφα πράγματα. Το πρόβλημα ακριβώς ξεκινά εκεί. Υπάρχει ένα περίεργο όριο στο WordPress. Μέχρι περίπου 15 επιλεγμένα πρόσθετα η σελίδα σας λειτουργεί σχετικά καλά. Με περισσότερα αρχίζουν τα προβλήματα.

Μην φοβηθείτε να προσθέσετε κώδικα στο functions.php. Μετά την αναβάθμιση του θέματος που χρησιμοποιείτε ξαναπροσθέστε απλά τον κώδικά. Ακόμα καλύτερα δημιουργήστε ένα custom-functions.php και απλά προσθέστε το. Χρησιμοποιήστε κώδικα για τα απλά πράγματα όχι πρόσθετα. Με τον τρόπο αυτό μείωσα τα πρόσθετα από 25 σε 12.

Πρόσθετα Caching (Total Cache)

Τα μισά άρθρα για βελτίωση της ταχύτητας της σελίδας σας περιλαμβάνουν αυτό το πρόσθετο (Total Cache). Μην το εγκαταστήσετε! Κάνει τα πράγματα ακόμα χειρότερα όσο μεγαλώνει η σελίδα. Η εγκατάστασή σας πλημμυρίζει με προσωρινά αρχεία και σκουπίδια.

Το μόνο που χρησιμοποιώ σε Caching είναι αυτό που προσφέρουν πρόσθετα για Widgets. Πρόσθετα όπως του Hector Cabrera προσφέρουν Caching σε επίπεδο Widget το οποίο μειώνει δραματικά τα Queries στην βάση δεδομένων.

Ένα πρόσθετο που λατρεύω

Τα ιστολόγια συχνά έχουν μεγάλες και όμορφες εικόνες. Το κλειδί είναι να μην περιμένουμε να κατέβουν όλες. Η λύση το Lazy Load. Κατεβάζει μόνο αυτές που πραγματικά βλέπετε. Τις υπόλοιπες τις κατεβάζει στο φόντο. Η αύξηση της ταχύτητας δραματική.

Παιχνίδια με το .htaccess

Μια ρύθμιση που οπωσδήποτε χρειάζεται η σελίδα είναι να πείτε στον περιηγητή να μην κατεβάζει όλη τη σαβούρα κάθε φορά που καλείτε τη σελίδα. Ιδίως για αρχεία που σπάνια αλλάζουν. Προσθέστε λοιπόν στην αρχή του .htaccess τον παρακάτω κώδικα. Δουλεύει μόνο αν προσθέσετε τον κώδικα στην αρχή το τονίζω.

Leverage browser caching

# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"
ExpiresByType image/x-icon "access 1 month"
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType text/css "access 1 hour"
ExpiresByType text/javascript "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>
# END Expire headers

HTML Compression

# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP

Vary: Accept-Encoding header

<IfModule mod_headers.c>
 <FilesMatch "\.(js|css|xml|gz)$">
 Header append Vary: Accept-Encoding
 </FilesMatch>
</IfModule>

Το παραπάνω θέλει μερικές σελίδες ανάλυση. Απλά προσθέστε το. Αν θέλετε περισσότερες πληροφορίες υπάρχει και η Google.

Λίγος κώδικας ακόμα

Remove query strings from static resources

Αφαιρεί τα query strings από «σταθερά» αρχεία. Με τον τρόπο αυτό οι περιηγητές μπορούν και κασάρουν και αυτά.

function _remove_query_strings_1( $src ){ 
 $rqs = explode( '?ver', $src );
 return $rqs[0];
}
 if ( is_admin() ) {
// Remove query strings from static resources disabled in admin
}

 else {
add_filter( 'script_loader_src', '_remove_query_strings_1', 15, 1 );
add_filter( 'style_loader_src', '_remove_query_strings_1', 15, 1 );
}

function _remove_query_strings_2( $src ){
 $rqs = explode( '&ver', $src );
 return $rqs[0];
}
 if ( is_admin() ) {
// Remove query strings from static resources disabled in admin
}

 else {
add_filter( 'script_loader_src', '_remove_query_strings_2', 15, 1 );
add_filter( 'style_loader_src', '_remove_query_strings_2', 15, 1 );
}

Μπορείτε να το προσθέσετε στο functions.php του θέματός σας ή να κατεβάσετε το πρόσθετο με τον ίδιο τίτλο.

Αυτά για αρχή…

speed2