Comment trouver, accéder et modifier wp-config.php dans WordPress

Publié: 2022-07-14

Qu'est-ce que wp-config.php dans WordPress ?

Le fichier wp-config.php est un fichier principal d'installation de WordPress contenant les détails des paramètres de configuration les plus cruciaux de votre site Web. Le préfixe "wp" signifie "WordPress", "config" est l'abréviation de "configuration" et le type de fichier ".php" indique le type de code contenu dans le fichier - PHP.

Sans wp-config.php , votre site Web ne fonctionnerait tout simplement pas. WordPress a besoin de ce fichier, surtout, pour se connecter à votre base de données où des informations telles que les paramètres WordPress, le contenu des publications, les paramètres de thème et de plug-in et les données utilisateur sont toutes stockées. Non seulement wp-config.php est le pont entre les fichiers de votre site et votre base de données, mais il vous permet également d'inclure des clés de sécurité ; modifier les préfixes de table ; déplacer les dossiers de fichiers principaux de WordPress tels que wp-plugins , wp-uploads et wp-content ; et effectuer d'autres configurations avancées.

Où se trouve le fichier wp-config.php ?

Maintenant que vous savez ce que fait wp-config.php , vous vous demandez probablement : « Où se trouve wp-config.php ? Si vous recherchez l'emplacement de wp-config.php dans un site WordPress déjà existant, vous le trouverez dans le dossier racine de votre installation WordPress. Votre dossier racine contient les dossiers wp-admin , wp-content et wp-includes . Sous ces dossiers, vous verrez une liste de fichiers, dont beaucoup commencent par le préfixe "wp-". C'est là que vous trouverez votre fichier wp-config.php .

liste des fichiers et dossiers principaux, avec wp-config.php sélectionné

Cependant, si vous téléchargez et configurez WordPress pour la première fois, le fichier wp-config.php ne sera pas inclus. Au lieu de cela, il sera créé automatiquement lors du processus d'installation de WordPress. Lors de la configuration, certaines informations vous seront demandées, telles que :

  • Database Name : Nom de la base de données associée à votre installation WordPress
  • Nom d'utilisateur de la base de données : Nom d'utilisateur utilisé pour accéder à votre base de données
  • Mot de passe de la base de données : Mot de passe associé à l'utilisateur de la base de données
  • Hôte de la base de données : Le nom d'hôte de votre serveur de base de données (généralement 'localhost' mais peut varier en fonction de votre fournisseur d'hébergement)

WordPress utilisera ensuite ces informations pour créer le fichier wp-config.php dans votre répertoire racine.

formulaire de détails de connexion à la base de données

Vous pouvez également configurer manuellement wp-config.php , si vous préférez. Cela peut être une bonne option si vous souhaitez ajouter de nombreux paramètres personnalisés à la configuration de votre site.

Comment accéder à wp-config.php ?

Il existe quelques méthodes simples pour accéder à wp-config.php - via le protocole de transfert de fichiers sécurisé (SFTP) ou via cPanel, si votre hébergeur le fournit.

1. Accéder à wp-config.php via SFTP

Étape 1 : Installez votre client SFTP. Votre première étape sera de télécharger et d'installer un client SFTP si vous n'en avez pas déjà un. Plusieurs bonnes options incluent:

Application Système Gratuit ou Premium
WinSCP les fenêtres Libre
FilezillaName Windows, Mac, Linux Options gratuites et premium
Cybercanard Windows, Mac Libre
Transmettre Mac Prime

Nous utiliserons Filezilla pour cet exemple, mais d'autres clients SFTP devraient fonctionner de la même manière.

Étape 2 : Récupérez vos informations d'identification SFTP. Une fois que vous avez installé votre client SFTP, vous aurez besoin des informations d'identification SFTP de votre hébergeur pour accéder à votre serveur. Vous trouverez ces détails dans le panneau de contrôle de votre hébergement. Selon votre hébergeur, ces informations peuvent être générées pour vous ou vous devrez peut-être passer par le processus de création d'un nom d'utilisateur et d'un mot de passe SFTP. Si vous ne savez pas où trouver ces informations d'identification ou comment les créer, demandez à l'assistance de votre hébergeur ou recherchez des instructions dans leur documentation d'aide. Les détails dont vous aurez besoin pour votre client SFTP sont :

  • Hôte (l'adresse IP ou l'URL de votre serveur en direct)
  • Nom d'utilisateur SFTP
  • Mot de passe
  • Numéro de port

Étape 3 : Entrez vos informations d'identification dans votre client SFTP. Entrez l'adresse IP ou l'URL de votre hôte, votre nom d'utilisateur SFTP, votre mot de passe et le numéro de port.

Remarque : si votre client SFTP utilise l'authentification TOFU (trust on first use), vous pouvez recevoir une alerte « clé d'hôte inconnue ». Cliquez sur 'OK' et continuez. Cochez "Toujours faire confiance à cet hôte, ajoutez cette clé au cache" si vous prévoyez d'utiliser votre client SFTP pour accéder à nouveau au site.

Message TOFU de Filezilla

Étape 4 : Accédez au répertoire racine de votre site Web.

Une fois que vous vous êtes connecté à votre serveur via SFTP, vous verrez une arborescence de fichiers affichée dans les deux panneaux en bas à droite de votre écran qui répertorie les répertoires sur votre serveur Web (distant). Le côté gauche répertorie les répertoires de votre ordinateur (local).

Votre répertoire racine se trouve généralement dans un dossier intitulé "www" ou "public_html", mais il peut utiliser un nom différent. Les conventions de dénomination des dossiers racine diffèrent sur certains hôtes, donc si vous ne savez pas dans quel dossier chercher, demandez à votre fournisseur d'hébergement. Vous saurez que vous êtes dans le bon dossier si vous voyez les dossiers wp-admin , wp-content et wp-includes en haut de votre liste de fichiers.

trouver le dossier public_html via FTP

Étape 5 : Sélectionnez ou créez un dossier sur votre ordinateur local où vous souhaitez ajouter votre fichier wp-config.php . Si vous avez déjà sélectionné un dossier, utilisez le volet de gauche pour y accéder et l'ouvrir. Si ce n'est pas le cas, recherchez le répertoire dans lequel vous souhaitez créer un nouveau dossier, cliquez avec le bouton droit sur le volet de gauche et sélectionnez Créer un répertoire .

créer une sélection de répertoire

Nommez votre répertoire puis cliquez sur OK .

Double-cliquez pour ouvrir le nouveau répertoire que vous avez créé.

Étape 6 : Recherchez et téléchargez wp-config.php . Le fichier wp-config.php est situé dans votre dossier racine, il vous suffit donc de faire défiler jusqu'à wp-config.php dans le volet inférieur droit de votre client SFTP. Faites un clic droit sur wp-config.php , puis cliquez sur Télécharger , ou faites simplement glisser le fichier du volet de droite vers le dossier souhaité dans le volet de gauche.

téléchargement du fichier wp-config.php

Votre fichier wp-config.php devrait maintenant être téléchargé sur votre machine locale dans le répertoire que vous avez sélectionné précédemment. Vous devriez pouvoir le trouver dans le navigateur de fichiers de votre ordinateur.

2. Accéder à wp-config.php dans cPanel

Si votre hébergeur utilise cPanel, vous pouvez accéder à wp-config.php via le gestionnaire de fichiers de cPanel. Si vous ne savez pas comment trouver cPanel dans le tableau de bord de votre hôte, contactez son support client pour obtenir de l'aide.

Étape 1 : Ouvrez le gestionnaire de fichiers de cPanel. Une fois que vous êtes dans cPanel, accédez à la section Fichiers et cliquez sur Gestionnaire de fichiers .

Étape 2 : Ouvrez le dossier racine de votre site Web. Le dossier racine est communément appelé « www » ou « public_html », mais il peut avoir un autre nom. Les conventions de dénomination des dossiers racine diffèrent sur certains hôtes, donc si vous ne savez pas dans quel dossier chercher, demandez à votre fournisseur d'hébergement. Vous saurez que vous êtes dans le bon dossier si vous voyez les dossiers wp-admin , wp-content et wp-includes en haut de votre liste de fichiers.

Étape 3 : Recherchez et téléchargez wp-config.php . Le fichier wp-config.php est situé dans votre dossier racine, il vous suffit donc de faire défiler jusqu'à wp-config.php dans le volet droit du gestionnaire de fichiers de cPanel. Faites un clic droit sur wp-config.php , puis cliquez sur Télécharger , ou cliquez une seule fois sur wp-config.php puis cliquez sur l'option Télécharger dans le menu supérieur.

téléchargement de wp-config.php depuis cpanel

Sélectionnez ou créez un dossier dans lequel vous souhaitez placer votre fichier wp-config.php (ne le renommez PAS) et cliquez sur Enregistrer .

choisir un dossier pour enregistrer wp-config.php dans

Votre fichier wp-config.php devrait maintenant être téléchargé sur votre ordinateur local dans le répertoire que vous avez sélectionné. Vous devriez pouvoir le trouver dans le navigateur de fichiers de votre ordinateur.

