Le WordPress d'aujourd'hui, décodé pour les développeurs

Multilingue

Erreur 500 sur le proxy TranslatePress après une migration d’hébergeur

« 500 Internal Server Error » sur toutes les pages traduites après un changement d'hébergeur : la cause se cache rarement là où on la cherche d'abord.

Par Clément Hadrot • 17 juin 2025 • 5 min de lecture • Aucun commentaire
Erreur 500 sur le proxy TranslatePress après une migration d'hébergeur

« 500 Internal Server Error » sur chaque page consultée dans une langue autre que la langue par défaut, immédiatement après une migration vers un nouvel hébergeur mutualisé : c’est le symptôme exact rencontré sur un site vitrine traduit avec TranslatePress en mode automatique par proxy. Les pages en langue source restaient parfaitement fonctionnelles, ce qui a orienté le diagnostic dès le départ vers le mécanisme de traduction lui-même plutôt que vers une panne générale du serveur.

Symptôme : tout casse, sauf la langue source

Le site utilisait le mode de traduction automatique par proxy de TranslatePress, qui fonctionne en interceptant les requêtes du visiteur, en récupérant le contenu original, puis en le faisant transiter par les serveurs de traduction automatique de l’extension avant de renvoyer la page traduite au navigateur. Ce mécanisme suppose que le serveur d’hébergement puisse établir lui-même une connexion sortante vers l’infrastructure de TranslatePress.

Après la migration, chaque requête sur une URL en langue non par défaut renvoyait une erreur 500 générique, sans message explicite côté navigateur. Les journaux d’erreur PHP du serveur, une fois consultés, affichaient un délai d’attente dépassé lors d’un appel wp_remote_post(), sans autre précision immédiate.

Diagnostic : un accès sortant bloqué chez le nouvel hébergeur

L'essentiel à retenir : Le mode proxy dépend d'un accès sortant du serveur vers l'API TranslatePress ; Un pare-feu sortant mal configuré chez le nouvel hébergeur bloque tout ; Le nouveau serveur doit répliquer exactement les règles réseau sortantes de l'ancien

Le nouvel hébergeur mutualisé appliquait, par défaut, un pare-feu réseau restrictif sur les connexions sortantes depuis les comptes d’hébergement, une pratique courante pour limiter les usages abusifs mais rarement documentée clairement dans les offres commerciales. L’ancien hébergeur ne bloquait aucune connexion sortante, ce qui expliquait pourquoi le mode proxy fonctionnait sans difficulté avant la migration.

Un test simple a permis de confirmer l’hypothèse : une tentative de connexion sortante manuelle depuis le serveur, via une commande curl exécutée en SSH vers l’infrastructure de TranslatePress, échouait avec un délai d’attente identique à celui observé dans les journaux PHP.

curl -v --max-time 10 https://api.translatepress.com/
# curl: (28) Failed to connect: Connection timed out

Ce résultat confirmait que le blocage se situait au niveau réseau du serveur, en amont de tout code WordPress ou configuration de l’extension. Aucun réglage dans l’administration de TranslatePress ne pouvait corriger un pare-feu sortant appliqué au niveau de l’infrastructure d’hébergement.

Correctif : ouvrir les ports sortants nécessaires

La correction a nécessité un ticket auprès du support du nouvel hébergeur, demandant explicitement l’ouverture des connexions sortantes en HTTPS, port 443, vers les domaines utilisés par l’infrastructure de traduction automatique de TranslatePress. Certains hébergeurs mutualisés exigent une liste blanche précise de domaines plutôt qu’une ouverture générale du port 443 sortant, pour des raisons de sécurité internes.

Après ouverture de cet accès sortant, une nouvelle tentative de curl depuis le serveur a confirmé la connexion, et les pages traduites ont immédiatement recommencé à s’afficher normalement, sans qu’aucune modification n’ait été nécessaire côté WordPress ou côté configuration de l’extension elle-même.

  • Vérifier d’abord si le problème touche toutes les langues ou seulement certaines.
  • Tester la connexion sortante du serveur avec une commande curl directe.
  • Demander explicitement l’ouverture des ports sortants nécessaires au support de l’hébergeur.

Prévention : documenter les dépendances réseau avant toute migration

La leçon la plus utile de cet incident concerne la préparation des migrations futures, pas seulement le correctif lui-même. Toute extension fonctionnant en mode proxy ou dépendant d’un service externe accessible depuis le serveur mérite d’être documentée explicitement dans une checklist de migration, avec la liste des domaines et ports nécessaires en sortie.

Une migration d’hébergeur ne se limite jamais au transfert des fichiers et de la base de données ; elle inclut la vérification de chaque dépendance réseau sortante que le site sollicite silencieusement.

Un test post-migration systématique

Depuis cet incident, l’équipe ajoute une étape de recette spécifique après toute migration d’hébergeur : consulter au moins une page dans chaque langue traduite automatiquement, avant même de considérer la migration comme terminée. Ce test, qui prend moins de cinq minutes, aurait permis de détecter le problème immédiatement plutôt que plusieurs heures après la mise en production, lorsque des visiteurs ont commencé à signaler l’incident.

Ce qu’il faut retenir

Une erreur 500 limitée aux pages traduites, sur un site utilisant un mode de traduction par proxy, doit systématiquement faire suspecter un blocage réseau sortant plutôt qu’un problème de configuration de l’extension elle-même. Le réflexe curl en ligne de commande depuis le serveur reste le moyen le plus rapide de confirmer ou d’écarter cette hypothèse avant d’explorer des pistes plus complexes.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi