Impostazioni di base di wp-config.php: file & memoria, revisioni — guida per SSH, SFTP e cPanel

Informativa sull'affiliazione v3.1
Informativa sull'affiliazione v3.2 (solo mobile)

Il file wp-config.php è il file di configurazione più importante di un sito WordPress. Contiene le informazioni essenziali di cui WordPress ha bisogno per collegarsi al database e funzionare, e per questo è il cuore del sito.

Ⅰ. Il ruolo di wp-config.php

Questo file contiene le seguenti impostazioni sensibili.

  • Dati di connessione al database
  • ↳ Contiene i dati necessari per collegarsi al database che conserva i contenuti di WordPress, come il nome del database MySQL o MariaDB, il nome utente, la password e l'host.
  • Chiavi di sicurezza e salt
  • ↳ Stringhe uniche e casuali che cifrano le sessioni di login e i cookie degli utenti. Senza queste chiavi le sessioni non possono restare sicure.
  • Altre impostazioni essenziali
  • ↳ Qui sono definite costanti importanti che controllano il funzionamento di WordPress, come il prefisso delle tabelle, l'attivazione o la disattivazione della modalità debug e la disattivazione della modifica dei file.
Il file wp-config.php di WordPress

Per questo wp-config.php diventa il bersaglio numero uno degli attaccanti esterni. Se i permessi sono impostati male o il contenuto viene esposto, l'intero database può trapelare o qualcuno può prendersi i diritti di amministrazione: è una grave vulnerabilità di sicurezza. Il primo passo per rafforzare la sicurezza di WordPress è quindi mettere al sicuro questo file.

1️⃣ Dove si trova wp-config.php

wp-config.php si trova nella cartella principale dell'installazione di WordPress, accanto alle cartelle [wp-admin], [wp-content] e [wp-includes]. Con un hosting cPanel quella cartella è [public_html]; sulla mia VPS Lightsail si trova in [/home/uknew/www/wp-config.php].

Se non vedi il file nella cartella principale, controlla la cartella di un livello superiore. WordPress cerca wp-config.php prima nella cartella di installazione e, se non c'è, lo carica dalla cartella immediatamente sopra.

2️⃣ Come aprire wp-config.php

Nel [File Manager] del pannello del tuo hosting vai nella cartella principale, fai clic con il tasto destro su wp-config.php e scegli [Edit]. Così lo modifichi direttamente nel browser, senza altri programmi.

Con un programma FTP (FileZilla) scarichi il file sul computer, lo modifichi con un editor e lo ricarichi. Conserva una copia dell'originale prima di caricarlo, così puoi tornare indietro subito se qualcosa si rompe.

Sui server come una VPS, a cui ti colleghi via SSH, avvia l'editor [vi] seguito dal percorso del file; [nano] lo apre allo stesso modo.

vi /home/uknew/www/wp-config.php

3️⃣ wp-config-sample.php e la struttura di base

Un pacchetto WordPress appena scaricato non contiene wp-config.php, ma solo [wp-config-sample.php] nello stesso punto. Quando inserisci i dati del database nella schermata di installazione, WordPress crea wp-config.php partendo da questo file; copiarlo e rinominarlo a mano dà lo stesso risultato.

define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );

define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

$table_prefix = 'wp_';

define( 'WP_DEBUG', false );

Nelle quattro righe [DB_NAME], [DB_USER], [DB_PASSWORD] e [DB_HOST] vanno i dati del database forniti dall'hosting. Se anche un solo valore è sbagliato, al posto del sito compare l'errore [Error establishing a database connection].