Comment modifier votre fichier wp-config.php

Il existe deux options pour modifier wp-config.php . Vous pouvez soit utiliser un éditeur de code source, soit le modifier directement dans cPanel. Avant de modifier le fichier wp-config.php dans WordPress, assurez-vous toujours de sauvegarder votre site !

1. Sauvegardez votre site

Chaque fois que vous apportez une modification majeure à votre site, en particulier aux fichiers de base ou aux plugins WordPress, vous courez le risque que quelque chose se passe mal. Cela pourrait être quelque chose d'aussi mineur qu'un problème d'affichage à peine perceptible sur le redoutable écran blanc de la mort. Pour éviter les temps d'arrêt et la perte de données lorsque vous apportez des modifications aux principaux aspects de votre site, effectuez toujours une sauvegarde en premier. Si vous n'avez pas encore installé d'outil de sauvegarde sur votre site, Jetpack Backup est une solution abordable avec des restaurations en un clic.

Tous sauvegardés ? Bien. Nous pouvons commencer à éditer le fichier wp-config.php .

2. Comment modifier wp-config.php avec un éditeur de code source

La meilleure façon de modifier wp-config.php est dans le logiciel d'édition de code de votre choix. Étant donné que vous modifiez une copie de wp-config.php qui est hors ligne sur votre ordinateur local, vous n'avez pas besoin d'être connecté à Internet pour travailler sur votre fichier et vous êtes moins susceptible d'écraser votre wp-config d'origine. .php lorsque vous le téléchargez sur votre serveur (contrairement à l'édition directe dans cPanel).

Étape 1 : Ouvrez wp-config.php dans votre éditeur de code source. Si vous n'êtes pas familier avec l'utilisation d'un éditeur de code source, vous avez le choix entre plusieurs options gratuites.

Éditeurs de code source et de texte brut gratuits :

Application Système
Bloc-notes++ les fenêtres
Atom.io Windows, Mac, Linux
Sublime Windows, Mac, Linux
TexteModifier
*Assurez-vous que vous êtes en mode texte brut
Mac (application par défaut)
Bloc-notes Windows (application par défaut)

Étape 2 : Modifiez wp-config.php et enregistrez-le sur votre ordinateur local. Votre affichage peut être différent selon le programme que vous utilisez pour modifier votre fichier wp-config.php . Voici à quoi ressemble une partie du code dans atom.io :

contenu du fichier wp-config.php

Ajoutez ou modifiez les informations dont vous avez besoin, puis enregistrez votre fichier. Passez à 'Que pouvez-vous configurer via wp-config.php ?' pour en savoir plus sur les différents types de modifications que vous pouvez apporter à votre fichier wp-config.php .

Étape 3 : Connectez-vous à votre serveur Web via SFTP ou cPanel. Accédez au dossier racine de votre site et recherchez le fichier wp-config.php .

Étape 4 : Modifiez le nom de fichier de wp-config.php sur votre serveur Web. Si votre version modifiée contient des erreurs, vous ne voulez pas écraser votre fichier d'origine. Vous voulez pouvoir restaurer rapidement le fichier wp-config.php d'origine, donc le renommer en quelque chose comme 'wp-config-orginal.php' garantira non seulement que WordPress ignore ce fichier, mais que le contenu du fichier d'origine reste existent sur votre serveur.

renommer le fichier wp-config.php

Si vous écrasez accidentellement votre fichier wp-config.php et que votre version modifiée présente des problèmes, vous pouvez toujours restaurer votre site à partir d'une sauvegarde. Cependant, c'est toujours une bonne idée de conserver une copie de votre fichier wp-config.php d'origine pour une restauration rapide en cas de problème. Si vous n'avez pas de fichier de sauvegarde quelque part - surtout si vous avez beaucoup de paramètres personnalisés - cela peut être un énorme problème et entraîner de nombreux temps d'arrêt du site pour récupérer les informations d'origine.

Étape 5 : Téléchargez wp-config.php de votre ordinateur local vers votre serveur Web. À l'aide de SFTP ou de cPanel, téléchargez votre fichier wp-config.php dans le répertoire racine de votre serveur Web.

Client SFTP :

déplacer le fichier wp-config.php via ftp

cPanel :

télécharger un fichier via cpanel

Étape 6 : Visitez votre site Web et vérifiez qu'il s'affiche et fonctionne correctement. Vous avez téléchargé avec succès votre fichier wp-config.php , il est donc temps de vous assurer que tout fonctionne sur votre site comme vous le souhaitiez. Visitez le front-end de votre site et connectez-vous également au tableau de bord WordPress pour vous assurer que tout est accessible, s'affiche correctement et que les fonctionnalités du site telles que les formulaires, la navigation, les fonctionnalités de commerce électronique, etc. fonctionnent toutes.

Étape 7 : Supprimez l'ancien fichier renommé wp-config.php . Une fois que vous avez établi que votre site fonctionne correctement, vous pouvez supprimer wp-config-original.php (ou tout ce que vous avez renommé).

3. Comment éditer wp-config.php directement dans votre cPanel

Si vous n'avez pas ou ne voulez pas utiliser d'éditeur de code source, vous pouvez éditer wp-config.php directement dans cPanel (si votre hébergeur utilise cPanel). C'est un peu plus risqué que d'éditer sur votre machine locale. Si votre connexion Internet est interrompue pendant que vous modifiez, vous risquez de perdre vos modifications. Vous courez également le risque d'écraser potentiellement votre fichier wp-config.php d'origine sans enregistrer au préalable une sauvegarde. Mais tant que vous faites une copie de votre fichier wp-config.php d'origine et que vous disposez d'une connexion Internet fiable, vous devriez pouvoir éditer relativement en toute sécurité directement dans cPanel.

Étape 1 : Trouvez wp-config.php dans cPanel. Dans cPanel, cliquez sur "Gestionnaire de fichiers".

