Comment résoudre l’erreur ‘Maximum execution time exceeded’ sur WordPress ? Guide complet

Comment résoudre l'erreur 'Maximum execution time exceeded' sur WordPress ? Comment résoudre l'erreur 'Maximum execution time exceeded' sur WordPress ? image
Rate this post

Pourquoi l’erreur ‘Maximum execution time exceeded’ apparaît sur votre site WordPress ?

Lorsque vous gérez un site WordPress, vous avez peut-être déjà rencontré ce message frustrant : « Fatal error: Maximum execution time of 30 seconds exceeded ». Cette erreur survient lorsqu’un script PHP met plus de temps que le temps maximal autorisé par votre serveur. Par défaut, ce délai est souvent fixé à 30 secondes, mais certaines tâches lourdes (importation de contenu, mise à jour de plugins, traitement d’images) peuvent le dépasser.

Cette limitation existe pour éviter qu’un script monopolisse indéfiniment les ressources du serveur. Cependant, si vous travaillez avec des sites complexes ou des fichiers volumineux, vous aurez besoin d’augmenter cette limite. Voyons ensemble les causes fréquentes et surtout les solutions efficaces.

Identifier la cause de l’erreur

Avant de modifier quoi que ce soit, il est utile de comprendre ce qui déclenche l’erreur. Voici les situations les plus courantes :

  • Import de contenu volumineux : via l’outil d’import WordPress ou un plugin comme WP All Import.
  • Mise à jour de plugins ou thèmes : surtout si plusieurs mises à jour sont effectuées simultanément.
  • Exécution de cron jobs : certaines tâches planifiées peuvent être lentes.
  • Thème ou plugin mal optimisé : un code inefficace peut ralentir l’exécution.
  • Serveur mutualisé : les ressources limitées peuvent provoquer des dépassements de temps.

Si l’erreur apparaît sur une page spécifique, notez l’URL et le contexte. Cela vous aidera à cibler la solution adaptée.

Solution 1 : Modifier le fichier wp-config.php

La méthode la plus rapide et souvent la plus efficace consiste à ajouter une ligne dans le fichier wp-config.php situé à la racine de votre installation WordPress.

Étapes à suivre

  1. Connectez-vous à votre serveur via FTP (FileZilla, par exemple) ou le gestionnaire de fichiers de votre hébergement.
  2. Ouvrez le fichier wp-config.php avec un éditeur de texte.
  3. Ajoutez la ligne suivante juste avant le commentaire /* C'est tout, ne touchez pas à la suite ! */ :
define('WP_MAX_EXECUTION_TIME', 120);

Cette instruction fixe le temps maximal à 120 secondes. Vous pouvez ajuster la valeur selon vos besoins (300 pour 5 minutes, etc.).

Note importante : Cette constante fonctionne avec WordPress 5.2 et versions ultérieures. Si vous utilisez une version antérieure, vous devrez recourir à d’autres méthodes.

Solution 2 : Modifier le fichier .htaccess

Si vous avez accès au fichier .htaccess (généralement à la racine de votre site), vous pouvez y ajouter une directive pour augmenter la limite d’exécution.

Procédure

  1. Accédez au fichier .htaccess via FTP ou le gestionnaire de fichiers.
  2. Ajoutez les lignes suivantes en dessous de la ligne # BEGIN WordPress :
php_value max_execution_time 120

Si votre serveur utilise PHP en mode CGI, vous devrez peut-être utiliser suPHP_ConfigPath ou d’autres directives. Testez après modification.

Astuce : Faites une sauvegarde du fichier .htaccess avant de le modifier.

Solution 3 : Utiliser un plugin spécialisé

Pour ceux qui ne sont pas à l’aise avec la modification de fichiers, des plugins permettent d’ajuster la limite d’exécution facilement.

Plugins recommandés

  • WP Maximum Execution Time Exceeded : un plugin simple qui ajoute la constante dans wp-config.
  • WP Config Editor : permet de modifier wp-config.php depuis l’interface d’administration.
  • Increase Max Execution Time : dédié à cette tâche.

Installez et activez le plugin, puis définissez la valeur souhaitée dans ses réglages. Attention : les plugins peuvent entrer en conflit avec d’autres réglages, donc testez après installation.

Solution 4 : Modifier le fichier php.ini (si accessible)

Si votre hébergement vous permet d’accéder au fichier php.ini, vous pouvez y définir la valeur globalement.

Étapes

  1. Localisez le fichier php.ini (parfois dans un dossier parent).
  2. Recherchez la ligne max_execution_time et modifiez-la :
max_execution_time = 120

Si la ligne n’existe pas, ajoutez-la. Sauvegardez et vérifiez le résultat.

Limitation : De nombreux hébergements mutualisés ne donnent pas accès à ce fichier. Dans ce cas, utilisez les méthodes précédentes.

Solution 5 : Contacter votre hébergeur

Si aucune des solutions ci-dessus ne fonctionne, il est possible que votre hébergeur bloque les modifications via des restrictions de sécurité. Contactez le support technique et demandez une augmentation de la valeur max_execution_time pour votre site. Précisez que vous avez besoin de 120 secondes (ou plus) pour certaines tâches.

Certains hébergeurs proposent également des interfaces dédiées (comme cPanel) où vous pouvez ajuster ce paramètre via la section « Sélection de version PHP » ou « PHP Settings ».

Comparatif des méthodes

Méthode Difficulté Pérennité Recommandé pour
wp-config.php Facile Permanent (sauf mise à jour WordPress) Tous les utilisateurs
.htaccess Moyen Permanent Utilisateurs avancés
Plugin Très facile Tant que le plugin est actif Débutants
php.ini Moyen Permanent Hébergements dédiés
Hébergeur Facile (demande) Variable Si autres méthodes échouent

