DB-ERROR WORDPRESS

DB-ERROR WORDPRESS

DB-ERROR WORDPRESS

Quelle que soit la solution technique que vous utilisez, la base de données peut ne pas être disponible et l’internaute peut ne pas avoir accès au site. Sur WordPress, cela affichera un message d’erreur tel que “error establising a database connection”. C’est ce qu’on appelle la DB-ERROR WORDPRESS. Pourtant, avec le CMS, vous pouvez les adapter et générer un système d’alerte en temps réel via un simple petit fichier nommé db-error.php.

I. LES ERREURS SQL

Les sites web WordPress dépendent fortement des bases de données utilisant le système de gestion de base de données MySQLLa base de données peut subir une corruption, le mot de passe peut avoir été modifié, le serveur SQL peut prendre du temps à réagir, etc : la base de données comporte de nombreux types d’erreurs, WordPress ne fait pas d’exception.

Ces erreurs sont affichées au nom de votre site web sans avertir le webmaster ni apporter de solutions à l’utilisateur qui visite votre site webPour aggraver la situation, ces erreurs apparaissent souvent sur chaque page. Ce n’est pas un seul élément de contenu auquel vous pouvez accéder, mais l’ensemble du site web.

Nous avons plusieurs types d’erreurs (HTTP, MySQL, Javascript). De plus, il pourrait s’agir d’une erreur SQL due à une erreur de développement qui ne se produit que dans certaines situations. 

II. LE FICHIER DB-ERROR.PHP

Néanmoins, WordPress couvre tout. Si pour une raison quelconque la base de données SQL ne répond pas, le CMS peut vous autoriser la possibilité de gérer l’apparition de cette erreur à l’aide du fichier db-error.php. et l’avantage est que vous pouvez mettre en place un système automatique pour avertir le webmaster. 

2.1. SIGNALER UNE ERREUR MOMENTANÉE

La première partie consiste à indiquer aux moteurs de recherche que le souci que vous rencontrez une erreur temporaire avec le code 503 et que vous pouvez encore explorer le contenu dans les dix minutes. 

Pour ce faire, il faudra créer un fichier db-error.php dans le répertoire wp-content de votre propre installation WordPress et y mettre ce code :

<?php

$protocol = $_SERVER[« SERVER_PROTOCOL »];

if ( ‘HTTP/1.1’ != $protocol && ‘HTTP/1.0’ != $protocol ) $protocol = ‘HTTP/1.0’;

header( « $protocol 503 Service Unavailable », true, 503 );

header( ‘Content-Type: text/html; charset=utf-8’ );

header( ‘Retry-After: 600’ );

Cela évitera de ralentir l’indexation d’un site web avec trop d’erreurs en peu de temps et d’indexer des pages d’erreurs .

2.2. ALERTER LE WEBMASTER

La deuxième partie permet d’informer l’administrateur du site web. Ainsi nous collectons deux données : 

    • $myerror : pour l’enregistrement de SQL qu’on a fait face. 
    • $myurl : pour l’enregistrement de l’url qui a causé l’erreur. 

Mettez ce code ci dessous : 

$myerror=mysql_error();

$myurl=curPageURL();

function curPageURL() {

 $pageURL = ‘http’;

 if ($_SERVER[« HTTPS »] == « on ») {$pageURL .= « s »;}

 $pageURL .= « :// »;

 if ($_SERVER[« SERVER_PORT »] != « 80 ») {

  $pageURL .= $_SERVER[« SERVER_NAME »]. »: ».$_SERVER[« SERVER_PORT »].$_SERVER[« REQUEST_URI »];

 } else {

  $pageURL .= $_SERVER[« SERVER_NAME »].$_SERVER[« REQUEST_URI »];

 }

 return $pageURL;

}