Accédez à votre dossier racine (généralement 'public_html' ou 'www' mais, selon votre hébergeur, il peut s'appeler autrement).

Étape 2 : Créez un nouveau dossier pour votre fichier de sauvegarde wp-config.php . Dans le menu principal de votre gestionnaire de fichiers, cliquez sur + Dossier pour ajouter un nouveau dossier. Nous allons faire une copie de votre fichier wp-config.php et l'enregistrer ici en tant que sauvegarde.

ajouter un dossier dans cpanel

Nommez votre nouveau dossier quelque chose de facile à identifier comme "configuration de sauvegarde" afin que vous puissiez le retrouver facilement plus tard. Cliquez sur Créer un nouveau dossier .

Étape 3 : Recherchez wp-config.php dans le dossier racine et copiez-le dans le dossier de sauvegarde. Dans votre répertoire racine, faites défiler jusqu'à wp-config.php et faites un clic droit sur le nom du fichier. Sélectionnez Copier .

Une boîte de dialogue apparaîtra vous demandant d'entrer le chemin du fichier dans lequel vous souhaitez copier le fichier. Il aura généralement le nom du dossier racine pré-rempli, vous n'aurez donc qu'à ajouter le nom du dossier de sauvegarde que vous venez de créer après '/public_html/ ' (ou quel que soit le nom de votre dossier racine). Donc, si votre dossier de sauvegarde s'appelle "backup config", votre chemin de fichier ressemblera à "/public_html/backup config. '

Cliquez sur Copier le(s) fichier(s) .

Une fois que vous avez copié le fichier, accédez à votre dossier ' backup config' et vous verrez wp-config.php y être répertorié. Vous devriez continuer et renommer ceci juste pour ne pas confondre ce fichier wp-config.php et celui que vous voulez modifier. Faites un clic droit sur le fichier wp-config.php et cliquez sur Renommer .

Vous pouvez le renommer comme vous le souhaitez, mais dans ce cas, nous le renommerons en wp-config-original.php .

renommer le fichier wp-config.php

Étape 4 : Revenez à wp-config.php dans le répertoire racine. Maintenant que nous avons une sauvegarde de notre fichier wp-config.php , nous allons revenir au fichier wp-config.php dans le répertoire racine pour le modifier.

Sélectionnez wp-config.php , puis cliquez sur Modifier dans le menu supérieur du gestionnaire de fichiers.

édition via les outils cpanel

Étape 5 : Modifier wp-config.php . Vous devriez maintenant voir le contenu du fichier wp-config.php sur votre écran. Ça devrait ressembler a quelque chose comme ca:

le fichier wp-config.php dans cpanel

Ajoutez ou modifiez les informations dont vous avez besoin, puis enregistrez votre fichier. Passez à 'Que pouvez-vous configurer via wp-config.php ?' pour en savoir plus sur les différents types de modifications que vous pouvez apporter à votre fichier wp-config.php .

Création manuelle du fichier wp-config.php

Vous ne pouvez pas modifier votre fichier wp-config.php si vous n'en avez pas encore créé un ! Si pour une raison quelconque, vous ne parvenez pas à créer le fichier wp-config.php lors de l'installation de WordPress ou si vous préférez simplement le créer manuellement, vous voudrez utiliser le modèle wp-config-sample.php qui est inclus lorsque vous téléchargez WordPress.

trouver le fichier wp-config-sample.php

Ouvrez wp-config-sample.php dans votre éditeur de code source. Votre affichage peut être différent selon le programme que vous utilisez pour modifier votre fichier wp-config-sample.php . Voici à quoi ressemble une partie du code dans atom.io :

contenu du fichier wp-config.php

Entrez les détails de la base de données suivants et tous les paramètres personnalisés dont vous pourriez avoir besoin :

Le nom de la base de données pour WordPress

 define( 'DB_NAME', 'database_name_here' );

Nom d'utilisateur de la base de données

 define( 'DB_USER', 'username_here' );

Mot de passe de la base de données

 define( 'DB_PASSWORD', 'password_here' );

Nom d'hôte de la base de données

 define( 'DB_HOST', 'localhost' );

Jeu de caractères de base de données à utiliser pour créer des tables de base de données (généralement utf8)

 define( 'DB_CHARSET', 'utf8' );

Type d'assemblage de la base de données (ne le modifiez pas en cas de doute)

 define( 'DB_COLLATE', '' );

Clés et sels uniques d'authentification

Changez-les en différentes phrases uniques. Vous pouvez les générer à l'aide du service de clé secrète de WordPress.org. Ceux-ci peuvent être modifiés à tout moment pour invalider tous les cookies existants. N'oubliez pas que cela obligera tous les utilisateurs à se reconnecter.

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

Définir le préfixe de table de base de données WordPress personnalisé

Le préfixe de table de base de données par défaut pour WordPress est 'wp_', mais vous pouvez définir un préfixe personnalisé si vous le souhaitez. De plus, si vous avez plusieurs installations de WordPress dans une base de données, vous pouvez attribuer à chacune un préfixe unique. Utilisez uniquement des chiffres, des lettres et des traits de soulignement.

 $table_prefix = 'wp_';

Définir le mode de débogage de WordPress

Par défaut, le mode de débogage WordPress dans wp-config.php doit être défini sur "false", sauf si vous êtes en mode développement et que vous essayez activement de déboguer les problèmes sur votre site.

 define( 'WP_DEBUG', false );

Remplacez cette instruction par "true" pour activer l'affichage des avis d'erreur et d'avertissement pendant le développement.

Ajouter des valeurs personnalisées

Il y a deux lignes de code commentées après votre ligne définissant le mode de débogage, entre lesquelles vous pouvez ajouter toutes les valeurs personnalisées que vous souhaitez ajouter à votre fichier wp-config.php .

 /* Add any custom values between this line and the "stop editing" line. */ YOUR CUSTOM VALUES GO HERE /* That's all, stop editing! Happy publishing. */

Pour plus d'informations sur les valeurs personnalisées pouvant être utilisées, faites défiler jusqu'à la section 'Que pouvez-vous configurer via wp-config.php ?. '

Définir le chemin absolu vers le répertoire WordPress

Sous vos valeurs personnalisées, après '/* C'est tout, arrêtez de modifier ! Bonne publication.*/", vous verrez quelques autres extraits de code. Le premier définit le chemin absolu vers le répertoire WordPress. Vous pouvez le laisser tel quel, sauf si vous avez configuré WordPress dans un sous-répertoire — auquel cas vous remplacerez '/' par ' /votre-sous-répertoire/ '.

 if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); }

Configurer les vars WordPress et les fichiers inclus

Cette dernière section de votre fichier wp-config-sample.php déclare le chemin absolu vers wp-settings.php , qui configure les vars WordPress et les fichiers inclus.

 require_once ABSPATH . 'wp-settings.php';

Lorsque vous avez terminé de modifier votre exemple de fichier de configuration, enregistrez-le sous « wp-config.php » et placez-le dans le répertoire racine de votre site à l'aide de SFTP ou de cPanel.

REMARQUE : Il existe un ordre spécifique pour le contenu du fichier wp-config-sample.php et l'ordre est important. La réorganisation de l'ordre des informations dans votre fichier de configuration peut créer des erreurs sur votre site.

Que pouvez-vous configurer dans wp-config.php ?

Il y a beaucoup de choses que vous pouvez configurer avec wp-config.php au-delà des paramètres de base inclus dans le fichier wp-config-sample.php . Vous pouvez activer la fonctionnalité multisite, définir des domaines de cookies, augmenter la mémoire autorisée, gérer divers paramètres liés à la sécurité, déterminer la fréquence à laquelle WordPress effectue certaines opérations de base et modifier d'autres paramètres d'optimisation des fichiers. Vous pouvez même apporter des modifications à votre base de données et aux autorisations de fichiers.

Qu'est-ce que vous ne pouvez pas configurer dans wp-config.php ?

Bien que la liste des paramètres que vous pouvez gérer dans wp-config.php soit longue, il y a certaines choses que vous ne pouvez pas faire.

Le fichier wp-config.php est plus ou moins une liste de constantes qui déterminent certains paramètres dans le noyau de WordPress. Vous ne pouvez pas l'utiliser pour apporter des modifications fonctionnelles à vos plugins ou thèmes — pour cela, vous utiliserez le fichier functions.php .

Il existe également certains aspects codés en dur de WordPress que vous ne pouvez pas modifier, même dans wp-config.php , comme l'emplacement du dossier des thèmes.

Comment protéger wp-config.php des exploits de sécurité

Votre fichier wp-config.php contient de nombreuses informations sensibles sur votre site - des informations que vous souhaitez garder hors de portée des pirates. Voici quelques conseils pour vous aider à sécuriser votre fichier wp-config.php :

1. Installez un plugin de sécurité

Un plugin de sécurité ajoutera automatiquement des paramètres à votre site Web qui aident à protéger tous les aspects - y compris wp-config.php - contre les tentatives de piratage.

L'outil de sécurité WordPress de Jetpack est une option peu coûteuse qui peut aider à protéger votre site contre les attaques malveillantes. Jetpack Security comprend :

  • Protection contre les attaques par force brute qui arrête les attaques dans leur élan
  • Surveillance des temps d'arrêt pour vous alerter dès qu'il y a un problème
  • Un journal d'activité, afin que vous sachiez si et quand des activités suspectes se sont produites
  • Authentification sécurisée pour empêcher tout accès non autorisé
  • Analyse des logiciels malveillants qui vous alerte si votre site a été piraté
  • Protection anti-spam pour vos pages, publications et formulaires de contact

Jetpack Security surveille également votre site pour toute modification des fichiers principaux de WordPress, des plugins obsolètes ou non sécurisés et d'autres vulnérabilités afin que vous puissiez les détecter avant qu'un pirate ne les trouve et en profite.

2. Refuser l'accès à wp-config.php via le fichier . fichier htaccess

Vous pouvez utiliser le . htaccess pour aider à protéger wp-config.php . Vous trouverez ce fichier dans votre dossier racine.

Étape 1 : Téléchargez . htaccess

À l'aide de SFTP ou de cPanel, accédez au dossier racine de votre site Web. Clic droit sur .htaccess et sélectionnez Télécharger pour télécharger le fichier sur votre ordinateur local.

Étape 2 : Ajoutez du code pour bloquer l'accès à wp-config.php

Dans un éditeur de code source ou de texte brut, ouvrez .htaccess et ajoutez le code suivant :

 <files wp-config.php> order allow,deny deny from all </files>

Enregistrez votre fichier. Assurez-vous que votre programme n'inclut pas d'extension de fichier. Si vous utilisez le Bloc-notes ou Text Edit, il peut ajouter une extension de fichier .txt, ce que vous ne voulez pas. Le fichier doit simplement être nommé '. htaccess .'

Étape 3 : Téléchargez le fichier .htaccess modifié dans le dossier racine

Téléchargez votre fichier . htaccess dans le dossier racine de votre site Web. Il vous sera demandé si vous souhaitez écraser le fichier existant. Cliquez sur OK .

Maintenant votre . htaccess devrait bloquer l'accès externe à votre fichier wp-config.php .

3. Cachez wp-config.php en dehors du répertoire racine

Étant donné que chaque pirate connaît l'emplacement par défaut de wp-config.php sur un site WordPress, la modification de l'emplacement vers un dossier à accès restreint en dehors du répertoire racine peut le garder hors des mains d'un pirate.

Ce processus implique une petite configuration supplémentaire - vous ne pouvez pas simplement faire glisser et déposer wp-config.php en dehors du dossier racine. Cependant, l'effort en vaut la peine pour ajouter une couche de protection supplémentaire à votre site Web.

En quelques étapes seulement, vous pouvez sécuriser votre fichier wp-config.php en dehors du dossier racine.

Étape 1 : Téléchargez votre fichier wp-config.php actuel

Votre dossier racine est l'endroit où se trouvent tous vos fichiers WordPress, y compris le fichier wp-config.php . Il peut être nommé 'public_html' ou 'www' . Si vous ne savez pas où se trouve votre dossier racine ou votre répertoire WordPress, contactez votre hébergeur.

