Comment vérifier une requête d’un robot d’exploration OpenAI ?

L'équipe Citead, mis à jour le

En bref. Vérifier une requête d’un robot OpenAI consiste à comparer son adresse IP source fiable aux plages publiées pour l’agent qu’elle déclare.

Définition : Vérifier une requête d’un robot d’exploration (crawler) OpenAI consiste à contrôler si son adresse IP source appartient à une plage publiée par OpenAI pour l’agent indiqué dans la requête. Une plage d’adresses IP est un bloc d’adresses réseau.

Points clés

Quelle adresse faut-il vérifier ?

L’en-tête de requête User-Agent identifie le logiciel que la requête déclare utiliser. Ce nom constitue le point de départ de la vérification. Les consignes de Google pour vérifier ses robots décrivent le problème des visiteurs qui se font passer pour les robots d’un opérateur et recommandent, pour les vérifications automatisées, de comparer les adresses des requêtes aux plages publiées. Appliquer cette méthode ici revient à utiliser les listes d’OpenAI.

Un mandataire inverse (reverse proxy) est un intermédiaire qui transmet une requête au serveur du site. Lorsqu’un tel intermédiaire est en place, l’adresse de connexion peut lui appartenir. La documentation du module mod_remoteip d’Apache explique comment un mandataire de confiance peut fournir l’adresse d’origine du client. Son champ de journal %a enregistre l’adresse du client après remplacement, tandis que %{c}a conserve l’adresse de la connexion sous-jacente. Apache précise que ce fonctionnement exige des intermédiaires de confiance, car un client distant peut usurper une autre adresse.

Pour une installation utilisant ce module, la comparaison porte donc sur l’adresse du client obtenue selon la relation de confiance configurée. Un en-tête de transfert quelconque ne constitue pas une preuve suffisante.

Comment comparer une adresse aux plages publiées ?

Le fichier searchbot.json d’OpenAI contient cet exemple d’entrée dans son tableau prefixes :

{"ipv4Prefix": "104.210.140.128/28"}

La notation avec une barre oblique décrit un réseau et la longueur de son préfixe. L’introduction au module ipaddress de Python explique que le préfixe détermine les bits de début d’adresse qui doivent correspondre. L’opération address in network teste l’appartenance à ce bloc.

Le code suivant télécharge la liste de l’agent de recherche et vérifie une adresse. L’adresse d’exemple doit être remplacée par celle de la requête, extraite d’un journal fiable. Le code affiche les plages correspondantes ; une liste vide signifie que l’adresse échoue à cette comparaison. Il s’agit d’un exemple de mise en œuvre du test d’appartenance.

curl -sL -A "Mozilla/5.0" https://openai.com/searchbot.json -o searchbot.json
python3 - <<'PY'
import ipaddress
import json

address = ipaddress.ip_address("104.210.140.128")
with open("searchbot.json") as file:
    data = json.load(file)
ranges = [ipaddress.ip_network(item["ipv4Prefix"])
          for item in data["prefixes"]]
print([str(network) for network in ranges if address in network])
PY

Pour GPTBot ou ChatGPT-User, l’URL de téléchargement et le nom du fichier local doivent correspondre à la liste de l’agent concerné. Cet exemple lit les entrées ipv4Prefix présentes dans les fichiers publiés. Consigner la valeur creationTime du fichier avec le résultat permet de rattacher la comparaison à la liste téléchargée.

Termes associés

Questions fréquentes

Une adresse correspondante prouve-t-elle que ChatGPT a utilisé ma page dans une réponse ?

Une correspondance établit que l’adresse enregistrée dans vos journaux appartient à une plage de la liste sélectionnée. Les plages publiées pour la recherche contiennent des préfixes d’adresses ; déterminer comment une réponse donnée utilise un contenu nécessite des éléments de preuve distincts.

Dois-je exiger une version exacte du User-Agent ?

La documentation d’OpenAI sur ses robots indique que les numéros de version donnés en exemple peuvent changer. Utilisez le nom de l’agent pour choisir la liste d’adresses, puis vérifiez que l’adresse de votre requête appartient à l’une de ses plages.

ChatGPT-User est-il un robot d’exploration automatique ?

La même documentation d’OpenAI décrit ChatGPT-User comme un agent intervenant à la suite d’actions des utilisateurs et précise qu’il ne parcourt pas automatiquement le Web. Pour la vérification, utilisez sa liste d’adresses distincte lorsque ce nom apparaît dans vos journaux.

Sources

  1. OpenAI, « Overview of OpenAI Crawlers », sans date
  2. OpenAI, « OAI-SearchBot published IP addresses », 2 janvier 2026, creationTime
  3. OpenAI, « GPTBot published IP addresses », 22 septembre 2026, creationTime
  4. OpenAI, « ChatGPT-User published IP addresses », 7 octobre 2026, creationTime
  5. Google, « Verify requests from Google crawlers and fetchers », 20 mars 2026
  6. Apache Software Foundation, « mod_remoteip », sans date
  7. Python Software Foundation, « An introduction to the ipaddress module », sans date

Vérifiez comment une page se lit pour les moteurs de réponse. Ouvrir l’analyseur de score GEO

Testez une page et voyez quoi corriger en premier

L'analyse prend en général moins de 10 secondes et ne demande pas de compte.

400 000+ pages notées dans le benchmark public