WordPress, tutto sul file wp-config.php
La documentazione ufficiale di WordPress dedica una intera pagina al file wp-config.php. Si tratta del file di configurazione che permette al sito di collegarsi al database. Di regola è sufficiente impostare solamente i parametri per la connessione, le chiavi di sicurezza, il prefisso per le tabelle nel caso di installazioni multiple sullo stesso database, e della localizzazione nella propria lingua, ma è possibile anche impostare altri parametri per personalizzare ulteriormente la propria installazione di WordPress. Vediamo come.
Database
define('DB_NAME', 'nome-database');
define('DB_USER', 'utente-database');
define('DB_PASSWORD', 'password-database');
define('DB_HOST', 'localhost');
/* utilizza delle porte alternative */
define('DB_HOST', 'localhost:1234');
define('DB_HOST', 'mysql.domain.tld:1234');
/* imposta il database in maniera dinamica */
define('DB_HOST', $_ENV{DATABASE_SERVER});
/* set di caratteri e la collation */
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
/* prefisso delle tabelle */
$table_prefix = 'wp_'; //meglio cambiare con una cosa tipo yz548_
/* abilita ottimizzazione automatica */
define('WP_ALLOW_REPAIR', true); // da togliere una volta riparato il database
Sicurezza
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');
Per generare le chiavi, è possibile visitare questa pagina.
Localizzazione
Per utilizzare WordPress nella propria lingua, bisogna caricare nella directory /wp-content/languages un file .mo (per l'italiano il file è it_IT.mo)
La lingua di default è l'inglese.
Directory
spostare la directory wp-content
spostare la directory del plugin
definire il percorso assoluto al tema attivo tramite delle costanti predefinite. Invece di usare bloginfo('template_directory'), è possibile ridurre al minimo le query al database:
siccome queste due impostazioni effettuano comunque una query al database è possibile impostare il valore in maniera statica:
Indirizzi del Blog e del Sito
Anche qui, impostando in maniera statica i valori relativi all'indirizzo del blog, si riducono le query al database
Gestire la Cache
Specificare un Dominio per i Cookie
define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('home').'/'));
define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl').'/'));
define('PLUGINS_COOKIE_PATH', preg_replace('|https?://[^/]+|i', '', WP_PLUGIN_URL));
define('ADMIN_COOKIE_PATH', SITECOOKIEPATH.'wp-admin');
Tabelle Utenti personalizzate
FTP/SSH
define('FS_METHOD', 'ftpext');
/* absolute path to root installation directory */
define('FTP_BASE', '/path/to/wordpress/');
/* absolute path to "wp-content" directory */
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
/* absolute path to "wp-plugins" directory */
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
/* absolute path to your SSH public key */
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
/* absolute path to your SSH private key */
define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa');
/* either your FTP or SSH username */
define('FTP_USER', 'username');
/* password for FTP_USER username */
define('FTP_PASS', 'password');
/* hostname:port combo for your SSH/FTP server */
define('FTP_HOST', 'ftp.example.org:21');
Revisioni degli Articoli, Salvataggio automatico e Cestino
define('WP_POST_REVISIONS', 3);
/* disattiva le revisioni */
define('WP_POST_REVISIONS', false);
/* specifica l'intervallo per il salvataggio automatico (in secondi) */
define('AUTOSAVE_INTERVAL', 160);
/* svuota il cestino dopo 7 giorni */
define('EMPTY_TRASH_DAYS', 7);
/* disattiva il cestino */
// attenzione: WP non chiede conferma
// quando si clicca 'Cancella definitivamente'
define('EMPTY_TRASH_DAYS', 0);
Debug ed Error Log
define('WP_DEBUG', false); // disattiva debug mode (default)
@ini_set('log_errors','On');
@ini_set('display_errors','Off');
/*
Creare un file <code>php_error.log</code>, fare in modo che sia scrivibile e
caricarlo sul proprio server, specificando il percorso assoluto:
*/
@ini_set('error_log','/percorso/assoluto/al/file/php_error.log');
Aumentare la Memoria di PHP
Se le tue pagine danno spesso un errore del tipo "Allowed memory size of xxx bytes exhausted" è necessario aumentare la memoria di PHP.
Se l'hosting lo permette, è possibile farlo tramite queste impostazioni:
Sovrascrivere i permessi dei File
Salvare e mostrare le query al database
inserire nel footer del tema attivo queste righe:
Accesso limitato tramite Proxy o Intranet
Abilita Multi-Site
e poi gestire l'attivazione tramite la pagina di amministrazione "Network" in Strumenti » Network.
Mostra tutte le Costanti definite
Rendere sicuro il file WP-Config
Di default il file wp-config.php si trova nella directory principale di WordPress, ma può essere spostato di modo che altri utenti del sito non possano visualizzarlo. WP può cercare in altre directory, se non trova il file nella root.
E'possibile inoltre limitare l'accesso al file da web tramite il file .htaccess
order allow,deny
deny from all
</Files>