Une fois que vous avez trouvé votre dossier racine et votre répertoire WordPress, téléchargez votre fichier wp-config.php sur votre ordinateur local via SFTP ou cPanel.

enregistrer le fichier wp-config.php sur votre ordinateur via ftp

Étape 2 : Créez un nouveau répertoire en dehors du dossier racine

Naviguez en dehors de votre répertoire racine jusqu'au niveau supérieur du dossier de fichiers. Vous devriez voir le nom de votre dossier racine ainsi que plusieurs autres dossiers. Dans ce répertoire, faites un clic droit et sélectionnez créer un répertoire.

créer un répertoire via ftp

Donnez à votre répertoire un nom dont vous vous souviendrez facilement comme référentiel pour votre fichier wp-config.php . Vous pouvez même créer plusieurs dossiers imbriqués si vous le souhaitez - vous n'aurez qu'à vous souvenir des noms de chacun d'eux pour l'étape 4.

Étape 3 : téléchargez wp-config.php dans votre nouveau dossier

Téléchargez le fichier wp-config.php que vous avez téléchargé précédemment dans votre nouveau dossier via SFTP ou cPanel.

déplacer wp-config.php vers le nouveau répertoire

Vérifiez les autorisations de votre nouveau dossier et du fichier wp-config.php et assurez-vous qu'elles sont définies sur 600.

vérification des autorisations de fichier pour wp-config.php
modification des autorisations de fichiers à 600

Étape 4 : Faites pointer WordPress vers le nouveau fichier wp-config.php

Vous devriez avoir un fichier wp-config.php dans votre nouveau répertoire "secret" ainsi que le fichier original wp-config.php qui est toujours dans votre répertoire racine. Pour que WordPress trouve et utilise le bon fichier, vous devez supprimer toutes les informations du fichier wp-config.php de votre répertoire racine et le remplacer par l'extrait de code suivant :

 <?php include('/home3/usr/secureconfig/wp-config.php'); ?>

Remarque : Votre chemin de fichier sera différent car vous utiliserez les noms de répertoire de votre serveur individuel.

Dans cPanel, vous pouvez ouvrir le fichier wp-config.php du répertoire racine et le modifier directement ou vous pouvez modifier la copie que vous avez précédemment téléchargée sur votre machine locale à l'aide d'un éditeur de code source. Pour cet exemple, nous avons modifié la copie que nous avons téléchargée précédemment à l'aide d'Atom.io.

Enregistrez votre fichier wp-config.php et téléchargez-le dans votre répertoire racine.

déplacer le fichier wp-config.php

Il vous sera demandé si vous souhaitez écraser le fichier. Cliquez sur OK pour écraser le fichier.

Maintenant, WordPress devrait référencer votre nouveau fichier wp-config.php dans son emplacement sécurisé en dehors du dossier racine.

4. Changez le nom de votre fichier wp-config.php

Changer le nom de votre fichier wp-config.php peut également aider à le dissimuler aux pirates. Si vous faites cela, vous devrez également héberger ce fichier en dehors de votre dossier racine. Si vous avez déjà suivi les étapes de Masquer wp-config.php en dehors du répertoire racine, vous pouvez modifier le nom du fichier wp-config.php en suivant ces étapes supplémentaires :

Étape 1 : Dans votre répertoire sécurisé en dehors du dossier racine, modifiez le nom du fichier wp-config.php

Accédez à votre dossier wp-config.php hébergé en dehors de votre répertoire racine et changez le nom en quelque chose d'unique, comme 'secret-setup-file.php' ou 'cheese-sandwich.php' - cela n'a pas vraiment d'importance.

Étape 2 : Modifiez le code dans wp-config.php dans votre répertoire racine pour refléter le changement de nom

Maintenant que vous avez changé le nom, vous devez vous assurer que votre copie du répertoire racine de wp-config.php pointe vers le bon nom de fichier.

Téléchargez la copie du dossier racine de wp-config.php sur votre ordinateur local et modifiez-la avec l'éditeur de code source de votre choix. Remplacez le nom du fichier wp-config.php par votre nouveau nom de fichier, puis enregistrez-le.

 <?php include('/home3/usr/secureconfig/cheese-sandwich.php'); ?>

Étape 3 : téléchargez wp-config.php dans le répertoire racine

Il vous sera demandé si vous souhaitez écraser le fichier existant. Cliquez sur OK.

Maintenant, WordPress devrait pointer vers votre fichier de configuration renommé.

Modifications wp-config.php pour de meilleures performances WordPress

Vous pouvez utiliser le fichier wp-config.php pour optimiser vos paramètres WordPress et améliorer les performances de votre site Web. Vous trouverez ci-dessous sept modifications que vous pouvez apporter à wp-config.php pour réduire la taille et la charge de la base de données, améliorer le temps de chargement de votre site et économiser de l'espace sur le serveur.

1. Nettoyer les modifications d'image

Chaque fois que vous modifiez une image dans WordPress, un nouvel ensemble de vignettes et d'autres tailles d'image sont créés. Lorsque vous restaurez une image originale, ces modifications ne sont pas supprimées. Cela peut entraîner des dossiers multimédias encombrés. Si vous voulez vous assurer qu'un seul ensemble de modifications d'image existe sur votre serveur et que, lorsque vous restaurez l'original, les modifications sont supprimées, vous pouvez utiliser le code suivant :

 define( 'IMAGE_EDIT_OVERWRITE', true );

2. Réparez votre base de données

Si votre site fonctionne lentement, rencontre des erreurs et que vous pensez que votre base de données est corrompue et doit être réparée, vous pouvez activer la réparation automatique de la base de données en utilisant WP_ALLOW_REPAIR et en définissant la valeur sur "true".

 define( 'WP_ALLOW_REPAIR', true );

Assurez-vous de désactiver cette fonctionnalité une fois le problème de base de données résolu. Ce script se trouve également dans le fichier repair.php : {$votre_site}/wp-admin/maint/repair.php .

3. Gérer les paramètres de post-révision

Pendant que vous modifiez un article, WordPress enregistre automatiquement vos révisions toutes les 60 secondes par défaut. Si vous souhaitez des délais plus longs entre les sauvegardes ou si vous souhaitez des intervalles de sauvegarde plus fréquents, vous pouvez modifier l'intervalle de sauvegarde automatique.

 define( 'AUTOSAVE_INTERVAL', 60 ); // Seconds

WordPress n'a pas de limite sur le nombre de révisions de publication qui sont enregistrées, donc si vous souhaitez réduire la charge que les révisions de publication ont sur votre base de données, vous pouvez spécifier le nombre maximum ou désactiver complètement l'enregistrement des révisions.

Spécifiez le nombre maximum de révisions de publication

 define( 'WP_POST_REVISIONS', 3 );

Désactiver les révisions de publication

 define( 'WP_POST_REVISIONS', false );

4. Gérer les paramètres de la corbeille

Par défaut, WordPress supprime définitivement les éléments de la corbeille après 30 jours. Si vous souhaitez modifier cette fréquence, vous pouvez utiliser le code suivant et définir le numéro sur la fréquence souhaitée.

 define( 'EMPTY_TRASH_DAYS', 30 ); // 30 days

Vous pouvez également désactiver le vidage de la corbeille en définissant le nombre de jours sur zéro.

 define( 'EMPTY_TRASH_DAYS', 0 ); // Zero days

Remarque : Si vous désactivez la corbeille en cours de vidage, WordPress ne demandera pas de confirmation lorsque quelqu'un cliquera sur Supprimer définitivement . Utilisez ce paramètre avec prudence !

5. Ajustez les paramètres cron

WordPress utilise WP-Cron pour planifier des tâches urgentes telles que la recherche de mises à jour et la publication de publications planifiées.

Si les publications planifiées ne sont pas publiées ou si d'autres tâches cron ne sont pas terminées sur votre site, vous pouvez essayer d'utiliser une alternative cron. Lorsque ALTERNATE_WP_CRON est défini sur "true", les navigateurs des visiteurs sont redirigés vers une nouvelle connexion tandis que cron continue de s'exécuter dans la connexion interrompue.

 define( 'ALTERNATE_WP_CRON', true );

Remarque : Étant donné que cette méthode dépend d'un service WordPress non natif, certains risques sont impliqués.

Vous pouvez également modifier les intervalles auxquels les processus cron peuvent s'exécuter ou désactiver entièrement cron.

Désactiver le cron

 define( 'DISABLE_WP_CRON', true );

Délai d'attente Cron

 define( 'WP_CRON_LOCK_TIMEOUT', 60 );

6. Augmenter la mémoire allouée à PHP