Erreurs fréquentes à éviter

  • Augmenter trop la valeur : 300 secondes (5 minutes) est généralement suffisant. Au-delà, cela peut masquer un problème de performance.
  • Ne pas tester après modification : vérifiez que l’erreur ne se reproduit plus.
  • Ignorer l’optimisation du site : si l’erreur revient souvent, envisagez d’optimiser vos plugins, thèmes ou d’utiliser un cache.
  • Modifier le mauvais fichier : assurez-vous d’éditer le bon wp-config.php (à la racine de WordPress).

FAQ – Questions fréquentes sur l’erreur ‘Maximum execution time exceeded’

Quelle est la valeur recommandée pour max_execution_time ?

120 secondes (2 minutes) est un bon compromis. Pour des tâches très lourdes (import de milliers d’articles), 300 secondes peuvent être nécessaires.

L’augmentation du temps d’exécution ralentit-elle mon site ?

Non, cela n’affecte pas la vitesse de chargement des pages pour les visiteurs. Cela permet seulement aux scripts longs de s’exécuter sans interruption.

Puis-je définir une valeur différente selon les pages ?

Oui, avec du code personnalisé dans le fichier functions.php de votre thème, en utilisant set_time_limit(). Exemple : set_time_limit(120); à placer en début de fonction.

Mon hébergeur refuse d’augmenter la limite, que faire ?

Essayez les solutions via wp-config.php ou .htaccess. Si cela ne fonctionne pas, changez d’hébergeur vers un qui offre plus de flexibilité (hébergement VPS ou dédié).

L’erreur persiste après avoir augmenté la limite, pourquoi ?

Vérifiez que la modification a bien été prise en compte (affichez phpinfo()). Sinon, l’hébergeur peut avoir désactivé la directive. Contactez le support.

Est-ce que cette erreur peut endommager mon site ?

Non, elle est simplement bloquante tant qu’elle n’est pas résolue. Une fois corrigée, le site fonctionne normalement.

Recommandations pour éviter l’erreur à l’avenir

Pour prévenir cette erreur, adoptez ces bonnes pratiques :

  • Utilisez un plugin de cache (W3 Total Cache, WP Rocket) pour réduire la charge serveur.
  • Optimisez vos images avant de les importer (taille et poids).
  • Mettez régulièrement à jour vos plugins et thèmes pour bénéficier des optimisations.
  • Évitez d’exécuter plusieurs tâches lourdes en même temps.
  • Si vous importez souvent du contenu, utilisez un plugin d’import dédié qui gère les lots (chunks).

En suivant ces conseils, vous réduirez considérablement les risques de voir l’erreur ‘Maximum execution time exceeded’ sur votre site WordPress. Si elle se reproduit, vous savez désormais comment la corriger rapidement.

Photo by Lawrence Krowdeed on Unsplash

16 thoughts on “Comment résoudre l’erreur ‘Maximum execution time exceeded’ sur WordPress ? Guide complet

  1. Super guide ! Une question : est-ce que cette erreur peut aussi venir d’un plugin mal codé ? J’ai remarqué qu’elle apparaît surtout après l’activation d’un plugin récent.

    1. Tout à fait, un plugin mal optimisé peut provoquer des dépassements de temps. Essayez de désactiver les plugins un par un pour identifier le coupable. Une fois trouvé, contactez le développeur ou cherchez une alternative.

  2. J’ai ajouté la ligne dans wp-config.php mais l’erreur persiste. Pourtant j’ai mis 300 secondes. Une idée ?

    1. Assurez-vous que votre version de WordPress est bien 5.2 ou supérieure (la constante n’existe pas avant). Sinon, vérifiez que le serveur n’a pas une limite plus basse définie dans le php.ini. Vous pouvez aussi contacter votre hébergeur.

  3. Est-ce que la modification du .htaccess fonctionne sur tous les hébergements ? J’ai un serveur OVH et j’ai peur de casser quelque chose.

    1. Généralement oui, mais certains hébergeurs (comme OVH) peuvent restreindre l’accès à .htaccess pour des raisons de sécurité. Vérifiez d’abord si le fichier est présent et modifiable. Sinon, privilégiez wp-config.php.

  4. Existe-t-il un moyen de détecter automatiquement quel script dépasse le temps d’exécution ? Cela m’aiderait à cibler le problème.

    1. Vous pouvez activer le débogage WordPress en ajoutant ‘define(‘WP_DEBUG’, true);’ dans wp-config.php. Cela affichera des messages d’erreur détaillés. Sinon, consultez les logs d’erreur de votre serveur via cPanel ou le gestionnaire de fichiers.

  5. Merci pour cet article très clair ! J’ai essayé la modification du wp-config.php et cela a résolu mon problème d’import de contenu volumineux. Très pratique.

  6. J’ai essayé la solution .htaccess mais mon site a affiché une erreur 500. J’ai dû le restaurer. Une idée de ce qui a pu se passer ?

    1. L’erreur 500 est souvent due à une directive incorrecte. Vérifiez que vous avez bien écrit ‘php_value max_execution_time 120’ sans fautes. Si votre serveur utilise PHP en mode CGI, il faut une syntaxe différente. Consultez la documentation de votre hébergement.

  7. Merci pour les solutions. Pour ma part, j’ai dû passer par le php.ini via cPanel car mon hébergeur ne permettait pas les modifications dans .htaccess. Cela a bien fonctionné.

  8. Attention : si vous modifiez wp-config.php, faites une sauvegarde avant. J’ai déjà perdu mon site à cause d’une erreur de syntaxe. Sinon, bon article !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *