Le fichier wp-config.php dit à WordPress quels sont ses principaux réglages lorsqu’il démarre. Les éléments minimaux sont : la manière d’accéder à la base de données et le chemin d’accès au répertoire contenant WordPress. Mais d’autres éléments sont utiles ou indispensables. 

Avant toute chose, sauvegarder !

Créer une copie de wp-config.php.

Pour vérifier le contenu type de ce fichier, on peut regarder wp-config-sample.php, situé également à la racine du site.

Authentication Unique Keys

Ce sont des clés pour crypter les données stockées dans les cookies des utilisateurs. On peut générer des clés complexes sur cette page créée par WordPress. Par exemple :

define('AUTH_KEY',         'p8V=2ubYkmcR=:PT`vECi5MjS[XQw9of-xcLW=Sa3i|<z[3YA7kf3y{/!;?#|T4-');
define('SECURE_AUTH_KEY',  'U[wr0+XtIkdX_cAiCpzUp^` ,bv?;|Ry`A[#c.Pc9Rm|g/7q^&s_wrb*utQD`hGy');
define('LOGGED_IN_KEY',    'o@$t7p9[Eo-P,UP+3a;Ow,1l|3YJ2vsch|||:<k+W6zvaLe:Zi!VAgEMG!,iIN I');
define('NONCE_KEY',        ':*/m9*56wyJM*Ppnu>+vO%4dsM R(RyCC@jXg4IOyq7 Q!h~0!$#L+fE+1+_ujh:');
define('AUTH_SALT',        'E6T.f:)a5z}ipmS#J i`TO*RnaFC5PanLN)a.iVnRAD#)T2uYQp}6&=c[o-40`E>');
define('SECURE_AUTH_SALT', 'n)22|uzX]} F1.+3#f*iSS0Yv%;p(w_I_~SeK|q|j c|wUD<|cR^d*^moJ+>16&a');
define('LOGGED_IN_SALT',   'bt}~Au:!LC|UA<J^lZ/agT*8n/m-WGCY|aXt,oJRsZ9R[sKckSvX(We$wd2[l&L(');
define('NONCE_SALT',       'u]]WRg-;?F+E_[}Ft6|6yF?L;L!x-f!p|vYaOg| 83{TA6h,~ir|+?}+m Rvw++F');

Il suffit de copier ces lignes à la place du texte par défaut du fichier wp-config.php.

Préfixe de table

Par défaut, les tables ont le préfixe wp_ :

$table_prefix  = 'wp_';

Pour des raisons de sécurité, il est recommandé de changer ce préfixe. Mais évidemment, il faut également changer le préfixe de toutes les tables dans la base de données si WordPress a été créé avant cette modification.

Limiter les révisions stockées

WordPress stocke toutes les versions antérieures des articles et pages. Par défaut, le nombre de versions n’est pas limité. Dans certains cas, ça peut générer une inflation excessive de la taille de la base de données. Il me parait donc sain de limiter les révisions en ajoutant :

/** sets autosave interval */
/** MUST BE ABOVE THE PART THAT LOADS wp-settings.php ! **/
define('AUTOSAVE_INTERVAL', 300 ); 	// seconds
define('WP_POST_REVISIONS', 5 );	// max 5 stored revisions per posts

Mais attention, comme indiqué en commentaire, ces lignes doivent être situées au dessus de la ligne qui charge wp-settings.php. Ca revient à dire que ce texte doit être situé avant la ligne /* C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */ .

interdire l’édition de fichiers dans le tableau de bord WordPress

Editer les fichiers directement dans le tableau de bord WorPress est une pratique très dangereuse. La moindre erreur interdit l’accès au tableau de bord et on ne peut plus revenir en arrière. Pour éviter les tentatations, en particulier si on donne un accès à des gens peu expérimentés, inclure la ligne suivante dans wp-config.php :

/** unable file edition in the dashboard (may only be done with ftp) **/
define( 'DISALLOW_FILE_EDIT', true );

Ainsi, plus personne n’a accès à « Apparence / édition » ou au lien « édition » des extensions.

Debugging / Déboguage

Les lignes suivantes doivent également impérativement être situées avant la ligne /* C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */ .

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('SAVEQUERIES', true);
define('WP_DEBUG_DISPLAY', false);    // default is true
@ini_set('display_errors',0);

En mode « production » (un site en live), tout devrait être réglé à « false » pour ne pas ralentir le site.

En mode développement, on régle WP_DEBUG à true et WP_DEBUG_DISPLAY à true. Comme ça les erreurs sont toutes affichées et le développeur peut les corriger.