Si vous avez des plugins ou des thèmes qui utilisent beaucoup de ressources PHP, vous pouvez être confronté au message "Taille mémoire autorisée de xxxxxx octets épuisée". Certains thèmes et plugins peuvent même spécifier une limite de mémoire PHP minimum pour pouvoir utiliser leur logiciel ou des fonctionnalités spécifiques de leur logiciel (comme l'importation de données de démonstration).

WordPress tentera, par défaut, d'augmenter les limites de mémoire PHP à 40 Mo pour les sites uniques et à 60 Mo pour les installations multisites, mais vous devrez peut-être définir votre limite plus haut. Parfois, votre limite de mémoire PHP est définie par votre hébergeur et si certains hébergeurs vous permettent de modifier votre limite de mémoire PHP, d'autres non.

Si votre hébergeur vous permet d'augmenter votre limite de mémoire PHP, vous pouvez ajouter le code suivant à votre fichier wp-config.php et remplacer '96M' par la quantité de mémoire dont vous avez besoin (n'oubliez pas d'utiliser M et non MB après le nombre) :

 define( 'WP_MEMORY_LIMIT', '96M' );

Ce paramètre augmente la mémoire PHP uniquement pour WordPress, pas pour les autres applications.

Les tâches dans la zone d'administration de WordPress nécessitent beaucoup plus de mémoire que l'activité sur le front-end de votre site Web. Vous pouvez augmenter la mémoire de votre zone d'administration en définissant WP_MAX_MEMORY_LIMIT.

 define( 'WP_MAX_MEMORY_LIMIT', '256M' );

Remarque : placez ce code avant l'inclusion de wp-settings.php dans votre fichier wp-config.php .

7. Activer/désactiver le cache

Certains plugins de mise en cache utilisent le fichier advanced-cache.php et activent WP_CACHE dans votre fichier wp-config.php pour vous. Parfois, vous devrez peut-être l'ajouter manuellement en ajoutant ce qui suit :

 define( 'WP_CACHE', true );

Ou vous pouvez désactiver la mise en cache. Dans ce cas, remplacez "true" dans l'instruction ci-dessus par "false".

 define( 'WP_CACHE', false );

wp-config.php modifie pour une meilleure sécurité WordPress

Vous pouvez utiliser wp-config.php pour gérer la sécurité de votre site WordPress en bloquant les demandes d'URL externes, en exigeant SSL pour les administrateurs, en déplaçant les emplacements des fichiers et des dossiers principaux de WordPress, en remplaçant les autorisations de fichiers par défaut par des paramètres d'autorisations plus restrictifs, etc. Si vous souhaitez utiliser wp-config.php pour mieux sécuriser votre site Web, consultez les sept conseils ci-dessous :

1. Définir un table_prefix personnalisé

Le préfixe par défaut pour les tables de base de données WordPress est 'wp_' mais vous pouvez utiliser n'importe quel préfixe avec le code suivant :

 $table_prefix = 'customprefix_';

Remplacez 'customprefix_' par le texte de votre choix, mais n'utilisez que des chiffres, des lettres et des traits de soulignement - pas de caractères spéciaux.

Remarque : Si vous modifiez le préfixe de table dans une installation existante de WordPress, vous devrez également mettre à jour vos préfixes de table dans votre base de données, exécuter une recherche et remplacer toutes les références au préfixe de table précédent, et les remplacer par le nouveau.

2. Exiger SSL pour l'administration et les connexions

Si vous souhaitez sécuriser les informations de connexion de l'administrateur, vous pouvez utiliser 'FORCE_SSL_ADMIN' afin que les mots de passe et les cookies soient toujours envoyés via SSL. Définissez 'FORCE_SSL_ADMIN' sur 'true' avec le code suivant dans wp-config.php :

 define( 'FORCE_SSL_ADMIN', true );

Remarque : Vous devez également configurer SSL sur votre serveur pour que votre site fonctionne correctement avec FORCE_SSL_ADMIN défini sur true.

3. Bloquer les demandes d'URL externes

Pour plus de sécurité, vous pouvez empêcher les demandes d'URL externes de votre serveur en définissant 'WP_HTTP_BLOCK_EXTERNAL' comme 'true'. Avec cette constante activée, seuls votre site Web et votre hôte local pourront faire des demandes.

 define( 'WP_HTTP_BLOCK_EXTERNAL', true );

If you want to make an exception for specific hosts, you can define WP_ACCESSIBLE_HOSTS with a list of comma separated host names. If you want to allow all subdomains of a host, prefix the domain name with '*.' (eg '*.wordpress.org'). and this will only allow localhost and your blog to make requests.

For example, if you want to make an exception for Google Fonts and all subdomains of WordPress.org, you would add the following to wp-config.php :

 define( 'WP_ACCESSIBLE_HOSTS', 'fonts.googleapis.com,*.wordpress.org' );

4. Disable the plugin and theme file editor

By default, WordPress site admins have access to the plugin and theme file editor feature in the WordPress dashboard. This can be a security risk. An admin that doesn't have a good understanding of how to (and how NOT to) edit these files could attempt to make edits that break your site. A disgruntled admin may intentionally sabotage these files, or a hacker may get access to the admin interface and attempt to edit core files through the plugin and theme file editor.

To disable the plugin and theme file editor define 'DISALLOW_FILE_EDIT' as 'true.'

 define( 'DISALLOW_FILE_EDIT', true );

Note : Some plugins may check user capabilities with “current_user_can('edit_plugins')”. If you have plugins installed that use this function, they may not work correctly when 'DISALLOW_FILE_EDIT' is set to 'true'. If you define 'DISALLOW_FILE_EDIT' as 'true' and you experience issues with a plugin afterward, then this function in the plugin code may be the culprit.

5. Disable plugin and theme updates and installations

If you want to block users from being able to update or install plugins and themes from the WordPress admin area, you can set 'DISALLOW_FILE_MODS' to 'true.' This will also disable the plugin and theme file editor.

 define( 'DISALLOW_FILE_MODS', true );

6. Move core WordPress folders

Keeping core WordPress folders in custom locations can help secure your site against hackers. Especially if hackers are using automated scripts to find the default names of certain files and folders, changing their location can protect your site against these types of attacks.

Move the wp-content folder

Your wp-content directory contains your themes, plugins, and uploads. You can move this outside of the WordPress directory by setting WP_CONTENT_DIR to the full local path of the directory or to the full URL.

File path

 define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/blog/wp-content' );

URL

 define( 'WP_CONTENT_URL', 'http://example/blog/wp-content' );

Note: Do not include the trailing '/' in the file path.

Move the plugins folder

You can protect your plugins by moving the folder location and using the following options to define the path to your new folder:

Set 'WP_PLUGIN_DIR' to the full local directory path.

 define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/blog/wp-content/secureplugins/plugins' );

Set 'WP_PLUGIN_URL' to the full directory URL.

 define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/secureplugins/plugins' );

If you encounter compatibility issues with plugins, you can set 'PLUGINDIR' to the full local directory path .

 define( 'PLUGINDIR', dirname(__FILE__) . '/blog/wp-content/secureplugins/plugins' );

Note: Do not include the trailing '/' in the file paths.

Move the uploads folder

Moving your uploads folder is a great way to help protect against scripts that may attempt to upload content directly to the default WordPress uploads folder file path. Use the 'UPLOADS' constant to define your path to the uploads folder.

 define( 'UPLOADS', 'blog/wp-content/secureuploads/uploads' );

Note: use a relative path to your uploads folder without the leading '/.'

7. Remplacer les autorisations de fichiers par défaut

Dans certains cas, vous devrez peut-être ajuster les autorisations de fichiers pour remplacer les autorisations de fichiers par défaut définies par WordPress ou votre hébergeur. Bien que vous puissiez modifier les autorisations de fichiers individuellement via SFTP ou cPanel, vous pouvez également les remplacer en masse en utilisant wp-config.php . Vous souhaiterez peut-être utiliser des autorisations plus restrictives pour certains fichiers et dossiers et des autorisations moins restrictives pour d'autres, en fonction de vos objectifs.

Pour remplacer une autorisation de fichier, vous utiliserez la constante 'FS_CHMOD_FILE'. Pour remplacer une autorisation de répertoire, vous utiliserez "FS_CHMOD_DIR".

Dossier

 define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) );

Annuaire

 define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) );

Exemple pour fournir setgid (autorisations de groupe) :

 define( 'FS_CHMOD_DIR', ( 02755 & ~umask() ) );

Remarque : ' 0755′ et ' 02755 ' sont des valeurs octales et doivent être précédées d'un '0'.

Fonctionnalités avancées de wp-config.php pour les développeurs

Au-delà de la sécurité et de l'optimisation du site, les développeurs peuvent utiliser wp-config.php pour ajouter d'autres paramètres personnalisés aux environnements WordPress. Vous trouverez ci-dessous quelques fonctionnalités à envisager d'utiliser dans wp-config.php :

1. Définir l'URL de WordPress

La constante WP_SITEURL vous permet de définir l'adresse où se trouvent vos fichiers de base WordPress. Vous devez inclure http:// ou https://, le domaine racine et le ou les sous-dossiers qui hébergent vos fichiers principaux WordPress. Toutefois, n'incluez pas le « / » à la fin de l'URL.

 define( 'WP_SITEURL', 'http://yoursite.com/wordpress' );

