Uno dei file più importanti in WordPress è il file wp-config.php. Questo file si trova nella root di WordPress e contiene i dettagli di configurazione di base del sito web, come le informazioni di connessione al database e la visualizzazione degli errori.
Tuttavia, questo file ci permetterà anche di aggiungere una vasta gamma di parametri e variabili relative alla sicurezza del sito, alla modifica dei contenuti, alle prestazioni, ecc.
Il file wp-config.php predefinito
Quando scarichiamo i file di WordPress dal sito ufficiale e iniziamo il processo di installazione, vedremo che la prima cosa che ci viene richiesta sono i dati di connessione al database e il prefisso della tabella.
Tutte queste informazioni che inseriamo saranno memorizzate nel nostro file wp-config.php nel modo seguente in modo che WordPress possa funzionare correttamente.
/** Il nome del database per WordPress */
define( ‘DB_NAME’, ‘wordpress’ );
/** Nome utente del database MySQL */
define( ‘DB_USER’, ‘nombre_de_usuario’ );
/** Password del database MySQL */
define( ‘DB_PASSWORD’, ‘contraseña’ );
/** Hostname MySQL */
define( ‘DB_HOST’, ‘localhost’ );
/** Set di caratteri del database da usare nella creazione delle tabelle del database. */
define( ‘DB_CHARSET’, ‘utf8’ );
/** Il tipo di ordinamento del database. Non cambiarlo se sei in dubbio. */
define( ‘DB_COLLATE’, ” );
/** Chiavi e sali unici per l’autenticazione.
define( ‘AUTH_KEY’, ‘metti qui la tua frase unica’ );
define( ‘SECURE_AUTH_KEY’, ‘metti qui la tua frase unica’ );
define( ‘LOGGED_IN_KEY’, ‘metti qui la tua frase unica’ );
define( ‘NONCE_KEY’, ‘metti qui la tua frase unica’ );
define( ‘AUTH_SALT’, ‘metti qui la tua frase unica’ );
define( ‘SECURE_AUTH_SALT’, ‘metti qui la tua frase unica’ );
define( ‘LOGGED_IN_SALT’, ‘inserite qui la vostra frase unica’ );
define( ‘NONCE_SALT’, ‘mettete qui la vostra frase unica’ );
/** Prefisso della tabella del database di WordPress.
$table_prefix = ‘wp_’;
/** Per gli sviluppatori: Modalità di debug di WordPress.
define( ‘WP_DEBUG’, false );
/* Aggiungi qualsiasi valore personalizzato tra questa linea e la linea “stop editing”. */
/* Questo è tutto, stop alle modifiche! Buona pubblicazione. */
Come puoi vedere, WordPress, ha aggiunto un po’ di informazioni a più persone in questo documento, andiamo a spiegare perché servono tutte queste informazioni.
Configurazione di MySQL in WordPress
Questi dati sono inseriti al momento dell’installazione di WordPress, tuttavia, quando facciamo una migrazione di database dovremo cambiare queste informazioni nel file wp-config.php
- DB_NAME. Indica il database.
- DB_USER. Indica l’utente che si connette al database.
- DB_PASSWORD. Indica la password di accesso al database.
- DB_HOST. Indica il nome del server dove è ospitato il database.
- DB_CHARSET. Indica la codifica dei caratteri. Il più comune è UTF8.
Chiavi di autenticazione SALT
Queste chiavi sono utilizzate per proteggere le sessioni e i cookie di WordPress e sono generate automaticamente quando WordPress viene installato.
È uno degli aspetti più basilari della sicurezza del sito e dovrà essere cambiato solo in caso di violazione della sicurezza (malware, phishing, furto di dati, ecc.).
Se avete bisogno di nuove chiavi, l’API di WordPress vi fornisce un generatore casuale a questo URL, ogni volta che visitate o ricaricate l’URL avrete nuove chiavi che potete aggiungere al vostro sito.
Prefisso del database di WordPress
Un prefisso di tabella diverso da quello predefinito “wp_” aumenterà la sicurezza del tuo WordPress, perché gli attaccanti avranno più difficoltà a trovare le tue tabelle WordPress. È necessario inserire il prefisso che vogliamo durante l’installazione del sito, una volta installato è difficile cambiarlo e far sì che WordPress continui a funzionare normalmente.
Un’altra funzione del prefisso è la possibilità di avere due o più WordPress in esecuzione sullo stesso database, purché abbiano prefissi diversi. Tuttavia, questa non è una soluzione ottimale per le prestazioni ed è consigliabile separare le installazioni su diversi database.
Modalità di debug e personalizzazione di WordPress
Questa modalità è utilizzata principalmente negli ambienti di sviluppo di WordPress, per trovare errori nel codice, nei modelli, nei plugin, ecc,
Per attivarlo dovremmo semplicemente cambiare la parola false con true. Ricorda di avere questa opzione disabilitata negli ambienti di produzione per evitare di mostrare ai tuoi visitatori informazioni su percorsi o problemi del sito.
define('WP_DEBUG', true);
Inoltre, la modalità di debug permette di personalizzare ulteriormente il tipo di errori che vogliamo vedere e come vogliamo memorizzarli.
DEBUG per JavaScript e CSS: define( ‘SCRIPT_DEBUG’, true );
Memorizzare i messaggi DEBUG in un file di log TXT: define( ‘WP_DEBUG_LOG’, true );
Visualizzare tutti gli errori della modalità DEBUG sullo schermo: define( ‘WP_DEBUG_DISPLAY’, true );
Ricordate che per far funzionare le opzioni di personalizzazione dovete avere la modalità debug attiva.
Parametri avanzati di wp-config.php
I seguenti parametri non sono inclusi in wp-config.php e ci aiuteranno a personalizzare il nostro WordPress, oltre a migliorarne la sicurezza e le prestazioni.
Aggiornamenti
In questa sezione possiamo vedere alcune delle opzioni più utilizzate quando vogliamo gestire il comportamento degli aggiornamenti.
Configurazione FTP
Quando c’è un problema con i permessi del sito, per esigenze specifiche di un plugin o in caso di alcuni aggiornamenti, WordPress può avere bisogno dei dati di connessione FTP per gestire i file del sito. Questi dati possono essere definiti come segue:
define(‘FTP_USER’, ‘userFTP’);
define(‘FTP_PASS’, ‘passwordFTP’);
define(‘FTP_HOST’, ‘server’);
Questi tre dati di base sono sufficienti, ma si possono aggiungere ulteriori specifiche per la gestione dei file, come le seguenti.
define(‘FS_METHOD’, ‘ftpext’);
define(‘FTP_BASE’, ‘/home/nomedominio/www’);
define(‘FTP_SSL’, false);
Nella maggior parte dei casi non sarà necessario aggiungere queste informazioni se i permessi di WordPress sono corretti. Inoltre, se un plugin richiede dati di accesso, di solito chiede i dati di connessione FTP nelle opzioni di configurazione del plugin piuttosto che aggiungerli manualmente.
Aggiornamenti automatici del nucleo di WordPress
Questo parametro ci permette di configurare il comportamento di WordPress quando sono disponibili nuove versioni.
Per abilitare automaticamente tutti gli aggiornamenti del nucleo useremo questa linea.
define( ‘WP_AUTO_UPDATE_CORE’, true );
Se invece non vogliamo che si aggiorni automaticamente, possiamo disabilitarli.
define( ‘WP_AUTO_UPDATE_CORE’, false );
E se vogliamo che si aggiorni automaticamente solo quando vengono rilasciate versioni minori, possiamo usare questa linea
define( ‘WP_AUTO_UPDATE_CORE’, ‘minor’ );
La nostra raccomandazione è di tenere sempre aggiornato WordPress all’ultima versione disponibile. Tuttavia, gli aggiornamenti automatici possono causare problemi con i plugin o i modelli del sito. È meglio aggiornare manualmente, avendo sempre un backup a portata di mano. Questo sistema di aggiornamento automatico è destinato ai blog personali o ai sistemi non critici.
Disattivare gli aggiornamenti automatici
Per impostazione predefinita WordPress, sia il suo nucleo che i plugin, i template e altre funzioni vengono automaticamente aggiornati quando vengono rilasciate versioni minori, questo di solito non è un problema, in quanto gli aggiornamenti minori di solito risolvono bug o problemi di sicurezza.
Tuttavia, potremmo aver bisogno di WordPress per funzionare con versioni molto specifiche e non essere aggiornato, per questo possiamo aggiungere la seguente linea nel wp-config.php
define( ‘AUTOMATIC_UPDATER_DISABLED’, true );
Modifica del contenuto di WordPress
Queste opzioni hanno lo scopo di darti un maggiore controllo sui tuoi strumenti di editing di WordPress.
Limitare o disabilitare le revisioni
Per risparmiare un po’ di spazio nel database puoi limitare le revisioni che WordPress visualizzerà per ciascuno dei tuoi post o pagine
define( ‘WP_POST_REVISIONS’, 5 );
Con questo cambiamento saranno mostrate solo le ultime 5 revisioni.
Se preferisci che i post non abbiano revisioni puoi mettere la seguente linea
define( ‘WP_POST_REVISIONS’, false );
Non è consigliabile disabilitare le revisioni, specialmente in un ambiente dove più persone stanno lavorando sul contenuto del sito, con le revisioni disabilitate sarà più difficile sapere chi ha fatto le modifiche.
Cambiare il tempo di salvataggio automatico
Per impostazione predefinita, WordPress salva le modifiche all’editor ogni minuto, questo comportamento può essere modificato con la seguente linea.
define( ‘AUTOSAVE_INTERVAL’, 60);
Il valore dato sarebbe in secondi, e può essere molto utile cambiarlo o aumentarlo quando ci sono più utenti che lavorano sul contenuto e vogliamo evitare richieste eccessive.
Sovrascrivere le immagini dopo averle modificate in WordPress
Quando si modificano le immagini all’interno di WordPress vedremo che viene sempre creato un nuovo file con le modifiche apportate, questo comportamento può essere cambiato utilizzando la seguente linea
define( ‘IMAGE_EDIT_OVERWRITE’, true );
Svuotare i bidoni ogni tanto
Possiamo definire in giorni quanto spesso vogliamo svuotare i cestini di WordPress, in questo modo evitiamo di avere un eccesso di contenuto accumulato.
define( ‘EMPTY_TRASH_DAYS’, 30 );
Se non volete che i file passino direttamente nel cestino, potete impostare il valore a 0.
Opzioni di sicurezza
Bloccare l’accesso da altri domini o hotlinking
Potete impedire che altre pagine facciano uso del contenuto del vostro sito, generando così un carico extra per il sito web, utilizzando la seguente direttiva.
define( ‘WP_HTTP_BLOCK_EXTERNAL’, true );
Inoltre, insieme alla linea precedente, potete permettere a certi siti di utilizzare il contenuto del vostro sito separandoli con delle virgole.
define( ‘WP_ACCESSIBLE_HOSTS’, ‘ sitepermitted.com, othersitepermitted.com’ );
Impostare i permessi di file e cartelle
Anche se di default i nostri host applicano già permessi sufficientemente restrittivi a file e directory, con questa direttiva si può avere un controllo più completo e personalizzato, il formato che usa è simile al comando chmod di linux.
define( ‘FS_CHMOD_DIR’, ( 0751 & ~ umask() ) );
define( ‘FS_CHMOD_FILE’, ( 0644 & ~ umask() ) );
Con queste righe avremo impostato i permessi 751 per le directory e 644 per i file nel nostro WordPress.
Disabilitare le modifiche a modelli e plugin
Queste direttive sono usate per aumentare la sicurezza del sito ed evitare che se qualcuno potesse accedere l’amministratore del sito possa modificare, installare o cancellare il template o i plugin e anche non permettere l’accesso all’editor di codice.
Questa linea disabilita l’editor di codice.
define( ‘DISALLOW_FILE_MODS’, true );
Questa linea disabilita l’installazione, la modifica o la cancellazione di modelli e plugin.
define( ‘DISALLOW_FILE_EDIT’, true );
Performance
Anche se ci sono molti plugin che gestiscono la maggior parte di queste opzioni, possiamo fare modifiche manuali al nostro file wp-config.php per aumentare le prestazioni o il consumo di memoria.
Concatenare JavaScript nell’area di amministrazione
Questa opzione ci permette di concatenare in un unico file tutto il JavaScript nella parte di amministrazione di WordPress. Questo permetterà un’esecuzione più veloce quando si modifica il sito.
define( ‘CONCATENATE_SCRIPTS’, true );
Comprimere JavaScript
Questa direttiva ci permetterà di comprimere il JavaScript sul nostro sito, ottenendo così un leggero aumento delle prestazioni del sito e riducendo il consumo di memoria.
define( ‘COMPRESS_SCRIPTS’, true );
Comprimere i CSS
Allo stesso modo, possiamo anche comprimere i fogli di stile CSS con questa linea.
define( ‘COMPRESS_CSS’, true );
Forza la compressione GZIP
Possiamo anche forzare la compressione dei contenuti in formato GZIP per ottenere un po’ più di prestazioni usando questa linea.
define( ‘ENFORCE_GZIP’, true );
Abilita la cache
Molti plugin di caching come W3 Total Cache richiedono che advanced-cache.php sia abilitato nel file wp-config.php. La maggior parte aggiunge già automaticamente questa linea.
define( ‘WP_CACHE’, true );
Riparare il database MySQL di WordPress
Nel caso in cui non abbiamo accesso al database possiamo usare il sistema che ha l’analisi e la riparazione del database di WordPress, per questo basta aggiungere questo parametro a wp-config.php.
define( ‘WP_ALLOW_REPAIR’, true );
Questo ci permette di abilitare il sistema, e se vogliamo utilizzare il sistema di analisi e riparazione del database, dovremmo solo mettere il seguente dopo il dominio nella barra del browser:
/wp-admin/maint/repair.php
Vedrete una finestra che vi permetterà di riparare e ottimizzare le tabelle del vostro database.
Disattivare WP-CRON
A volte i compiti programmati di WordPress possono causare problemi di prestazioni, per verificare o escludere che il problema possa essere legato a questi compiti, possiamo disabilitare questa funzione con la seguente direttiva.
define( ‘DISABLE_WP_CRON’, true );
Percorsi e dominio
Con il file wp-config.php di WordPress puoi anche impostare il nome del dominio associato al tuo sito web o abilitare opzioni speciali come il multisito.
Cambia URL e Home
Nel caso di cambiare il nostro nome di dominio, possiamo indicare nel file wp-config.php qual è il nuovo dominio. Questi valori avranno la precedenza su quelli impostati a livello di database.
define( ‘WP_HOME’, ‘https://nuovodominio.com’ );
define( ‘WP_SITEURL’, ‘https://nuovodominio.com’ );
Abilitare WordPress Multisite
Se vuoi gestire diversi blog dallo stesso pannello di amministrazione, WordPress ha un’opzione multisito.
define( ‘WP_ALLOW_MULTISITE’, true );
Una volta aggiunta questa linea, quando accediamo alla parte di amministrazione del nostro sito, avremo i nuovi strumenti per creare e gestire i diversi blog.
File system
Queste opzioni si concentrano sul cambiamento del comportamento di WordPress quando si tratta di memorizzare informazioni.
Cambiare la posizione della cartella dei plugin
Se vogliamo memorizzare i plugin in una directory diversa da quella predefinita, possiamo usare questa linea nel nostro file wp-config.php. Si consiglia di fare queste modifiche prima di iniziare a lavorare con WordPress.
define( ‘WP_PLUGIN_URL’, ‘https://ejemplo.com/midirectorio/de/plugins’ );
Hai solo bisogno di cambiare l’URL in questo esempio al percorso in cui vuoi memorizzare i plugin sul tuo sito.
Cambia la posizione della cartella wp-content
Con questa opzione possiamo cambiare la posizione in cui WordPress memorizzerà la maggior parte del contenuto
define( ‘WP_CONTENT_URL’, ‘https://ejemplo.com/midirectorio/de/contenidos’ );
Cambiare la posizione della cartella dei temi
Possiamo anche cambiare dove i tuoi modelli e temi sono memorizzati con questa opzione.
$theme_root = WP_CONTENT_DIR . ‘/temi’;
Notate che con questa linea stiamo indicando che la directory “misthemes” sarà all’interno della directory wp-content o il luogo dove l’abbiamo definita con l’opzione precedente.
Cambiare la posizione della cartella uploads
Infine, possiamo definire il percorso in cui il contenuto che carichiamo dal gestore dei contenuti di WordPress viene memorizzato con questa direttiva.
define( ‘UPLOADS’, ‘middirectory/uploads’ );
Riepilogo
Come puoi vedere, il file wp-config.php di WordPress ti permette di configurare quasi ogni aspetto del tuo WordPress, tuttavia, ci sono molte altre opzioni che non abbiamo menzionato. Se vuoi indagare ulteriormente, puoi trovare più opzioni in questo articolo sul sito ufficiale di WordPress.