Une fois que vous avez repérez ces deux informations, vous pouvez transférer un mail au webmaster pour lui expliquer le type d’erreur WordPress qui s’est produite au niveau de la base de données et de la page où elle s’est produite. Ensuite, copiez à nouveau ce code après le fichier db-error.php, remplacez VOTRESITE par votre nom de site et MONEMAIL par l’adresse email de la personne que vous souhaitez notifiez.  

mail( ‘MONEMAIL’, ‘Erreur SQL sur VOTRESITE’, ‘Ceci est 

un message automatis&eacute; suite &agrave; une erreur 

SQL rencontr&eacute; sur le site Internet. Le message

 est : ‘.$myerror.’. L\URL est : ‘.$myurl);?>

Une fois terminée, le webmaster est averti immédiatement. 

2.3. AVISER L’INTERNAUTE 

Bref, vous pouvez modifier le message qui s’affiche à l’utilisateur. Au lieu d’afficher un message dénué de sens et ennuyeux, vous pouvez afficher ce que vous voulez, comme ce genre de message : 

Le site est momentanément indisponible. Veuillez réessayer plus tard, le Webmaster est averti.

Si WordPress achoppe une erreur avec la base de données, votre site web peut ne pas être disponible du tout. Par conséquent, nous vous recommandons d’étendre ce message d’erreur en regardant votre site web à l’aide de :

    • un lien conduisant jusqu’à vos profits sociaux.
    • une indication de période de “maintenance” : par exemple “VEUILLEZ RÉESSAYER DANS 24 HEURES”
    • Une ample explication de l’erreur
    • etc,

Vous pouvez très bien , même ajouter des vidéos, des images pour occuper l’utilisateur. Laissez votre imagination vous emporter. 

2.4. LE CODE EN INTÉGRALITÉ

<?php

$protocol = $_SERVER[« SERVER_PROTOCOL »];

if ( ‘HTTP/1.1’ != $protocol && ‘HTTP/1.0’ != $protocol ) $protocol = ‘HTTP/1.0’;

header( « $protocol 503 Service Unavailable », 

true, 503 );

header( ‘Content-Type: text/html; charset=utf-8’ );

header( ‘Retry-After: 600’ );

$temp=mysql_error();

$url=curPageURL();

function curPageURL() {

$pageURL = ‘http’;

if ($_SERVER[« HTTPS »] == « on ») {$pageURL .= 

« s »;}

$pageURL .= « :// »;

if ($_SERVER[« SERVER_PORT »] != « 80 ») {

  $pageURL .= $_SERVER[« SERVER_NAME »]. »: ».$_SERVER[« SERVER_PORT »].$_SERVER[« REQUEST_URI »];

} else {

  $pageURL .= $_SERVER[« SERVER_NAME »].$_SERVER[« REQUEST_URI »];  }

return $pageURL;}

mail( ‘MONEMAIL’, ‘Erreur SQL sur MONSITE’, ‘Ceci est un message automatic; suite a une grave; une erreur SQL rencontré; sur le site Internet. Le message est : ‘.$temp.’. L\URL est : 

‘.$url); ?>

<html>

<head>

<title>MONSITE temporairement indisponible</title>

<style>

   body{background:#fff;font:14px verdana, serif;line-height:1.4;margin:0;padding:0}

#wrapper{height:224px;margin: 81px auto 0;width:565px}

h1{fontsize:35px;fontweight:normal;margin

top:0}

p{margin:0 0 10px 15px}

</style>

</head>

<body>

<div id= »wrapper »>

<h1>MONSITE est temporairement inaccessible.

</h1>

<p>Le webmaster/Propriétaire du site a été averti. Merci de revenir plus tard.</p>

</div>

</body>

</html>

Résoudre les DB-error de WordPress prend souvent du temps, de la réflexion et de l’énergie. Pour surmonter ces erreurs, le plus important est de rester calme et de ne pas paniquer. et pensez à sauvegarder l’ensemble de votre site, avant de procéder à quoi que ce soit.