Despre optimizare am scris în anul 2014. Atunci aveam o fixație cu Google PageSpeed Insights și încercam ca punctajul să fie 100/100. Am reușit atunci, însă am înțeles ulterior că viteza contează mai mult. Degeaba ai un blog WordPress cu punctaj maxim, dacă timpul total de încărcare a blogului este mare.
Treaba cu inline css o fi pe placul acelei unelte, însă nu o folosește nimeni. Browserele au învățat că css-ul este o resursă statică și îl memorează în cache. Trebuie doar să le „spui“ să facă asta, adăugând acest cod în fișierul .htaccess:
ExpiresActive On
ExpiresDefault A0
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A29030400
Header append Cache-Control "public"
</FilesMatch>
<FilesMatch "\.(gif|jpg|jpeg|png|swf)$">
ExpiresDefault A604800
Header append Cache-Control "public"
</FilesMatch>
<FilesMatch "\.(xml|txt|html|js|css)$">
ExpiresDefault A300
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
<FilesMatch "\.(php|cgi|pl|htm)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>
Implicit, fișierele blogului tău nu sunt comprimate. Poți activa comprimarea, tot din .htaccess, scriind acest cod:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddType x-font/otf .otf
AddType x-font/ttf .ttf
AddType x-font/eot .eot
AddType x-font/woff .woff
AddType image/x-icon .ico
Pentru partea de cache folosesc modulul WP Fastest Cache. Își face treaba excelent. Nu uita, însă, de acest aspect.
Optimizarea imaginilor
Imaginile de pe acest blog au fost optimizate de alt modul numit WP Smush. Face treabă bună, dar se poate și mai bine. Acum folosesc ShortPixel Image Optimiser, plugin ce comprimă imaginile și mai mult, lăsând cititorii blogului să se bucure de conținut.
Disable REST API (plugin)
Fiecare blog are un API, disponibil la adresa-blogului/wp-json/ (exemplu: vasileruscior.ro/wp-json). Nu sunt informații confidențiale, însă nu văd de ce le-ai lăsa acolo, la îndemâna oricui. Folosesc un plugin (Disable REST API) care ascunde acele informații.
Disable embeds (plugin)
O altă chestie introdusă de pe la WordPress 4.4 încoace și nu o folosesc. Poți îngloba clipuri de pe YouTube în articole și fără acele embed-uri.
Disable emojis (plugin)
Un ultim plugin pe care îl folosesc, plugin ce dezactivează „emoțiile“. Nu ai nevoie de ele, așadar instalează și acest plugin. ?
Alte optimizări poți face, însă trebuie să ai o temă-copil (child), altfel pierzi modificările atunci când actualizezi tema. Dacă nu ai o astfel de temă, îți poți face un plugin propriu și adaugi codurile acolo. Vezi aici ce simplu e să faci un plugin.
Coduri pentru fișierul functions.php (sau plugin propriu):
Cod pentru eliminarea interogărilor de la resursele statice
function remove_cssjs_ver( $src ) {
if( strpos( $src, '?ver=' ) ) $src = remove_query_arg( 'ver', $src );
return $src; }
add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 );
add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 );
Un alt cod, la fel de util:
Anulează calea de acces către devicepx, un script pentru rezoluții 2K
add_action('wp_enqueue_scripts', create_function(null, "wp_dequeue_script('devicepx');"), 20);
Urmează să îți spun cum poți face ca browserele să încarce favicon-ul blogului mai rapid și cum pot fi optimizate fonturile Google, astfel încât să se încarce asincron. Dar asta, altădată.
Malin a zis
Eu prefer WP SuperCache pentru ca pot sa folosesc mod_rewrite si sa las Apache sa se ocupe de cache, lasand astfel ceva mai multe resurse pentru PHP. La WP FastestCache ce nu-mi place e crawlerul de prefetch, in sensul ca desi e bun, mananca o tona de putere de procesare pe siteuri mai mari, dar e OKish pe alea mici.
Vasile Ruscior a zis
De LiteSpeed Cache ce părere ai?