Image de couverture : llms.txt : le nouveau robots.txt que vos projets PHP/Symfony doivent adopter maintenant
tech

llms.txt : le nouveau robots.txt que vos projets PHP/Symfony doivent adopter maintenant

23 May 2026
5 min de lecture
3 vues
Sébastien Muler

L'ère des agents IA redéfinit les standards du web

Google vient de franchir une étape significative dans la course à l'optimisation pour les agents IA. Via une nouvelle catégorie expérimentale baptisée "Agentic Browsing" dans son outil d'audit Lighthouse, le moteur teste désormais dans quelle mesure les sites web sont prêts à interagir avec des agents automatisés. Parmi les critères évalués : la présence d'un fichier llms.txt.

Cette annonce, relayée par The Decoder, n'est pas anodine. Elle marque un tournant comparable à l'introduction de robots.txt dans les années 90 ou des sitemaps XML au début des années 2000. Si vous développez des applications web en PHP, Symfony ou Laravel, il est temps de prendre ce sujet au sérieux.


Que vérifie exactement l'audit "Agentic Browsing" de Lighthouse ?

Contrairement aux audits Lighthouse classiques qui produisent un score de 0 à 100, cette nouvelle catégorie retourne un ratio de vérifications passées. Quatre axes sont évalués :

  • L'intégration de la WebMCP API de Google, qui permet d'exposer des formulaires et de la logique métier directement aux agents
  • L'arbre d'accessibilité (accessibility tree), utilisé comme modèle de données principal par les machines
  • La stabilité visuelle via le Cumulative Layout Shift (CLS)
  • La présence d'un fichier llms.txt à la racine du site

Pour illustrer la rigueur de ces critères, même Airbnb n'en passe qu'un seul sur trois : l'arbre d'accessibilité n'est pas correctement structuré, le fichier llms.txt est absent, et les audits WebMCP reviennent comme non applicables.

Le message de Google aux développeurs est clair : utilisez du HTML sémantique, des labels ARIA appropriés, et minimisez les décalages de mise en page.


Le fichier llms.txt : concept, rôle et structure

Le fichier llms.txt est une convention encore en cours de standardisation. Son principe est simple : fournir aux modèles de langage et aux agents IA une description structurée de votre site — ce qu'il fait, comment il est organisé, quelles sections sont pertinentes, et lesquelles doivent être ignorées.

C'est en quelque sorte un robots.txt enrichi, mais destiné aux LLM plutôt qu'aux crawlers traditionnels.

Un exemple minimaliste :

# llms.txt
> MulerTech — Agence de développement web PHP/Symfony

## À propos
Nous développons des applications web performantes et sur mesure.

## Documentation
- [API Reference](/docs/api): Documentation complète de notre API REST
- [Guides](/docs/guides): Tutoriels et bonnes pratiques

## À exclure
- /admin
- /espace-client

La structure suit un format Markdown lisible à la fois par les humains et les machines. La balise > introduit une description courte, les sections ## organisent le contenu, et les liens pointent vers les ressources clés.


Implémenter llms.txt dans un projet Symfony ou Laravel

Bonne nouvelle : l'implémentation est triviale. Le fichier doit simplement être servi statiquement à l'URL /llms.txt.

➤ Solution statique (la plus simple)

Déposez directement le fichier dans le répertoire public/ de votre projet Symfony ou Laravel :

projet/
└── public/
    ├── index.php
    ├── robots.txt
    └── llms.txt   ✅

Votre serveur web (Apache ou Nginx) le servira automatiquement sans aucune configuration supplémentaire.

➤ Solution dynamique avec Symfony

Si le contenu doit être généré dynamiquement (selon l'environnement, le client, ou la configuration), créez un contrôleur dédié :

// src/Controller/LlmsTxtController.php

#[Route('/llms.txt', name: 'llms_txt')]
public function index(): Response
{
    $content = $this->renderView('llms_txt/index.txt.twig');

    return new Response($content, 200, [
        'Content-Type' => 'text/plain; charset=UTF-8',
    ]);
}

Et le template Twig associé :

{# templates/llms_txt/index.txt.twig #}
# llms.txt
> {{ site_name }} — {{ site_description }}

## Documentation
{% for doc in docs %}
- [{{ doc.title }}]({{ doc.url }}): {{ doc.description }}
{% endfor %}

## À exclure
/admin
/api/private

Pensez à mettre en cache cette route si le contenu est statique en pratique — inutile de régénérer le fichier à chaque requête.

➤ Vérifier que Google peut le récupérer

Une fois déployé, vérifiez que le fichier est accessible :

curl -I https://votre-domaine.com/llms.txt
# Attendu : HTTP/2 200, Content-Type: text/plain

Evitez les redirections, les authentifications, ou les headers restrictifs (X-Robots-Tag: noindex) sur cette URL.


Ce qu'il faut retenir pour vos projets

L'audit "Agentic Browsing" de Google est encore expérimental et ne génère pas (encore) de pénalités. Mais l'histoire du SEO nous a appris que les signaux expérimentaux d'aujourd'hui deviennent les critères de classement de demain.

Adopter llms.txt dès maintenant présente plusieurs avantages :

  • Coût d'implémentation quasi nul sur un projet existant
  • Signal positif auprès des outils d'audit actuels et futurs
  • Meilleure lisibilité de votre site pour les agents IA qui automatisent des tâches (recherche, comparaison, réservation)
  • Bonne pratique documentaire qui force à clarifier l'architecture de votre application

Combinez cela avec un HTML sémantique soigné, des attributs ARIA corrects, et un CLS maîtrisé — trois points que Symfony et ses composants facilitent nativement — et vous aurez une longueur d'avance concrète sur la majorité des sites en production aujourd'hui.

Partager cet article