Avez-vous déjà vu la page d’erreur « Erreur lors de l’établissement d’une connexion à la base de données » sur votre site WordPress ? Ce message d’erreur peut s’afficher pour diverses raisons, mais il est peu attrayant et risque d’embrouiller vos internautes.
Chez WPBeginner, nous avons constaté que la création d’une page d’erreur de base de données personnalisée est incroyablement bénéfique. Elle présente une image plus professionnelle à vos utilisateurs, les rassurant sur le fait que vous êtes conscient du problème.
En outre, c’est l’occasion de proposer des ressources utiles ou d’autres moyens d’accéder à votre contenu pendant que le problème est résolu.
Dans cet article, nous allons vous montrer comment personnaliser votre page d’erreur de base de données dans WordPress.
Un autre problème lié à cette erreur est que vous ne vous rendrez pas compte que votre site est en panne avant de le visiter et de voir le message. Nous vous montrerons donc également comment configurer une notification à chaque fois que votre site est indisponible en raison d’une erreur de base de données.
Quelles sont les causes de l’erreur d’établissement de la connexion à une base de données ?
L’erreur « Error establishing a database connection » est l’une des erreurs les plus courantes de WordPress. Elle peut être causée par des informations de base de données incorrectes dans vos réglages WordPress, une base de données corrompue ou un serveur de base de données irresponsable.
Résoudre cette erreur peut être délicat pour les débutants, c’est pourquoi nous avons listé un certain nombre de solutions à cette erreur dans notre guide sur comment corriger l' » erreur d’établissement d’une connexion à la base de données » dans WordPress.
La dernière chose que vos internautes souhaitent voir est un message d’erreur générique affiché par WordPress. La page d’erreur manque de détails, n’est pas attrayante et ne contient aucune marque. Elle donne l’impression que votre site a disparu.
Ceci étant dit, voyons comment vous pouvez personnaliser la page d’erreur de votre site WordPress pour la rendre plus utile.
Ajout d’une page d’erreur personnalisée pour la base de données dans WordPress
Tout d’abord, vous devez ouvrir un nouveau fichier dans un éditeur de texte tel que Notepad, puis coller le contenu suivant à l’intérieur.
<?php // custom WordPress database error page
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 600'); // 1 hour = 3600 seconds
// If you wish to email yourself upon an error
// mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
You got problems.
</body>
</html>
Source : CSS Tricks
Ensuite, enregistrez le fichier sous le nom de « db-error.php ». Ensuite, à l’aide d’un programme FTP, vous devez téléverser le fichier dans le répertoire /wp-content/ de votre site WordPress. Pour plus de détails, consultez notre guide du débutant sur l’utilisation du FTP avec WordPress.
Maintenant, lorsque votre site ne parvient pas à établir une connexion à la base de données, vous verrez le message d’erreur dans la capture d’écran ci-dessous, et le titre « Erreur de base de données » s’affichera dans l’onglet du navigateur web.
Ce n’est pas le message d’erreur le plus attrayant, mais c’est une étape par étape. Vous pouvez désormais modifier le code HTML et CSS de la page pour l’adapter à votre propre site.
Outil de personnalisation de la page d’erreur de la base de données dans WordPress
Il est maintenant temps de personnaliser votre page d’erreur de base de données pour qu’elle soit belle et qu’elle corresponde au thème de votre site. Vous devez également ajouter le logo et le slogan de votre marque à la page.
Vous pouvez également utiliser un peu d’humour dans votre message. Vos internautes ne pourront peut-être pas visiter votre site, mais vous pouvez au moins les amuser.
Vous pouvez vous inspirer de notre liste des meilleurs exemples de conception de pages d’erreur WordPress 404. Par exemple, cette page 404 Empty Cup pourrait être facilement modifiée pour servir de page d’erreur de base de données.
Vous devez modifier « Erreur 404 » en « Erreur de base de données » et « Cette page est introuvable » en « Ce site est temporairement indisponible ». Retirez également le bouton « Retour à la maison », car il est probable que l’ensemble de votre site soit indisponible.
La façon la plus simple de créer un design personnalisé de page d’erreur de base de données est d’utiliser l’extension SeedProd. C’est le constructeur de page d’atterrissage le plus populaire avec une fonctionnalité de glisser-déposer pour personnaliser vos pages d’erreur sans modifier aucun code.
Il est livré avec plus de 300 modèles professionnellement conçus, y compris de nombreux modèles de page d’erreur 404 différents que vous pouvez utiliser comme pour votre page d’erreur de base de données personnalisée.
Il existe une version gratuite de SeedProd, mais vous aurez besoin de la version Pro pour accéder aux modèles de page d’erreur 404 intégrés.
Pour des idées sur la façon d’utiliser Outil de personnalisation pour créer des pages d’erreur personnalisées, consultez notre guide sur la façon d’améliorer votre modèle de page 404 dans WordPress.
Envoi d’un E-mail de notification en cas d’erreur dans la base de données
Si votre site est en panne, vous voulez en être informé afin de pouvoir y remédier.
L’extrait de code que nous avons utilisé précédemment contient du code qui vous enverra une notification par e-mail chaque fois que votre site aura une erreur de base de données. Cette partie du code est actuellement inactive puisqu’elle est commentée par deux barres obliques.
// If you wish to email yourself upon an error
// mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
Pour recevoir les notifications, vous devez retirer les deux barres obliques qui précèdent la fonction e-mail.
// If you wish to email yourself upon an error
mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
Vous devrez également remplacer « your@email.com » par votre propre adresse e-mail. N’oubliez pas d’enregistrer le fichier db-error.php modifié et de le téléverser dans le répertoire /wp-content/ de votre site WordPress.
Nous espérons que ce tutoriel vous a aidé à apprendre comment ajouter une page d’erreur de base de données personnalisée dans WordPress. Vous voudrez peut-être aussi en savoir plus sur les problèmes courants de l’éditeur de blocs de WordPress et comment les corriger ou consulter notre liste d’extensions WordPress incontournables pour faire grandir votre site.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
Shyam Chathuranga
Thanks for this article. I’m using this with another piece of code to track how many times visitors to my site see these kinds of DB Errors and PHP Fatal Errors via Google Analytics. For anyone wondering how they can create a custom PHP Fatal Error page, just copy paste the db-error.php and rename it to php-error.php.
I noticed my site monitoring tools some times don’t alert me on these errors maybe because of page caching. I also enabled Email alerts from the code you guys provided. Works great!
Thanks so much!
Shyam
WPBeginner Support
Thanks for sharing and glad our article was helpful!
Administrateur
Kensley
This tutorial came just when I needed it, and is one of the things we can actually do at the file level when attempting to access the WP dashboard is impossible.
Much appreciated!
Arlen Nagata
Now, is there an action to put this in your theme folder?
David
You know, I never thought about customizing that page. It’s a good idea because if a visitor comes across it at least it’ll fit the theme of your site and while they can’t see any info, maybe they can be amused.
The email seems like a good idea because it could help gauge how often visitors might hit that error. If it happens a lot then Houston we have a problem.
My only question goes back to the email. If a user lands on that page, I get an email. Will I get another email if that user reloads the page? Say the visitor lands, reloads in 10 seconds and continues. I don’t want to be spanned. Also, is the email hidden in the source code?