Si  WP_DEBUG_DISPLAY est sur ‘false’ et WP_DEBUG_LOG sur true, les erreurs sont stockées dans un fichier debug.log qui se crée dans le répertoire wp-content.

paramètres FTP / SSH

Certains hôtes (comme Infomaniak ) demandent le nom d’utilisateur ftp et le mot de passe à chaque fois qu’on veut installer une extension ou mettre à jour un élément.

Pour que les informations n’aient pas à être saisies à chaque fois, et pour faciliter les mises à jour automatiques, on peut les intégrer à wp-config.php (source = cet article de wpbeginner.com)

J’ai ajouté les 3 lignes suivantes dans wp-config d’un site hébergé par Infomaniak et je n’ai plus besoin de saisir les informations de connexion ftp à chaque fois.

// 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');

Attention

Le fichier doit impérativement se terminer par

/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

Et voilà, on a configuré correctement WordPress. Normalement votre fichier wp-config.php devrait ressembler à ce qui suit (cliquer sur  <>, « basculer vers code brut » pour voir l’intégralité des lignes :

<?php
/**
 * La configuration de base de votre installation WordPress.
 *
 * Le script de création wp-config.php utilise ce fichier lors de l'installation.
 * Vous n'avez pas à utiliser l'interface web, vous pouvez directement
 * renommer ce fichier en "wp-config.php" et remplir les variables à la main.
 * 
 * Ce fichier contient les configurations suivantes :
 * 
 * * réglages MySQL ;
 * * clefs secrètes ;
 * * préfixe de tables de la base de données ;
 * * ABSPATH.
 * 
 * @link https://codex.wordpress.org/Editing_wp-config.php 
 * 
 * @package WordPress
 */

// ** Réglages MySQL - Votre hébergeur doit vous fournir ces informations. ** //
/** Nom de la base de données de WordPress. */
define('DB_NAME', 'votre_nom_de_bdd');

/** Utilisateur de la base de données MySQL. */
define('DB_USER', 'votre_utilisateur_de_bdd');

/** Mot de passe de la base de données MySQL. */
define('DB_PASSWORD', 'votre_mdp_de_bdd');

/** Adresse de l'hébergement MySQL. */
define('DB_HOST', 'localhost');

/** Jeu de caractères à utiliser par la base de données lors de la création des tables. */
define('DB_CHARSET', 'utf8');

/** Type de collation de la base de données. 
  * N'y touchez que si vous savez ce que vous faites. 
  */
define('DB_COLLATE', '');

/**#@+
 * Clefs uniques d'authentification et salage.
 *
 * Remplacez les valeurs par défaut par des phrases uniques !
 * Vous pouvez générer des phrases aléatoires en utilisant 
 * {@link https://api.wordpress.org/secret-key/1.1/salt/ le service de clefs secrètes de WordPress.org}.
 * Vous pouvez modifier ces phrases à n'importe quel moment, afin d'invalider tous les cookies existants.
 * Cela forcera également tous les utilisateurs à se reconnecter.
 *
 * @since 2.6.0
 */
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'); 
/**#@-*/

/**
 * Préfixe de base de données pour les tables de WordPress.
 *
 * Vous pouvez installer plusieurs WordPress sur une seule base de données
 * si vous leur donnez chacune un préfixe unique. 
 * N'utilisez que des chiffres, des lettres non-accentuées, et des caractères soulignés!
 */
$table_prefix  = 'wp_';

/** sets autosave interval */
/** MUST BE ABOVE THE PART THAT LOADS wp-settings.php ! **/
define('AUTOSAVE_INTERVAL', 300 ); 	// seconds
define('WP_POST_REVISIONS', 5 );	// max 5 stored revisions per posts


/** unable file edition in the dashboard (may only be done with ftp) **/
define( 'DISALLOW_FILE_EDIT', true );

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 */
/** MUST BE ABOVE THE PART THAT LOADS wp-settings.php ! **/
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('SAVEQUERIES', true);
define('WP_DEBUG_DISPLAY', false);    // default is true
@ini_set('display_errors',0);

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define('SCRIPT_DEBUG', false);

/* C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */

/** Chemin absolu vers le dossier de WordPress. */
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname(__FILE__) . '/');

/** Réglage des variables de WordPress et de ses fichiers inclus. */
require_once(ABSPATH . 'wp-settings.php');

 

 

Print Friendly, PDF & Email
0 0 votes
Évaluation de l'article
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x