Prestashop 1.x erreur « HTTP Error 503: temporarily overloaded »

Vous obtenez le message d’erreur « HTTP Error 503: temporarily overloaded »

L’erreur « HTTP Error 503: temporarily overloaded » sous-entend que le serveur sur lequel est hebergé votre site est surchargé.

Cependant, sous Prestashop 1.x, vous pouvez obtenir cette erreur dans des circonstances qui n’ont absolument rien à voir avec une surcharge serveur (chez Icodia ce message d’erreur n’existe pas sur nos serveurs) :

Lorsque vous  bloquez l’accès à votre site à certains pays, Prestashop se base sur les provenances des IPs et redirige les utilisateurs vers une page spécifique qui vous renvoie ce message incriminant la charge serveur (alors que ce n’est pas le cas) :

/* Display a specific page if the user country is not allowed */
 protected function displayRestrictedCountryPage()
 {
 header('HTTP/1.1 503 temporarily overloaded');
 $this->context->smarty->assign('favicon_url', _PS_IMG_.Configuration::get('PS_FAVICON'));
 $this->smartyOutputContent(_PS_THEME_DIR_.'restricted-country.tpl');
 exit;
 }

Cela peut avoir des conséquences diverses, comme par exemple un souci pour la validation W3C de votre site ou de votre flux RSS :

Effectivement, le site du W3C  a ses IPs basées principalement aux Etats Unis, si vous avez donc bloqué l’accès à cette région, Prestashop va rediriger le W3C vers ce message qui incrimine la charge serveur, alors qu’il s’agit simplement du blocage des IP américaines.

Comment corriger ce souci ?

Option 1 :

Vous pouvez fixer simplement en désactivant le module de blocage par localisation d’ip de Prestashop ou autoriser en plus les pays en lien avec vos tests

Option 2 :

Sinon modifier le paramètre _PS_GEOLOCATION_NO_CATALOG_ dans votre fichier defines.inc.php et le passer à 1. Cela aura pour conséquence de désactiver le module de blocage par pays sur le catalogue du CMS.