Le message qui bloque tout : « Allowed memory size exhausted »

Ce matin type : un site WooCommerce affiche une page presque blanche, avec une seule ligne en haut, du style Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes). Le back-office ne charge plus, l’éditeur de pages tourne dans le vide, et parfois même la page d’accueil publique renvoie une erreur.

Ce message veut dire une chose précise : PHP, le langage qui fait tourner WordPress, a une limite de mémoire vive allouée pour exécuter le site. Quand un script (un plugin, un thème, un import) demande plus de mémoire que cette limite autorisée, PHP arrête tout net pour ne pas faire planter le serveur entier. C’est une sécurité, pas un bug aléatoire.

La bonne nouvelle : c’est l’une des pannes WordPress les plus faciles à corriger une fois qu’on sait où toucher. Il n’y a presque jamais besoin de tout réinstaller. Il faut juste comprendre trois choses : où se règle cette limite, pourquoi elle est atteinte, et jusqu’où on peut la monter avant que ce soit l’hébergeur lui-même qui bloque.

Cette erreur est cousine d’autres messages fatals de WordPress. Si le site affiche plutôt un écran blanc sans message clair ou une erreur 500, le diagnostic mémoire reste une des premières pistes à vérifier.

Pourquoi ça arrive : ce qui pèse sur la mémoire PHP

La mémoire ne s’épuise jamais « toute seule ». Il y a toujours une cause identifiable, souvent cumulative :

Le point commun à toutes ces causes : la mémoire manquante n’est presque jamais « le vrai problème », elle révèle un problème en amont. Augmenter la limite peut suffire à débloquer le site dans l’immédiat, mais ne traite pas toujours la cause.

1. Lire précisément le message d’erreur

Avant de toucher à quoi que ce soit, note le chemin de fichier indiqué dans le message d’erreur. WordPress affiche souvent une ligne du type :

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /wp-content/plugins/nom-du-plugin/fichier.php on line 245

Ce chemin /wp-content/plugins/nom-du-plugin/ est une information précieuse : il pointe souvent vers le plugin responsable du pic de consommation. Si le message n’apparaît pas à l’écran (WordPress cache parfois les erreurs en production), regarde le fichier wp-content/debug.log si le mode debug est activé, ou les logs d’erreurs PHP accessibles depuis le panel de ton hébergeur.

2. Augmenter la limite dans wp-config.php

C’est le réglage le plus simple et le plus courant. Ouvre le fichier wp-config.php, à la racine de l’installation WordPress, via FTP ou le gestionnaire de fichiers de ton hébergeur. Ajoute ces deux lignes juste avant /* That's all, stop editing! */ :

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

WP_MEMORY_LIMIT définit la mémoire allouée pour l’affichage normal du site (front et back-office classique). WP_MAX_MEMORY_LIMIT définit la mémoire allouée pour les opérations lourdes en admin, comme les imports ou l’édition avec un constructeur de pages. 256 Mo est une valeur de départ raisonnable pour un site WordPress standard avec quelques plugins ; 512 Mo si le site tourne sous WooCommerce avec un catalogue conséquent.

Attention : ces constantes ne peuvent jamais dépasser la limite fixée par le serveur lui-même. Si l’hébergeur bride PHP à 128 Mo au niveau système, écrire 512M dans wp-config.php ne changera rien.

3. Relever la limite côté serveur : php.ini ou panel hébergeur

La vraie limite, celle qui prime sur tout le reste, se trouve dans la configuration PHP du serveur. Elle se règle différemment selon le type d’hébergement :

Si aucune de ces options n’est disponible depuis le panel, c’est le signe que la limite de l’hébergement est un vrai plafond, pas juste un réglage par défaut. On y revient au point 7.

4. Passer par .htaccess si le serveur tourne sous Apache

Sur les hébergements Apache (la majorité des mutualisés français), une autre option consiste à ajouter cette ligne dans le fichier .htaccess à la racine du site :

php_value memory_limit 256M

Cette méthode fonctionne uniquement si le serveur utilise le module mod_php et si l’hébergeur autorise la surcharge de directives PHP via .htaccess. Si la ligne provoque une erreur 500 dès l’enregistrement, c’est que cette directive n’est pas autorisée à cet endroit sur ce serveur : il faut revenir au panel d’hébergement ou au wp-config.php.