Lorsque vous définissez l'adresse WP_SITEURL dans wp-config.php , la valeur de 'siteurl' dans la base de données sera remplacée. Étant donné que WP_SITEURL n'a priorité que sur la valeur 'siteurl' dans la base de données, plutôt que de l'écraser, si vous supprimez le code WP_SITEURL dans votre fichier wp-config.php , la valeur de base de données d'origine pour 'siteurl' sera utilisée.

Vous pouvez également définir dynamiquement l'URL du site en fonction de l'hôte du serveur ou du nom du serveur.

Hôte du serveur :

 define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );

Nom du serveur:

 define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/path/to/wordpress' );

Remarque : Il peut être plus sûr d'utiliser SERVER_NAME que HTTP_HOST. L'utilisation de HTTP_HOST peut permettre des vulnérabilités d'inclusion de fichiers. De plus, si votre serveur utilise Apache et est configuré en tant que UseCanonicalName "on" , SERVER_NAME n'est pas défini dynamiquement et est plutôt défini par la configuration du serveur. Dans ce cas, vous voudriez utiliser SERVER_NAME au lieu de HTTP_HOST.

2. Définir l'URL d'accueil

Votre URL d'accueil est l'URL que vous utilisez pour accéder à la page d'accueil de votre site. Normalement, votre URL d'accueil serait votre domaine racine (par exemple https://monsite.com) même si vous installez WordPress dans un sous-répertoire.

Si vous préférez inclure votre sous-répertoire dans votre URL d'accueil, vous pouvez utiliser WP_HOME pour remplacer la valeur de la table wp_options pour l'accueil. Cela ne le changera pas dans la base de données, donc si vous supprimez cette ligne de wp-config.php , l'URL d'accueil de votre site reviendra à la valeur de la table wp_options .

 define( 'WP_HOME', 'https://mysite.com/wordpress' );

Vous devrez également ajouter le code suivant à index.php dans le répertoire racine de votre site :

 define( 'WP_HOME', 'https://mysite.com' );

Comme avec "SERVER_NAME" et "SERVER_HOST", vous pouvez également définir dynamiquement "WP_HOME". Utilisez $_SERVER['HTTP_HOST'] entre http:// ou https:// et votre chemin de fichier vers WordPress (sans le domaine racine) comme suit :

 define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );

3. Définir le domaine des cookies

Si vous avez une configuration de domaine non standard, vous pouvez spécifier votre domaine de cookie à l'aide de la constante 'COOKIE_DOMAIN'. Les cas d'utilisation pour cela incluent :

Diffuser du contenu statique à partir d'un sous-domaine. Si vous diffusez du contenu statique à partir d'un sous-domaine, mais que vous souhaitez définir le domaine du cookie sur l'URL où se trouve votre contenu dynamique, utilisez ce qui suit :

 define( 'COOKIE_DOMAIN', 'www.mysite.com' );

Remarque : Vous n'avez pas besoin d'inclure http:// ou https:// avant le nom de domaine.

Exploitation d'un réseau multisite. Si vous utilisez un réseau multisite dans des sous-dossiers sur un domaine et que vous rencontrez des problèmes avec les cookies (par exemple, vous obtenez l'erreur "Les cookies sont bloqués ou ne sont pas pris en charge par votre navigateur. Vous devez activer les cookies pour utiliser WordPress."), vous pouvez vous assurer que les cookies appartiennent aux domaines à partir desquels ils sont demandés et ne proviennent pas d'un seul domaine en définissant COOKIE_DOMAIN sur une valeur vide.

 define( 'COOKIE_DOMAIN', '' );

4. Activer les capacités multisites

WordPress n'est pas livré avec des fonctionnalités multisites activées automatiquement. La plupart des installations WordPress n'auront pas besoin de cette fonctionnalité. Mais si vous en avez besoin, vous pouvez facilement l'activer en utilisant la constante 'WP_ALLOW_MULTISITE'.

 define( 'WP_ALLOW_MULTISITE', true );

5. Rediriger des sous-domaines ou des dossiers inexistants

Bien que vous puissiez laisser les visiteurs atterrir sur votre page 404 par défaut lorsque le contenu n'est pas trouvé, il peut être préférable de les diriger vers une page personnalisée. Vous pouvez le faire facilement via wp-config.php en utilisant la constante 'NOBLOGREDIRECT'.

 define( 'NOBLOGREDIRECT', 'https://mysite.com/custompage' );

6. Ne mettez pas à jour les tables globales

Si vous avez un site avec de grandes tables globales ou si vous partagez des tables utilisateur entre plusieurs installations WordPress (les sites de forum et de commerce électronique peuvent appartenir à ces catégories), vous pouvez empêcher WordPress d'effectuer des requêtes gourmandes en ressources sur les tables globales pendant le processus de mise à niveau en définissant 'DO_NOT_UPGRADE_GLOBAL_TABLES ' à 'vrai'.

 define( 'DO_NOT_UPGRADE_GLOBAL_TABLES', true );

7. Gérer les paramètres de mise à jour automatique

Vous voudrez peut-être désactiver les mises à jour automatiques des thèmes, des plugins et du noyau WordPress, surtout si vous êtes en train de tester un site de développement ou de résoudre un problème. Vous pouvez également choisir si le noyau de WordPress se met automatiquement à jour uniquement pour les mises à jour mineures, pour toutes les nouvelles versions ou pas du tout.

Désactiver les mises à jour automatiques

Pour désactiver complètement toutes les mises à jour automatiques, définissez "AUTOMATIC_UPDATER_DISABLED" sur "true".

 define( 'AUTOMATIC_UPDATER_DISABLED', true );

Désactiver les mises à jour principales de WordPress

Vous pouvez définir la constante 'WP_AUTO_UPDATE_CORE' pour autoriser les mises à jour automatiques de toutes les versions de version, uniquement les mises à jour mineures, ou désactiver toutes les mises à jour automatiques du noyau.

Désactiver toutes les mises à jour principales

 define( 'WP_AUTO_UPDATE_CORE', false );

Activer toutes les mises à jour principales

 define( 'WP_AUTO_UPDATE_CORE', true );

Activer les mises à jour principales pour les versions mineures

 define( 'WP_AUTO_UPDATE_CORE', 'minor' );

8. Définir les constantes de mise à niveau de WordPress

Si vous rencontrez des difficultés pour mettre à niveau WordPress, vous devrez peut-être définir des constantes de mise à niveau WordPress supplémentaires pour accéder à la racine de votre problème. Essayez d'utiliser le moins possible de ces constantes pour résoudre votre problème.

Les deux raisons les plus courantes pour lesquelles vous pourriez avoir besoin de définir ces constantes dans wp-config.php sont :

  • Votre hôte utilise des liens symboliques dans votre installation. Si tel est le cas, vous devrez peut-être définir des constantes liées au chemin telles que FTP_BASE, FTP_CONTENT_DIR et FTP_PLUGIN_DIR.
  • Votre installation PHP utilise une extension FTP incompatible avec certains serveurs FTP. C'est une situation rare, mais si vous vous trouvez confronté à cela, vous devrez peut-être définir FS_METHOD sur "ftpsockets".

Vous trouverez ci-dessous une liste de constantes valides et un exemple de code pour les mises à jour WordPress :

