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

L'équipe Citead, mis à jour le

En bref. Vérifiez une requête Perplexity en reconnaissant son User-Agent et en contrôlant son adresse IP source dans la liste IP officielle correspondante.

Définition : La vérification d’une requête Perplexity associe la reconnaissance de son en-tête User-Agent au contrôle de l’appartenance de son adresse IP source aux plages IP publiées correspondantes. Au 17 octobre 2026, Perplexity documente cette méthode combinée pour PerplexityBot et Perplexity-User.

Points clés

À quelle requête correspond chaque User-Agent ?

Les identifiants publiés par Perplexity distinguent PerplexityBot, qui sert à fournir des résultats de recherche, de Perplexity-User, qui prend en charge les actions des utilisateurs. Voici les chaînes complètes :

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)

D’où vient l’adresse source ?

Un User-Agent est une information d’identification déclarée par le client, selon la documentation d’Apache sur les journaux d’accès. Sa valeur fournit le nom à rechercher dans la liste correspondante de Perplexity.

Le format de journalisation Combined Log Format d’Apache enregistre cet en-tête au moyen de %{User-agent}i. Son champ %h consigne l’adresse IP du client distant, sauf si la résolution des noms d’hôte la remplace par un nom d’hôte. Lorsqu’un serveur mandataire (proxy) se trouve entre le client à l’origine de la requête et le serveur, ce champ peut contenir l’adresse du proxy. La comparaison nécessite donc une adresse qui représente le client à l’origine de la requête.

La même documentation indique que %>s est le champ du code de statut de la réponse. Il permet de distinguer la vérification de l’identité du résultat de la requête, comme une réponse réussie ou une erreur du serveur.

Comment comparer une adresse à une plage publiée ?

Le suffixe qui suit la barre oblique dans un préfixe IP indique le masque de réseau. La documentation du module ipaddress de Python explique les préfixes réseau et fournit des tests d’appartenance d’une adresse avec in.

L’implémentation suivante applique cette opération documentée à la structure JSON téléchargée. Enregistrée sous le nom verify_ip.py, elle prend comme arguments une adresse source, puis le nom du fichier de la liste IP correspondante :

import ipaddress
import json
import sys

address = ipaddress.ip_address(sys.argv[1])
with open(sys.argv[2], encoding="utf-8") as source:
    entries = json.load(source)["prefixes"]

networks = [
    ipaddress.ip_network(value)
    for entry in entries
    for key, value in entry.items()
    if key in ("ipv4Prefix", "ipv6Prefix")
]
print(any(address in network for network in networks))

True signifie que l’adresse appartient à un réseau de la liste. La reconnaissance du User-Agent reste une étape distincte de la vérification. Une adresse située en dehors des plages de la liste fournie échoue à ce test d’appartenance.

Comment traduire cette vérification en règle de pare-feu ?

Un pare-feu applicatif web (web application firewall) filtre les requêtes avant qu’elles n’atteignent le contenu du site. Les consignes de Perplexity pour AWS WAF associent des ensembles d’adresses IP aux chaînes User-Agent correspondantes. Elles recommandent d’actualiser régulièrement les listes et de surveiller les journaux après toute modification des règles.

Termes associés

Questions fréquentes

Puis-je autoriser les requêtes sur la seule base du User-Agent ?

La méthode de pare-feu documentée par Perplexity combine la reconnaissance de l’en-tête et la vérification IP. Appliquez ces deux conditions lorsque vous autorisez des requêtes selon cette méthode.

Quel fichier dois-je utiliser pour Perplexity-User ?

Utilisez le point d’accès officiel perplexity-user.json. Associez cette liste à l’identifiant Perplexity-User dans l’en-tête de la requête.

Sources

  1. Perplexity, « Perplexity Crawlers », sans date, consulté le 17 octobre 2026
  2. Perplexity, « PerplexityBot published IP addresses », récupéré le 17 octobre 2026
  3. Perplexity, « Perplexity-User published IP addresses », récupéré le 17 octobre 2026
  4. Apache Software Foundation, « Log Files », sans date, consulté le 17 octobre 2026
  5. Python Software Foundation, « ipaddress », sans date, consulté le 17 octobre 2026

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