5. Identifier le plugin réellement gourmand

Augmenter la limite débloque le site, mais si un plugin consomme anormalement plus de mémoire à chaque mise à jour, le problème reviendra. L’outil Query Monitor, installable gratuitement, affiche la consommation mémoire réelle par requête et aide à repérer le composant fautif. La méthode complète est détaillée dans trouver le plugin qui ralentit WordPress avec Query Monitor.

Si plusieurs plugins se chevauchent sur les mêmes fonctions (deux caches, deux plugins SEO, deux constructeurs de page), le nettoyage passe aussi par une méthode sûre pour identifier un conflit de plugins.

6. Faire le tri dans les plugins actifs

Un site accumule souvent des plugins installés « pour tester » et jamais retirés. Chaque plugin actif charge du code à chaque requête, même sans usage visible. Si le nombre de plugins dépasse la trentaine, la question mérite d’être posée directement : combien de plugins WordPress, est-ce trop ? Désactiver ce qui n’est plus utilisé libère de la mémoire sans rien coder.

7. Quand c’est l’hébergeur lui-même qui plafonne

Certains mutualisés bloquent la mémoire PHP à 128 ou 256 Mo, sans possibilité d’aller plus haut, quel que soit le plan souscrit. C’est un choix technique de l’hébergeur pour préserver la stabilité de l’ensemble des sites mutualisés sur le même serveur. Si le site nécessite structurellement plus de mémoire (catalogue produit important, constructeur de page lourd, forte fréquentation), la solution durable n’est pas de bricoler des contournements, mais de changer d’environnement. Le passage vers un VPS donne un contrôle total sur php.ini et supprime ce plafond. La démarche est expliquée dans passer d’un mutualisé à un VPS : quand et comment.

Tableau récapitulatif des directives

DirectiveRôleOù la réglerValeur de départ conseillée
memory_limitMémoire max allouée à PHP par requêtephp.ini, .htaccess, panel hébergeur256M
WP_MEMORY_LIMITMémoire pour l’affichage normal du sitewp-config.php256M
WP_MAX_MEMORY_LIMITMémoire pour opérations admin lourdes (import, édition)wp-config.php512M
max_execution_timeTemps max d’exécution d’un script avant coupurephp.ini, .htaccess60 à 120 secondes
max_input_varsNombre max de champs traités dans un formulaire complexephp.ini, .htaccess3000

FAQ

Augmenter memory_limit peut-il ralentir le site ?

Non, augmenter la limite ne consomme pas plus de ressources en soi : c’est un plafond, pas une réservation. Un site léger qui n’a jamais besoin de 256 Mo continuera à consommer beaucoup moins en pratique.

Le message d'erreur disparaît mais le site reste lent, que faire ?

C’est le signe que la mémoire n’était qu’un symptôme. Il faut regarder la performance globale du site, notamment via un diagnostic complet comme celui proposé dans site WordPress lent : diagnostic et accélération pas à pas.

Faut-il augmenter memory_limit à 1024M pour être tranquille ?

Non. Une valeur trop haute masque un vrai problème de code ou de configuration et peut aggraver l’impact d’un plugin défectueux au lieu de le révéler. 256M à 512M suffit à la grande majorité des sites WordPress bien tenus.

L'erreur apparaît seulement après une mise à jour, est-ce lié ?

Très probablement. Une mise à jour de plugin, de thème ou de WordPress lui-même peut augmenter les besoins en mémoire. La méthode pour revenir en arrière proprement est détaillée dans mettre à jour WordPress sans rien casser.

Quand passer la main à un pro

Si après avoir ajusté wp-config.php, vérifié le panel d’hébergement et désactivé les plugins suspects le message persiste, ou si l’erreur revient de façon aléatoire sans cause évidente, il est temps de faire intervenir un professionnel. Un diagnostic serveur complet (logs PHP-FPM, configuration Apache/Nginx, requêtes SQL lentes) permet de trancher entre un simple réglage insuffisant et un besoin réel de changement d’infrastructure — avant que le site ne tombe en pleine période de trafic.

Ce problème, Peechy s'en occupe

Plutôt que de tout gérer seul, confiez votre site à une agence qui s'occupe de tout, hébergement, sécurité, maintenance et corrections. Encore plus simple en abonnement : on règle les soucis avant même que vous les remarquiez.

Confier mon site à Peechy