FS_METHOD Cela force la méthode du système de fichiers. Par ordre de préférence, il doit être défini sur : direct , ssh2 , ftpext ou ftpsockets . Ne changez cela que si vous rencontrez des problèmes de mise à jour. Si la modification ne résout pas le problème, vous devez la remettre à sa valeur d'origine ou la supprimer. Si d'autres méthodes échouent, 'ftpsockets' fonctionnera généralement. définir( 'FS_METHOD', 'ftpext' );
FTP_BASE Le chemin complet vers votre dossier d'installation WordPress (ABSPATH). définir( 'FTP_BASE', '/chemin/vers/wordpress/' );
FTP_CONTENT_DIR Le chemin complet de votre dossier wp-content . définir( 'FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/' );
FTP_PLUGIN_DIR Le chemin complet vers votre dossier de plugins. définir( 'FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/' );
FTP_PUBKEY Le chemin complet vers votre clé publique SSH. définir( 'FTP_PUBKEY', '/home/nom d'utilisateur/.ssh/id_rsa.pub' );
FTP_PRIKEY Le chemin complet vers votre clé privée SSH. définir( 'FTP_PRIKEY', '/home/nom d'utilisateur/.ssh/id_rsa' );
FTP_USER Définit soit le nom d'utilisateur FTP, soit le nom d'utilisateur SSH. Bien qu'ils soient souvent identiques, ils peuvent être différents. Utilisez le nom d'utilisateur FTP si vous mettez à jour par FTP et le nom d'utilisateur SSH si vous mettez à jour via SSH. définir( 'FTP_USER', 'nom d'utilisateur' );
FTP_PASS Le mot de passe pour le nom d'utilisateur défini avec FTP_USER . Vous n'avez pas besoin de l'inclure si vous utilisez l'authentification par clé publique SSH. définir( 'FTP_PASS', 'mot de passe' );
FTP_HOST Le nom d'hôte de votre serveur SSH/FTP. Certaines configurations doivent utiliser 'localhost' comme valeur 'FTP_HOST' pour éviter les erreurs 503 lors de la mise à jour des plugins ou du noyau WordPress. définir( 'FTP_HOST', 'ftp.monsite.com' );
FTP_SSL Ce paramètre s'applique à la configuration de "Secure FTP", et non de SSH SFTP. Définissez-le sur "true" pour une connexion SSL uniquement si elle est prise en charge par le transport sous-jacent. Cela peut ne pas être disponible sur tous les serveurs. SFTP : définir ('FTP_SSL', vrai); FTP : définir( 'FTP_SSL', faux );

9. Créez des tables personnalisées d'utilisateurs et de méta-utilisateurs

Les constantes 'CUSTOM_USER_TABLE' et 'CUSTOM_USER_META_TABLE' sont utilisées pour attribuer des tables personnalisées pour le stockage des données utilisateur. Ces paramètres sont mieux implémentés lors de la configuration initiale de WordPress.

 define( 'CUSTOM_USER_TABLE', $table_prefix.'my_users' ); define( 'CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta' );

Remarque : Si vous exécutez une installation multisite de WordPress, une table usermeta et les autorisations correspondantes sont créées pour la base de données de chaque instance WordPress, même si vous définissez manuellement 'CUSTOM_USER_META_TABLE'. Les autorisations sont ajoutées pour le premier utilisateur uniquement, vous devrez donc gérer les autorisations des utilisateurs pour chaque site à l'aide d'une fonction ou d'un plug-in personnalisé, sinon vous rencontrerez des problèmes de connexion.

Garantir l'accès administrateur avec des tables personnalisées d'utilisateurs et de méta-utilisateurs lors de la configuration multisite :

  1. Après avoir créé votre premier site et ajouté vos tables utilisateur et usermeta personnalisées, copiez le fichier wp-config.php dans votre prochaine instance et modifiez la variable $table_prefix. Si le premier site utilise 'my_usermeta', votre deuxième site doit utiliser quelque chose de différent (par exemple 'site2_usermeta').
  2. Utilisez une adresse e-mail différente pour cette instance suivante que celle que vous avez utilisée pour votre installation d'origine.
  3. Lorsque vous avez terminé la configuration, connectez-vous avec le compte administrateur et le mot de passe générés automatiquement.
  4. Promouvez le compte que vous souhaitez utiliser en tant qu'administrateur au niveau administrateur, puis déconnectez-vous de votre administrateur WordPress.
  5. Reconnectez-vous avec votre nouveau compte administrateur et supprimez le compte généré automatiquement.

10. Enregistrer les requêtes pour analyse

Si vous effectuez et analysez des requêtes de base de données et avez besoin de les enregistrer pour un examen ultérieur, vous pouvez utiliser la constante 'SAVEQUERIES' dans wp-config.php . Les requêtes sont enregistrées dans un tableau qui peut être affiché à l'aide de code dans votre fichier footer.php . La fonction enregistrera vos requêtes, la fonction qui les a appelées et la durée d'exécution des requêtes.

Cette opération peut ralentir votre site, vous devez donc désactiver cette fonctionnalité, sauf si vous êtes en train de déboguer activement.

Ajoutez ce qui suit à wp-config.php :

 define( 'SAVEQUERIES', true );

Dans footer.php (dans votre dossier de thème), ajoutez ce code :

 <?php
if ( current_user_can( 'administrator' ) ) {
global $wpdb;
echo "<pre>";
print_r( $wpdb->queries );
echo "</pre>";
}
?>

11. Configurer le débogage et la journalisation des erreurs

Vous souvenez-vous de l'écran blanc de la mort ? Eh bien, après la sortie de WordPress 5.2, au lieu du redoutable écran blanc et vierge, vous verrez maintenant un message d'erreur indiquant « Le site rencontre des difficultés techniques. Veuillez vérifier la boîte de réception de votre administrateur de site pour obtenir des instructions. lorsqu'une erreur fatale se produit.

Bien sûr, en cas d'erreur fatale, vous souhaiterez activer le débogage et la journalisation des erreurs afin de pouvoir résoudre le problème. Pour ce faire, vous devrez utiliser la constante 'WP_DEBUG' et la définir sur 'true' (la valeur par défaut est 'false').

 define( 'WP_DEBUG', true );

Définir 'WP_DEBUG' sur 'true' autorisera l'impression des erreurs de base de données et augmentera les niveaux de rapport d'erreurs afin que vous voyiez des avertissements lorsque des fichiers ou des fonctions obsolètes sont utilisés.

Avant de pouvoir imprimer ces erreurs, cependant, vous devrez désactiver le mode de récupération en définissant 'WP_DISABLE_FATAL_ERROR_HANDLER' sur 'true' et activer 'WP_DEBUG_DISPLAY'.

 define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );   // 5.2 and later define( 'WP_DEBUG_DISPLAY', true );

Vous pouvez choisir de ne pas enregistrer les erreurs et de simplement les imprimer à l'écran, mais vous devez activer ces paramètres sur un site de développement ou de développement afin de ne pas imprimer les erreurs visibles au public sur votre site en ligne. Si vos paramètres dans votre fichier php.ini sont déjà définis pour consigner les erreurs plutôt que de les afficher, vous pouvez remplacer cela par ce qui suit dans wp-config.php :

 @ini_set( 'log_errors', 'Off' ); @ini_set( 'display_errors', 'On' ); define( 'WP_DEBUG_LOG', false );

Si php.ini n'est pas configuré pour consigner les erreurs et que vous souhaitez activer la journalisation des erreurs, vous devrez faire un peu plus de travail.

Le journal des erreurs par défaut et les paramètres d'affichage se trouvent dans votre fichier php.ini . Dans certains cas, vous n'aurez peut-être pas accès à ce fichier ou votre société d'hébergement peut utiliser user.ini ou une autre convention de dénomination. Si vous n'avez pas accès à ce fichier, demandez à votre hébergeur d'effectuer ces modifications pour vous.

Paramètres d'erreur php.ini recommandés :

 error_reporting = 4339 display_errors = Off display_startup_errors = Off log_errors = On error_log = /home/mysite.com/logs/php_error.log log_errors_max_len = 1024 ignore_repeated_errors = On ignore_repeated_source = Off html_errors = Off

Si vous activez la journalisation des erreurs, n'oubliez pas de supprimer le fichier par la suite, car il se trouvera souvent dans un emplacement accessible au public, où n'importe qui pourrait accéder à votre journal.

Vous pouvez également utiliser wp-config.php pour activer PHP error_logging et les enregistrer dans un fichier que vous spécifiez. Assurez-vous que WP_DEBUG est défini sur true et que vous placez ce qui suit au-dessus de toute commande require_once ou include :

 @ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); @ini_set( 'error_log', '/home/mysite.com/logs/php_error.log' ); /* That's all, stop editing! Happy blogging. */

Pour plus d'exemples de techniques de journalisation des erreurs, vous pouvez consulter les suggestions de Mike Little sur la liste de diffusion de wp-hackers ou le Manchester WordPress User Group.

Il y a quelques éléments importants à garder à l'esprit lors de la mise en œuvre des paramètres de débogage et de journalisation :

  1. Si 'WP_DEBUG' est défini sur 'false', 'WP_DEBUG_DISPLAY' et 'WP_DEBUG_LOG' ne fonctionneront pas.
  2. Si 'WP_DEBUG' est défini sur 'true', les autres constantes ne seront actives que si elles sont également définies sur 'true'. Cela inclut les directives dans votre fichier php.ini - pas seulement les déclarations dans wp-config.php . Donc, si php.ini définit ('display_errors' = 'Off'); mais définir( 'WP_DEBUG_DISPLAY', vrai); est défini dans votre fichier wp-config.php , les erreurs ne seront pas affichées car votre comportement PHP configuré aura priorité.
  3. Pour vous assurer que vos directives fonctionnent comme prévu, vous devez définir explicitement les paramètres php.ini et leurs paramètres wp-config.php correspondants.

Pour votre installation WordPress publique de production, vous pouvez envisager de placer les éléments suivants dans votre fichier wp-config.php , même s'il peut être en partie redondant :

 @ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); define( 'WP_DISABLE_FATAL_ERROR_HANDLER', false ); // 5.2 and later define( 'WP_DEBUG', false ); define( 'WP_DEBUG_LOG', false ); define( 'WP_DEBUG_DISPLAY', false );

Remarque : Si vous utilisez le fichier journal de débogage par défaut dans son emplacement par défaut de /wp-content/debug.log , vous souhaiterez limiter l'accès au fichier à SFTP uniquement. Définissez les autorisations du fichier journal sur 600 et ajoutez ce qui suit au fichier . htaccess dans votre répertoire racine :

 <Files debug.log> Order allow,deny Deny from all </Files>