Le otto righe da [AUTH_KEY] a [NONCE_SALT] cifrano i cookie di login; prendine un set nuovo da [https://api.wordpress.org/secret-key/1.1/salt/] e sostituiscile tutte insieme. Cambiandole, tutti gli utenti collegati vengono disconnessi.

[$table_prefix] è il prefisso aggiunto ai nomi delle tabelle del database, [wp_] di default, e tiene separate più installazioni WordPress nello stesso database. Se imposti [WP_DEBUG] su [true], gli errori PHP compaiono sullo schermo, quindi su un sito live lascialo su [false].

Ⅱ. Impostazioni di base di wp-config.php da applicare dopo l'installazione di WordPress

Tutte le righe di impostazione vanno sopra il commento /* That’s all, stop editing! Happy publishing. */. Nel simulatore qui sotto scegli come collegarti (SSH, cPanel o FTP) e apri wp-config.php: l'impostazione che premi a sinistra salta subito alla sua riga.

⚙️ Impostazioni di wp-config.phpSimulatore delle impostazioni
/* That’s all, stop editing! Happy publishing. */
Tecnicamente questo commento (/* That’s all, stop editing! Happy publishing. */) non svolge nessuna funzione particolare come codice PHP. È solo un commento.
user_a@server: ~
Last login: Mon Oct 5 14:10:02 2026 from 10.0.0.12
[user_a@server ~]$
Ma il team di WordPress l'ha lasciato come un ‘segnale‘ per dire agli utenti: “sotto questo commento c'è il codice essenziale per il funzionamento di WordPress, quindi non toccarlo”.
  1. Costanti di configurazione (define) sopra: La maggior parte delle costanti di configurazione di WordPress (define) devono essere definite /* That’s all, stop editing! Happy publishing. */ subito sopra il commento perché WordPress le carichi correttamente mentre inizializza le impostazioni.
  2. Il caricamento di WordPress inizia sotto: Sotto questo commento ci sono la definizione di [ABSPATH] e il codice [require_once( ABSPATH . ‘wp-settings.php’ );]. Dal momento in cui questo file [wp-settings.php] viene caricato, le funzioni principali di WordPress iniziano davvero a funzionare.
Quindi, se vuoi aggiungere impostazioni extra (per esempio disattivare la modifica dei file con [define(‘DISALLOW_FILE_EDIT’, true);] o impostare il limite di memoria con [define(‘WP_MEMORY_LIMIT’, ‘256M’);]), scrivile prima che venga richiamato il file di caricamento principale di WordPress, cioè subito sopra il commento, così vengono applicate senza errori.
In wp-config-sample.php, subito sopra il commento [stop editing], c'è un altro commento: [Add any custom values between this line and the “stop editing” line.]. Le impostazioni che aggiungi tu vanno tra questi due commenti.
Impostazioni di memoria di WordPress
Nei tutorial su WordPress e nella documentazione ufficiale compare [define(‘WP_MEMORY_LIMIT’, ‘256M’);] da solo nella maggior parte dei casi.
L'impostazione della memoria fissa il massimo di memoria che WordPress può usare in PHP, per evitare errori di memoria esaurita (Fatal error: Allowed memory size exhausted) mentre girano temi o plugin. Insomma, per un sito stabile che non sfora le risorse è una protezione di base.
‘WP_MAX_MEMORY_LIMIT’ è un'impostazione che concede più memoria al backend che al frontend.
WP_MEMORY_LIMIT è il “limite di memoria per i visitatori del sito”,
WP_MAX_MEMORY_LIMIT è il “limite esteso per l'amministrazione e i processi interni”.
Solo impostandoli entrambi hai il pieno controllo della memoria di WordPress.
Se il valore in wp-config.php è più alto di quello impostato nel php.ini o nel pool PHP-FPM del server, vale l'impostazione del server.
Limitare le revisioni
Per stabilire il numero di revisioni non serve installare un plugin a parte. Una sola riga con la costante qui sotto in wp-config.php dà lo stesso risultato, e nel database non restano impostazioni di plugin da eliminare in seguito.
Le revisioni di WordPress continuano ad accumulare le versioni precedenti degli articoli e rallentano il sito. Soprattutto sui siti senza cache, ma anche con la cache mentre lavori nella bacheca — in particolare quando crei contenuti in articoli o pagine —, possono rallentare perfino le pagine dei visitatori.
Per esempio, quando il server usa circa il 50% della CPU totale, le pagine dei visitatori possono rallentare qualunque plugin di cache tu usi.
Per questo disattivi le revisioni o ne limiti il numero.
Se usi WP Rocket o Perfmatters, puoi gestirlo anche dalle loro impostazioni. WP Rocket elimina le revisioni già accumulate con [Revisions] nella scheda [Database], ma non ha un'impostazione per limitarne il numero.
Schermata di pulizia delle revisioni del database in WP Rocket
Perfmatters imposta con [Limit Post Revisions] quante revisioni tenere per articolo e con [Autosave Interval] l'intervallo di salvataggio automatico.
Impostazione del limite di revisioni in Perfmatters
Regolare l'intervallo di salvataggio automatico
Di default WordPress salva automaticamente gli articoli ogni minuto. Puoi aumentarlo, per esempio, dai 60 secondi predefiniti a 5 minuti (300 secondi).
Impostazioni di Heartbeat
Per Heartbeat non esiste una costante da mettere in wp-config.php, quindi non puoi regolarlo da questo file. Se inserisci il codice qui sotto in wp-config.php, viene eseguito prima che WordPress carichi la funzione [add_action] e il sito si blocca con l'errore [Call to undefined function add_action()].
Il ‘Heartbeat’ di WordPress è un segnale che controlla se il server e il sito sono ancora collegati. La Heartbeat API usa 
/wp-admin/admin-ajax.php per eseguire chiamate AJAX dal browser. Nella bacheca di WordPress questo file invia una richiesta POST ogni 15 secondi.
Puoi impostarlo perché funzioni solo nelle schermate di scrittura degli articoli, [post.php]·[post-new.php].
WP Rocket: nella scheda [Heartbeat] scegli [Do not limit], [Reduce activity] o [Disable] per il backend, l'editor degli articoli e il frontend.
Schermata delle impostazioni di Heartbeat in WP Rocket
Perfmatters imposta con [Disable Heartbeat] le schermate in cui Heartbeat è consentito e con [Heartbeat Frequency] l'intervallo delle richieste.
Impostazioni di Heartbeat in Perfmatters
Se non usi nessuno dei due plugin, non installarne un altro solo per Heartbeat. I plugin lasciano le impostazioni nel database anche dopo l'eliminazione, quindi inserisci il codice qui sotto nel [functions.php] del tema.
/** Disable Heartbeat everywhere except post editor */
add_action('init', function() {
    global $pagenow;
    if ($pagenow != 'post.php' && $pagenow != 'post-new.php') {
        wp_deregister_script('heartbeat');
    }
}, 1);
Impostazioni globali
Impostazioni globali è il wp-config.php con tutte le impostazioni di questo articolo.
Le due righe della memoria, il limite di 3 revisioni e il salvataggio automatico a 300 secondi sono già, in ordine, sopra il commento [stop editing].
Heartbeat resta fuori dalle impostazioni globali perché in wp-config.php dà errore.
Premi l'icona di copia in alto a destra nella schermata per copiare solo le righe da aggiungere.
Funziona solo nel tuo browser e non modifica nessun file reale. Scegli in alto come collegarti e premi i chip in ordine per aprire wp-config.php: l'impostazione che scegli a sinistra salta alla sua riga. Invece dei chip puoi anche fare clic sul terminale e digitare tu i comandi e i tasti di vi. Il server virtuale contiene solo i file che servono a questo articolo, e le schermate di cPanel e FileZilla sono disegni semplificati di quelle reali.

🔢 FAQ & contenuti consigliati

Se nella riga che hai appena salvato manca una virgoletta o un punto e virgola, PHP non riesce a leggere wp-config.php fino in fondo e il sito non si apre. Ripristina l'originale che avevi salvato prima della modifica, poi ricontrolla solo le righe cambiate.

L'articolo sulla sicurezza di wp-config.php consiglia [600], che permette solo al proprietario di leggere e scrivere il file. Sui server in cui PHP gira con un account diverso dal proprietario del file, con 600 PHP non riesce a leggerlo: dopo la modifica controlla subito che il sito si apra.

Quando lo attivi, WP Rocket aggiunge in cima al file la riga [define( ‘WP_CACHE’, true ); // Added by WP Rocket]; anche nel mio wp-config.php si trova alla riga 2. Solo con questa riga WordPress carica il file di cache [advanced-cache.php].

Se la stessa costante è già definita più in alto nel file, PHP usa il valore definito per primo e per la riga successiva lascia solo l'avviso [Constant WP_MEMORY_LIMIT already defined]. Cerca il nome della costante in tutto il file per trovare eventuali righe aggiunte dall'hosting o da un plugin.

ℹ️ Informativa sull'affiliazione
I contenuti di questo sito includono link di affiliazione. Se un visitatore acquista un prodotto o un servizio tramite uno di questi link, il sito riceve una commissione dal venditore. In questo processo l'importo pagato dall'acquirente (durante le promozioni l'importo scende↓) non aumenta. Prezzi, sconti e disponibilità indicati si riferiscono al momento della stesura e possono differire da quelli reali: prima di acquistare verifica sempre presso il venditore. I prodotti vengono scelti e valutati secondo criteri propri, e le commissioni non influiscono sull'ordine di presentazione né sul contenuto delle valutazioni.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Dimostra di essere umano: 1   +   4   =