Le 30 octobre 2026, Meta s’autorise à crawler votre site. Pas celui d’un éditeur de presse lointain : le vôtre, dès lors que vous faites tourner une Page ou un compte Ads Manager. Et le plus gênant, c’est que ce crawl ne laisse aucune trace dans GA4. Vous pouvez recevoir la visite de Meta-ExternalAgent tous les jours sans jamais le voir apparaître dans vos rapports. Avant de décider si vous bloquez quoi que ce soit, il faut d’abord mesurer. Voici la méthode de praticien pour y voir clair, logs à l’appui, et trancher bot par bot avant la date d’effet.
Ce que dit (vraiment) la clause du 30 octobre
Les faits, sans dramatiser. Les nouvelles Commercial Terms de Meta prennent effet le 30 octobre 2026 et remplacent la version de mars 2024. Elles ajoutent à la Section 1 une phrase qui autorise Meta à utiliser des logiciels automatisés et des identifiants de test pour « access, index, cache, copy and re-crawl » les sites associés aux produits d’un annonceur. En clair : si vous poussez une URL dans vos pubs ou sur votre Page, cette URL entre dans le périmètre.
Le mécanisme d’acceptation est le point qui dérange le plus. Il est passif : continuer à utiliser un produit commercial Meta (Ads Manager, une Page) vaut accord. Il n’y a pas d’opt-out partiel prévu dans le texte, et celui-ci ne mentionne pas robots.txt.
Reste la bataille de communication, qu’il faut regarder froidement. Meta minimise : Andy Stone (16 octobre) parle d’une clause plus étroite que ce qu’en disent les critiques, destinée à récupérer des informations produit fiables, « not about scraping news sites ». Daniel Roberts, au Verge le 17 octobre, précise que « the crawling terms we consolidated only applied to our ads and business products ». En face, Jason Kint (Digital Content Next) y lit un droit de scraper l’open web, et l’avocat Matt Topic conseille aux éditeurs de présumer la clause applicable. Détail qui a son importance : le mot « train » figurait dans une première version (« research, train and maintain »). Entre le 17 et le 20 octobre, il a disparu de la page de prévisualisation. Mais le verbe a changé, pas le reste : la mécanique d’accès, d’indexation, de mise en cache et de re-crawl, elle, est toujours là.
Je ne tranche pas le volet juridique, et ceci n’est pas un conseil juridique. Ce qui nous intéresse ici est le fait technique, et il est simple : à partir du 30 octobre, un ou plusieurs bots Meta vont passer sur vos pages. La seule question utile, c’est lesquels, combien, et sur quelles URL. Et ça, ça se mesure.
Les cinq user-agents Meta (et pourquoi GA4 est aveugle)
Première erreur à éviter : parler de « Meta » comme d’un bloc. La documentation Meta décrit cinq robots distincts, avec cinq métiers et cinq effets différents quand on les bloque. Les confondre, c’est prendre une décision de blocage à l’aveugle.
| User-agent | Rôle | Effet si vous le bloquez |
|---|---|---|
meta-externalagent/1.1 | Entraînement des modèles et indexation produit (usage mixte, un seul token) | Vous sortez de l’entraînement ET de l’indexation produit directe. Impossible de séparer les deux. |
meta-webindexer/1.1 | Indexation pour la recherche Meta AI | Vous perdez la citation et le lien dans les réponses de Meta AI. |
meta-externalads/1.1 | Publicité et produits business | Risque de dégrader la navigation produit activée sur vos pubs le 28 octobre. |
facebookexternalhit/1.1 | Aperçus de liens (titre, description, vignette au partage) | Vos aperçus cassent sur Facebook, Instagram et WhatsApp. À NE PAS bloquer. |
meta-externalfetcher/1.1 | Récupération d’une page à la demande d’un utilisateur (features agentiques) | Vous fermez la porte à une récupération déclenchée par un vrai humain. |
Retenez surtout le piège de l’usage mixte. meta-externalagent sert à la fois l’entraînement des modèles de fondation et l’indexation de contenu pour améliorer les produits, sous un seul et même token robots.txt. Vous ne pouvez pas autoriser l’un et refuser l’autre : c’est tout ou rien. C’est exactement le même problème que les bots mixtes côté Google, que je détaille dans Crawlers IA : lesquels bloquer avant le 15 septembre 2026 ?. Deux autres bots (facebookexternalhit et meta-externalfetcher) peuvent par ailleurs ignorer robots.txt, parce qu’ils agissent pour un contrôle d’intégrité ou une requête utilisateur. Gardez ce point en tête pour la suite.
Pourquoi aucun de ces bots n’apparaît dans GA4
GA4, c’est un tag JavaScript qui se déclenche dans un navigateur. Ces bots ne sont pas des navigateurs : ils récupèrent le HTML, point. Ils n’exécutent pas votre gtag, ne chargent pas le conteneur, ne génèrent aucun événement. Résultat, votre rapport GA4 ne montrera jamais une seule visite de Meta-ExternalAgent. Même en server-side, tant que le bot ne touche pas l’endpoint de collecte, il reste invisible. La seule source de vérité, ce sont vos logs serveur ou CDN. Si vous ne mesurez le trafic IA que dans GA4, vous mesurez précisément ce que ces bots ne font pas. C’est la même logique que pour tracker le trafic des navigateurs IA dans GA4 : l’outil analytics voit l’humain, pas la machine.
Mesurer ce que Meta crawle déjà (requête logs/BigQuery)
Le prérequis, c’est d’avoir vos logs serveur ou CDN exportés dans BigQuery. Si ce n’est pas encore le cas, la mise en place est décrite pas à pas dans l’article sur les crawlers IA cité plus haut, et je ne vais pas la répéter ici. Je pars du principe que vous avez une table avec au minimum un user-agent, une URL, un code de statut, un volume d’octets et un horodatage.
Voici une requête qui isole les cinq bots Meta, compte les hits, les pages distinctes, la part de réponses en erreur et le volume transféré :
SELECT
REGEXP_EXTRACT(LOWER(user_agent),
r'(meta-externalagent|meta-webindexer|meta-externalads|facebookexternalhit|meta-externalfetcher)'
) AS meta_bot,
COUNT(*) AS hits,
COUNT(DISTINCT request_uri) AS pages_distinctes,
ROUND(100 * COUNTIF(status >= 400) / COUNT(*), 1) AS pct_4xx_5xx,
ROUND(SUM(response_bytes) / 1e9, 2) AS gigaoctets
FROM `votre_projet.logs.requetes`
WHERE TIMESTAMP_TRUNC(event_timestamp, DAY)
>= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
AND REGEXP_CONTAINS(LOWER(user_agent),
r'meta-externalagent|meta-webindexer|meta-externalads|facebookexternalhit|meta-externalfetcher')
GROUP BY meta_bot
ORDER BY hits DESC;
Trois lectures valent le détour. Le volume par jour d’abord : un pic brutal après le 30 octobre vous dira que la clause a changé quelque chose de concret chez vous. Les pages les plus crawlées ensuite : si Meta passe surtout sur vos fiches produit, l’enjeu n’est pas le même que s’il aspire votre blog. Le taux de 4xx/5xx enfin : beaucoup de 403, c’est soit que vous bloquez déjà (volontairement ou non), soit que votre serveur sature. Et le volume en gigaoctets vous donne le coût réel, à multiplier par votre tarif de bande passante sortante pour chiffrer la facture que ces bots vous imposent.
La matrice de décision avant de bloquer
Une fois la baseline établie, vous décidez bot par bot. La logique n’est pas « bloquer les IA », c’est « arbitrer chaque robot selon ce qu’il vous coûte et ce qu’il vous rapporte ».
| Bot | Recommandation par défaut | Ce que vous perdez en bloquant |
|---|---|---|
meta-externalagent | À arbitrer : propriété du contenu contre présence | Entraînement ET indexation produit directe, d’un bloc |
meta-webindexer | Laisser si la visibilité Meta AI compte | Citations et liens dans les réponses Meta AI |
meta-externalads | Laisser | Risque sur le catalogue et la navigation produit (Advantage+) |
facebookexternalhit | Laisser, toujours | Aperçus de liens au partage social |
meta-externalfetcher | Laisser | Récupération à la demande déclenchée par un humain |
Le bon réflexe est de traiter d’abord meta-externalagent, parce que c’est le seul vrai arbitrage. Le bloquer relève d’un choix de propriété : vous refusez que votre contenu nourrisse les modèles de Meta, en acceptant de sortir aussi de l’indexation produit directe. Les trois « à laisser » cassent des choses utiles si vous y touchez, facebookexternalhit en premier. Une précision qui évite les mauvaises surprises : robots.txt est une consigne, pas une barrière. Les bots d’intégrité ou de récupération utilisateur peuvent l’ignorer. Pour un blocage que vous voulez réellement opposable, il faut descendre au niveau du WAF ou du CDN.
Bloquer Meta-ExternalAgent : robots.txt et règle Cloudflare
Le cas le plus courant : vous voulez sortir de l’entraînement sans toucher au reste. Vous ciblez donc meta-externalagent seul, et vous laissez passer l’indexeur, les aperçus et la récupération.
# robots.txt : sortir de l'entraînement Meta, garder le reste
User-agent: meta-externalagent
Disallow: /
Deux pièges. D’abord, Meta indique qu’un changement de robots.txt peut mettre jusqu’à 24 heures à être pris en compte, le fichier étant mis en cache côté crawler. Si vous visez le 30 octobre, déployez avant le 29 au plus tard. Ensuite, comme vu plus haut, robots.txt ne contraint pas les bots qui l’ignorent. Pour un blocage dur, une règle au niveau CDN s’impose. Côté Cloudflare, une expression de WAF qui bloque l’entraînement tout en préservant explicitement les aperçus de liens ressemble à ceci :
(http.user_agent contains "meta-externalagent"
and not http.user_agent contains "facebookexternalhit")
Vous affectez cette expression à une action « Block » (ou « Managed Challenge » si vous préférez laisser une porte de sortie). La seconde condition est votre garde-fou : elle garantit que vous ne cassez jamais les aperçus de liens, même si Meta fait évoluer ses chaînes d’user-agent.
Votre plan d’action d’ici le 30 octobre
Rien d’insurmontable, mais la fenêtre est courte. Voici l’ordre que je suivrais.
Avant le 24 octobre : exportez vos logs dans BigQuery si ce n’est pas déjà fait, lancez la requête ci-dessus, et notez votre baseline (volume, pages, erreurs, gigaoctets par bot). Sans ce point de départ, vous ne saurez jamais ce que la clause a changé.
Du 24 au 27 octobre : décidez bot par bot avec la matrice. Pour la plupart des sites, la seule vraie question est meta-externalagent, et c’est un choix de principe, pas une urgence technique.
Avant le 28 octobre : déployez le robots.txt choisi et, si vous voulez un blocage dur, la règle CDN, en gardant facebookexternalhit autorisé. Le 28, Meta active la navigation produit dans les pubs existantes : vérifiez juste après que vous n’avez pas dégradé votre catalogue.
Le 30 octobre : la clause entre en vigueur. Relancez la requête 48 heures plus tard et comparez au point de départ. Le delta est votre vraie réponse, bien plus que les communiqués.
FAQ
Meta-ExternalAgent apparaît-il dans GA4 ? Non. C’est un crawler côté serveur qui n’exécute pas votre tag JavaScript. Seuls vos logs serveur ou CDN le voient.
Bloquer Meta-ExternalAgent me sort-il de la publicité Meta ?
Non. La pub et le catalogue passent par meta-externalads et la navigation produit. Bloquer meta-externalagent touche l’entraînement et l’indexation produit directe, pas la diffusion de vos campagnes.
Un robots.txt suffit-il à bloquer Meta ? C’est une consigne que les bots coopératifs respectent, mais certains robots d’intégrité ou de récupération utilisateur peuvent l’ignorer. Pour un blocage réellement opposable, passez par une règle WAF ou CDN.
Dois-je bloquer facebookexternalhit ? Non. Ce bot génère les aperçus de liens quand vos pages sont partagées sur Facebook, Instagram et WhatsApp. Le bloquer casse ces aperçus sans rien vous faire gagner côté entraînement.
Ce qu’il faut retenir
Le 30 octobre n’est pas une deadline juridique que vous devez gérer dans la panique, c’est un rappel : vous devriez déjà savoir qui crawle votre site. La clause Meta ne fait que rendre la question impossible à ignorer. Mesurez d’abord, dans vos logs, puis décidez robot par robot, en commençant par le seul vrai arbitrage, meta-externalagent. Et gardez en tête que ne rien faire est aussi un choix : celui de laisser le texte du 30 octobre trancher à votre place.