Je travaille actuellement à l’intégration d’un site WordPress vieux de plus de 10 ans avec Discourse. J’ai fait tout mon possible pour m’assurer que l’instance WordPress est propre et fonctionne bien avec 10 ans de données. Après avoir installé le plugin WP-Discourse et configuré les choses (correctement, je l’espère), le serveur ne cessait de ralentir. Il est hébergé sur Cloudways, j’ai donc demandé à leurs ingénieurs si je manquais quelque chose.
Ils ont répondu que /wp-json/wp-discourse/v1/discourse-comments?post_id=undefined causait un énorme ralentissement des performances. Je ne suis pas tout à fait sûr de savoir pourquoi les post_id seraient indéfinis.
L’image suivante est une liste des requêtes URL sur une période de 24 heures.
Avez-vous des idées sur la façon de corriger cette erreur ? J’ai beaucoup cherché une bonne réponse à ce sujet. Je veux juste m’assurer d’obtenir quelques éclaircissements avant de plonger dans les nuances du code.
Désolé pour la réponse tardive à ce sujet — j’étais en vacances.
La route qui est sollicitée à /wp-json/wp-discourse/v1/discourse-comments n’est disponible que lorsque l’option Charger les commentaires avec Ajax est activée. Cette option se trouve dans l’onglet Paramètres de commentaires WP Discourse. Pouvez-vous essayer de désactiver ce paramètre ?
Désactiver ce paramètre devrait régler le problème des requêtes envoyées vers /wp-json/wp-discourse/v1/discourse-comments. Faites-moi savoir si cela ne fonctionne pas.
Je ne sais pas pourquoi des requêtes vers cette route étaient envoyées avec le paramètre post_id=undefined. La requête devrait utiliser l’id de l’article actuel. Si le paramètre post_id est défini sur undefined, la fonction qui gère cette route retournera une chaîne vide. L’activation de l’option « Charger les commentaires avec Ajax » entraînera plus de requêtes vers votre serveur que si l’option n’est pas activée. Par conséquent, sauf si vous rencontrez des problèmes de mise à jour des commentaires dus à la mise en cache, il est préférable de laisser cette option désactivée.