logo

Archive for Wordpress

Leverage Browser Caching e Expires Headers

Tra le varie tecniche per aumentare la velocità di un sito in WordPress, il browser caching è sicuramente una delle semplici da attuare.

Molti dei file statici che sono utilizzati sulla pagine web possono essere salvati sul in locale computer per poi essere richiamate per un successivo accesso con un conseguente risparmio di tempo dal lato cliente che di prestazioni dal lato server.

Fare il leverage del caching del browser significa indicare quanto tempo i browser devono conservare immagini, CSS e JS nella memoria locale, in questo modo si scaricheranno meno dati mentre si naviga sulle pagine.

Per abilitare il Leverage Browser Caching è possibile impostare gli Expires headers tramite l’inserimento di apposite direttive nel file .htaccess. o, in alternativa, utilizzare un plugin dedicato:

## EXPIRES CACHING ##

<IfModule mod_expires.c>

ExpiresActive OnExpiresByType image/jpg “access 1 year”

ExpiresByType image/jpeg “access 1 year”

ExpiresByType image/gif “access 1 year”

ExpiresByType image/png “access 1 year”

ExpiresByType text/css “access 1 month”

ExpiresByType application/pdf “access 1 month”

ExpiresByType application/javascript “access 1 month”

ExpiresByType application/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 ##

 

La compressione gZIP

Tra le varie tecniche per per migliora la performance di un sito web, oltre al Leverage Browser Caching e Expires Headers illustrato nel precedente articolo, si può utilizzare la compressione GZIP che permette di comprime la pagina richiesta con una riduzione delle dimensioni dei file HTML, dei fogli di stile e dei file JavaScrip, riducendone significativamente le dimensioni fino al 70%.

La compressione GZIP è attivata dal lato del server mentre dal lato client il  browser negozia automaticamente la decompressione.

Esistono due funzioni che permettono la compressione gzip per i contenuti: mod_gzip e lmod_deflate, la prima utilizzata solo per la versione 1.3 Apache.

Per abilitare la compressione GZIP per il testo, html, JavaScript, CSS e XML basta aggiungere le seguenti righe all’interno del file .htaccess del sito web:

<IfModule mod_deflate.c>
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/xjavascript
</IfModule>
Una volta modificato e salvato il file .htaccess, potete verificare il livello di compressione raggiunto tramite il sito www.giftofspeed.com.

WordPress: Errori di WPML

Per risolvere i seguenti errori del plugin “WPML” di WordPress:

Warning: explode() expects parameter 2 to be string, array given in /wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php on line 6270

Warning: Invalid argument supplied for foreach() in /wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php on line 6272

Warning: explode() expects parameter 2 to be string, array given in /wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php on line 6275

Sostituite nel  file wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php:

la linea  6270:

$include_arr = explode(‘,’, $q->query_vars[ ‘include’ ]);

con:

$include_arr = explode(‘,’, (string) $q->query_vars[ ‘include’ ]);

la linea  6272:

foreach($include_arr as $include_arr_id)

con:

foreach((array)$include_arr as $include_arr_id)

Come spostare WordPress da una directory

Per spostare un sito realizzato su pittaforma WordPress da una directory  alla root, ad esempio /wordpress o /blog (come nel mio caso),  è sufficiente procedere come di seguito descritto.

Spostiamo tramite un client FTP i files index.php e .htaccess dalla sotto directory alla directory principale, in alternativa i due file possono essere compilati con un editor di testo, salvati, rinominati e trasferiti sul server.

In particolare per il file index.php digitare:

<?php

define(‘WP_USE_THEMES’, true);

require(‘./blog/wp-blog-header.php’);

?>

per il file .htaccess (abilitare la visualizzazione dei file nascosti):

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Fatto questo, dal pannello Impostazioni di WordPress, andiamo su Impostazioni generali ed indichiamo;

– nel campo “Indirizzo WordPress (URL)”: l’indirizzo completo dove effettivamente è installato il blog

(tipo  http://www.iltuosito.it/directory);

– nel campo “Sito Web (URL)” : l’indirizzo del sito

(tipo: http://www.iltuosito.it).

 

impostazioni wordpress

Affinché tutti i link agli articoli del sito, ed in particolare quelli già indicizzati dai motori di ricerca, vengano correttamente visualizzati, è sufficiente impostare in modo corretto il Permalink, per fare questo selezioniamo la “Struttura personalizzata” e facciamo anteporre alla scritta:

/%postname%/

l’indicazione della directory dove è installato WordPress (nel mio caso la directory blog):

/blog/%postname%/

impostazioni wordpress