Back-up periodici e manuali
Il back-up dell'istallazione è un dovere di chiunque amministri un sito, indipendentemente dal CMS utilizzato. Esso va effettuato periodicamente e prima di ogni aggiornamento, sia di WordPress che delle estensioni, e permette di ripristinare il sito in caso di intrusioni o aggiornamenti non andati a buon fine.
Il back-up può essere effettuato manualmente, creando copie di sicurezza dei file .htaccess
, wp-config.php
, index.php
e dell'intera directory /wp-content
; non è necessario procedere al download dell'intera istallazione. Oltre al download dei file è necessario eseguire un dump delle tabelle e dei dati del database.
Per l'attività di back-up ci si può affidare anche ad uno dei plugin gratuiti o commerciali che permettono di gestire le operazioni dal pannello di amministrazione. Molti di questi effettuano inoltre back-up automatici e inviano i pacchetti compressi su archivi remoti tramite servizi di cloud storage.
Gli aggiornamenti del software
Il software deve essere costantemente monitorato ed aggiornato man mano che vengono pubblicate nuove versioni. WordPress, i temi e i plugin istallati, vengono infatti periodicamente aggiornati con l'aggiunta di nuove funzionalità e correzione di errori.
A partire dalla versione 3.7 WordPress effettua automaticamente gli aggiornamenti delle minor release del core e delle traduzioni. È possibile tramite il file wp-config.php
o attraverso l'uso di specifici filtri decidere se abilitare o meno ogni tipo di aggiornamento. Tramite il file wp-config.php
si possono abilitare tutti gli aggiornamenti automatici:
define('WP_AUTO_UPDATE_CORE', true);
Per controllare in modo preciso gli aggiornamenti automatici la Plugin API mette a disposizione dei filtri, di solito utilizzati all'interno di must-use plugin
, plugin che vengono eseguiti forzatamente senza che l'amministratore abbia la possibilità di disattivarli. Per un approfondimento della Plugin API si rinvia alle nostre guide ai plugin e ai temi.
Il filtro auto_update_{$type}
, dove $type
può essere core
, theme
, plugin
o translation
, permette di attivare gli aggiornamenti stabiliti dal valore di $type
; sostituendo tale valore è possibile abilitare altri tipi di aggiornamenti. Ad esempio il filtro auto_update_core
, invocato da un plugin, attiva tutti gli aggiornamenti automatici del core (dev, minor e major release):
add_filter( 'auto_update_core', '__return_true' );
Cambiando il valore di $type
può essere abilitato l'aggiornamento automatico di temi e plugin:
add_filter( 'auto_update_theme', '__return_true' );
add_filter( 'auto_update_plugin', '__return_true' );
Questi filtri permettono anche di impostare gli aggiornamenti di specifici temi o plugin. È infattipossibile agganciare al filtro una funzione di callback che accetta due argomenti, una variabile booleana e l'elemento da aggiornare:
function auto_update_specific_plugins ( $update, $item ) {
$plugins = array (
'akismet',
'buddypress',
);
if ( in_array( $item->slug, $plugins ) ) {
return true;
} else {
return $update;
}
}
add_filter( 'auto_update_plugin', 'auto_update_specific_plugins', 10, 2 );
Per differenziare i tipi di aggiornamenti è anche possibile specificarli singolarmente:
add_filter( 'allow_dev_auto_core_updates', '__return_true' );
add_filter( 'allow_minor_auto_core_updates', '__return_true' );
add_filter( 'allow_major_auto_core_updates', '__return_true' );
Il primo filtro abilita gli aggiornamenti automatici delle versioni dev, il secondo si occupa delle minor release, il terzo delle major release.
Una precauzione da prendere nel caso in cui si decida di abilitare tutti gli aggiornamenti automatici è quella di personalizzare il messaggio di notifica dell'aggiornamento, forzando WordPress a fornire informazioni sull'esito delle operazioni. Il seguente filtro può essere utilizzato per abilitare o disabilitare l'invio delle email di notifica:
add_filter( 'auto_core_update_send_email', '__return_true' );
Ma può anche essere utilizzato per inviare informazioni dettagliate su un aggiornamento, come mostrato nel seguente codice:
apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result );
Parametro | Descrizione |
---|---|
true |
Valore booleano (true /false ) che stabilisce se inviare o meno l'email. |
$type |
Tipo di email da inviare, può assumere uno dei valori success , fai' , critical . |
$core_update |
Individua l'aggiornamento che si è tentato di effettuare. |
$result |
Esito dell'aggiornamento che in caso di errore sarà un'istanza dell'oggetto WP_Error . |
Non sempre è prudente abilitare gli aggiornamenti automatici di temi e plugin. Se il nome di un tema o un plugin presente nell'istallazione ha un duplicato nel repository potrebbero generarsi errori tali da compromettere l'intera istallazione.