Googlebot envoie aussi des requêtes DELETE : ce qu'il faut auditer
Moins de 1,5 % des requêtes des crawlers Google utilisent HEAD, OPTIONS, PUT, PATCH ou DELETE. Voici quoi vérifier dans vos logs, votre WAF et vos API.
Googlebot ne se contente pas de demander des pages avec GET. Gary Illyes vient de rappeler que les robots de Google peuvent aussi envoyer des requêtes HEAD, OPTIONS, PUT, PATCH et même DELETE. Ces méthodes représentent moins de 1,5 % des requêtes émises par l’ensemble des crawlers Google.
Le chiffre est faible. Le sujet, lui, mérite l’attention des équipes techniques. Pas parce que Google aurait découvert une nouvelle méthode de classement. Parce que certains sites traitent encore toute requête inhabituelle comme une attaque, ou pire, l’exécutent sans garde-fou.
Pourquoi Googlebot envoie autre chose que GET
L’explication donnée par Gary Illyes est simple : du JavaScript déclenche ces requêtes pendant le rendu. Google charge la page, exécute les scripts et reproduit une partie de ce qu’un navigateur ferait. Si une application appelle une API avec OPTIONS, PATCH ou DELETE, l’infrastructure de rendu peut suivre ce chemin.
Chaque méthode a pourtant un rôle différent :
GETrécupère une ressource ;HEADrécupère les en-têtes sans télécharger le corps ;OPTIONSvérifie les méthodes autorisées, notamment lors des échanges CORS ;PUTremplace généralement une ressource ;PATCHla modifie partiellement ;DELETEdemande sa suppression.
Voir Googlebot associé à DELETE dans un journal serveur peut donc surprendre. Cela ne signifie pas que Google cherche à effacer votre catalogue. Cela signifie souvent qu’un script présent sur la page a initié l’appel.
Le vrai problème est applicatif, pas SEO
Une route qui modifie des données ne doit jamais dépendre du seul verbe HTTP pour être protégée. Si un simple DELETE /api/product/123 fonctionne sans authentification, sans contrôle d’autorisation et sans validation CSRF lorsque celle-ci s’applique, le problème est déjà grave. Googlebot ne fait que le révéler.
Même logique pour un endpoint PATCH qui ajoute un article au panier, modifie une préférence ou déclenche un workflow. Un crawler, un outil de monitoring ou un navigateur automatisé peut l’appeler. Une requête de crawl ne doit produire aucun effet de bord métier.
Je déconseille aussi de répondre 200 OK partout pour calmer les outils. Une méthode non prise en charge doit recevoir un 405 Method Not Allowed, idéalement avec un en-tête Allow. Une requête non authentifiée vers une action protégée doit être refusée proprement. Un endpoint inexistant reste un 404.
Faut-il autoriser toutes ces méthodes dans le WAF ?
Non. Le chiffre de 1,5 % n’est pas une consigne pour ouvrir PUT, PATCH et DELETE à Internet sans distinction.
Il faut raisonner par route :
- Les pages publiques acceptent généralement
GETetHEAD. - Les prérequêtes CORS légitimes nécessitent parfois
OPTIONS. - Les méthodes d’écriture restent limitées aux API concernées.
- Toute mutation exige authentification et autorisation côté serveur.
- Le WAF doit journaliser les refus sans bloquer aveuglément tout le domaine.
Créer une règle globale du type « autoriser si User-Agent contient Googlebot » serait une erreur. Un User-Agent se falsifie en une seconde. Si une exception est réellement nécessaire, Google recommande de vérifier ses crawlers par DNS inversé puis direct, ou grâce aux plages IP publiées. Mais même un crawler authentifié ne doit pas obtenir le droit de modifier des données.
L’audit à faire dans les logs
Commencez par mesurer les méthodes reçues sur sept à trente jours. Nginx permet par exemple d’agréger le champ $request_method. Ensuite, croisez méthode, URL, code HTTP, User-Agent et IP.
Cherchez quatre anomalies :
- des
PUT,PATCHouDELETEqui répondent en2xxsur des routes publiques ; - des volumes élevés d’
OPTIONS, souvent liés à une mauvaise configuration CORS ; - des réponses
403massives sur des ressources indispensables au rendu ; - des appels déclenchés par vos propres scripts vers des endpoints inutiles ou obsolètes.
Testez enfin la page avec JavaScript activé, puis désactivé. Dans l’onglet Réseau du navigateur, filtrez par méthode. On trouve parfois en dix minutes un widget tiers qui bavarde avec cinq API ou une application React qui lance une mutation au chargement.
Mon avis
Cette actualité ne justifie ni une refonte SEO ni une nouvelle ligne dans le reporting mensuel. Elle rappelle quelque chose de plus utile : Googlebot est devenu un client web complexe, capable d’exécuter les comportements que nous lui servons.
La bonne réponse n’est pas de bricoler une exception pour Google. Il faut corriger l’application, limiter les méthodes par endpoint et supprimer les effets de bord au chargement. C’est meilleur pour le crawl, pour les performances et surtout pour la sécurité.