12. Définir le type d'environnement WordPress

Si vous configurez des sites locaux, de développement ou de staging, il peut être utile de définir 'WP_ENVIRONMENT_TYPE'. Lorsque cette constante n'est pas définie, le type d'environnement par défaut est production . Les valeurs autorisées sont : local , development , staging et production .

 define( 'WP_ENVIRONMENT_TYPE', 'staging' );

Remarque : Lorsque 'WP_ENVIRONMENT_TYPE' est défini sur 'development', WP_DEBUG sera automatiquement défini sur 'true' s'il n'est pas déjà défini dans wp-config.php .

13. Déboguer les scripts

Si vous résolvez des problèmes avec JavaScript et CSS, vous pouvez utiliser la constante SCRIPT_DEBUG pour forcer WordPress à utiliser les versions de développement des scripts et des feuilles de style. Les fichiers dans wp-includes/js , wp-includes/css , wp-admin/js et wp-admin/css seront chargés à la place des versions minifiées. Pour afficher ces versions de développement, définissez 'SCRIPT_DEBUG' sur 'true'.

 define( 'SCRIPT_DEBUG', true );

14. Désactiver la concaténation JavaScript

Dans WordPress, les fichiers JavaScript sont séquencés pour accélérer le temps de chargement des écrans d'administration. Si vous obtenez des erreurs JavaScript dans la zone d'administration de WordPress, vous pouvez désactiver la concaténation des scripts en définissant 'CONCATENATE_SCRIPTS' sur 'false'.

 define( 'CONCATENATE_SCRIPTS', false );

Est-ce le guide ultime de wp-config.php ?

Bien que cet article soit assez complet et couvre tout, depuis les bases de la localisation, de l'accès et de la modification de wp-config.php , il n'est en aucun cas exhaustif. La configuration de votre fichier wp-config.php sera spécifique à vos besoins, à votre environnement de serveur et à vos préférences personnelles. Si vous avez des questions supplémentaires sur les façons d'utiliser le fichier wp-config.php , vous pouvez vous référer à la documentation de support de WordPress.org. Nous avons également inclus ci-dessous quelques réponses aux questions fréquemment posées.

FAQ sur wp-config.php

Que faire si je ne trouve pas mon emplacement wp-config.php ?

Bien que votre fichier wp-config.php se trouve normalement dans le dossier racine de votre installation WordPress, il peut se trouver ailleurs. Vous êtes plus susceptible de rencontrer ce problème si vous reprenez un site WordPress à un ancien développeur ou si votre hébergeur installe automatiquement WordPress pour vous. Si vous rencontrez des difficultés pour trouver votre fichier wp-config.php , vous pouvez effectuer une recherche dans votre programme SFTP ou dans cPanel.

FilezillaName

Si vous utilisez Filezilla pour accéder à votre site via SFTP, vous pouvez cliquer sur l'icône des jumelles en haut pour effectuer une recherche de fichiers. Recherchez 'wp-config.php' dans le dossier le plus haut auquel vous avez accès au cas où wp-config.php se trouve dans un dossier en dehors du répertoire racine. L'affichage des résultats peut prendre plusieurs minutes, car vous allez rechercher tous les dossiers de votre serveur.

formulaire de recherche dans Filezilla

cPanel

La recherche de wp-config.php dans cPanel est assez simple. Dans le cPanel de votre hébergeur, cliquez sur Gestionnaire de fichiers sous Fichiers .

Vous serez redirigé vers votre arborescence de fichiers sur votre serveur et en haut à droite de l'écran se trouvera un champ de recherche. Vous pouvez utiliser le sélecteur déroulant à gauche pour choisir si vous souhaitez rechercher tous les fichiers ou uniquement un répertoire spécifique. Puisque vous ne savez pas où se trouve wp-config.php , il est probablement préférable de rechercher dans tous les répertoires.

Entrez 'wp-config.php' dans le champ de recherche et cliquez sur Go .

formulaire de recherche dans cpanel

Si vous ne trouvez toujours pas wp-config.php , il se peut que son dossier ne dispose pas des autorisations appropriées pour que vous puissiez y accéder. Dans ce cas, contactez votre hébergeur pour obtenir de l'aide.

Que faire si mon fichier wp-config.php n'est pas accessible en écriture ?

Si vous voyez une erreur concernant les autorisations d'écriture manquantes pour wp-config.php dans votre tableau de bord WordPress, cela est probablement dû à un plugin qui a besoin d'un accès en écriture à wp-config.php . Certains plugins nécessitent ce type d'accès pour ajouter le code nécessaire au fonctionnement du plugin. Cependant, certains hébergeurs peuvent implémenter des autorisations strictes sur wp-config.php pour des raisons de sécurité qui refusent également l'accès en écriture à ces plugins.

Si votre hébergeur vous permet de modifier ces paramètres, vous devriez pouvoir modifier vos autorisations de fichiers et de dossiers via SFTP ou cPanel.

SFTP

Pour cet exemple, nous utilisons Filezilla.

1. Connectez-vous à votre serveur via SFTP.

2. Trouvez votre fichier wp-config.php . Il se trouve par défaut dans le dossier racine de votre installation WordPress, mais peut se trouver ailleurs.

3. Faites un clic droit sur votre fichier wp-config.php et cliquez sur File Permissions .

modification des autorisations de fichiers

Assurez-vous que les autorisations de fichier sont définies sur 640 ou 644.

définir les autorisations de fichier sur 644

Si wp-config.php se trouve dans un dossier en dehors du dossier racine, vérifiez que les autorisations du dossier sont définies sur 750 ou 755.

définir les autorisations de fichier sur 755

Remarque : Certaines plates-formes d'hébergement peuvent vous demander d'utiliser des valeurs d'autorisation différentes. Pour les fichiers, vous pouvez essayer 664 et 666. Pour les dossiers, essayez 775.

Si la modification des autorisations de fichier ne résout pas votre problème d'autorisation d'accès en écriture, il est probable que les paramètres de propriété du fichier soient à blâmer et vous devrez contacter votre fournisseur d'hébergement afin d'apporter des modifications.

En savoir plus sur les autorisations de fichiers WordPress.

Les plugins peuvent-ils modifier mon fichier wp-config.php ?

Si vos autorisations de dossier et de fichier sont définies pour autoriser l'accès en écriture (750, 755 ou 775 pour les dossiers ; 640, 644, 664 ou 666 pour les fichiers), alors les plugins devraient pouvoir écrire sur wp-config.php . Si vous souhaitez empêcher les plugins d'écrire dans votre fichier wp-config.php , vous pouvez définir des autorisations de fichier plus strictes de 440 ou 400. Cela empêchera également les autres utilisateurs de votre serveur de lire wp-config.php .

Qu'est-ce que wp-config-sample.php ?

Lorsque vous téléchargez WordPress pour la première fois, aucun fichier wp-config.php n'est inclus. Ce fichier est généralement configuré pendant le processus d'installation ou peut être configuré manuellement. Le fichier wp-config-sample.php est inclus avec WordPress afin que les utilisateurs aient un modèle à utiliser lors de la configuration manuelle de wp-config.php ainsi qu'un modèle de sauvegarde "table rase" à partir duquel travailler si quelque chose devait arriver à votre fichier original wp-config.php que vous avez créé.

wp-config-sample.php inclut toutes les constantes de base et les valeurs d'espace réservé nécessaires pour configurer WordPress ainsi que des explications commentées des sections du fichier qui aident les utilisateurs à comprendre où placer certaines informations.

Contenu de wp-config-sample.php :

 <?php /** * The base configuration for WordPress * * The wp-config.php creation script uses this file during the installation. * You don't have to use the web site, you can copy this file to "wp-config.php" * and fill in the values. * * This file contains the following configurations: * * * Database settings * * Secret keys * * Database table prefix * * ABSPATH * * @link https://wordpress.org/support/article/editing-wp-config-php/ * * @package WordPress */ // ** Database settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** Database username */ define( 'DB_USER', 'username_here' ); /** Database password */ define( 'DB_PASSWORD', 'password_here' ); /** Database hostname */ define( 'DB_HOST', 'localhost' ); /** Database charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The database collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' ); /**#@+ * Authentication unique keys and salts. * * Change these to different unique phrases! You can generate these using * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}. * * You can change these at any point in time to invalidate all existing cookies. * This will force all users to have to log in again. * * @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' ); /**#@-*/ /** * WordPress database table prefix. * * You can have multiple installations in one database if you give each * a unique prefix. Only numbers, letters, and underscores please! */ $table_prefix = 'wp_'; /** * 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. * * For information on other constants that can be used for debugging, * visit the documentation. * * @link https://wordpress.org/support/article/debugging-in-wordpress/ */ define( 'WP_DEBUG', false ); /* Add any custom values between this line and the "stop editing" line. */ /* That's all, stop editing! Happy publishing. */ /** Absolute path to the WordPress directory. */ if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); } /** Sets up WordPress vars and included files. */ require_once ABSPATH . 'wp-settings.php';