Servir llms.txt à partir d'une configuration Dockerisée WordPress + Nginx

DEV - 06/03
Si vous exécutez WordPress dans Docker avec Nginx et PHP-FPM dans des conteneurs séparés, vous avez probablement...

Si vous exécutez WordPress dans Docker avec Nginx et PHP-FPM dans des conteneurs séparés, vous avez probablement déjà rencontré ce genre de problème : un plugin génère un fichier dans le conteneur WordPress, mais Nginx ne peut pas le voir car les systèmes de fichiers sont isolés.

C'est exactement ce qui s'est passé lorsque j'ai essayé d'activerllms.txtprise en charge via AIOSEO sur une configuration WordPress Dockerisée typique.

Le problème

llms.txtest une nouvelle norme (similaire àrobots.txt) qui aide les LLM à comprendre et à indexer le contenu de votre site. AIOSEO le génère automatiquement, tout comme Yoast SEO. Les deux plugins suivent le même modèle : ils écrivent un fichier physique dans le répertoire racine de WordPress. Dans une configuration standard à serveur unique, cela fonctionne très bien. Dans Docker, ce n’est pas le cas.

Voici le piège :

Une configuration WordPress Dockerisée typique ressemble à ceci :

  • Conteneur Nginx – gère toutes les requêtes HTTP entrantes
  • Conteneur WordPress (PHP-FPM) – exécute l'application

Le/var/www/htmlle répertoire n’est pas un volume partagé entre eux. C'est intentionnel : garder le code immuable et les conteneurs isolés est une bonne pratique. Mais ça veut dire quand AIOSEO écritllms.txtdans le système de fichiers du conteneur WordPress, Nginx ne le trouve tout simplement pas et renvoie un 404.

La solution : modèle de pont PHP

Au lieu d'ajouter un volume partagé (ce qui compromettrait la conception de l'immuabilité), j'ai utilisé un pont PHP : Nginx passellms.txtdemandes à WordPress, qui intercepte et sert le fichier directement.

Deux pièces nécessaires :

1. MU-Plugin (côté WordPress)

Créerwp-content/mu-plugins/llms-txt-bridge.php:

?php /** * Plugin Name: LLMs.txt Bridge * Description: S...
[Courte citation de 8% de l'article original]
Loading...