FeedMender

FeedMender/Erreurs/robots.txt

Refus fréquents

robots.txt bloque vos annonces

C'est le refus le plus déroutant qui soit. La page se positionne parfaitement dans la recherche Google, vous êtes donc certain que rien n'est bloqué, et pourtant chaque annonce Shopping qui y mène est refusée. La cause tient en une ligne que la plupart des gens n'ont jamais eu de raison de lire attentivement.

Ce que Google exige

Trois robots d'exploration différents, tous autorisés

Google atteint votre boutique avec plusieurs robots d'exploration, et Shopping dépend de trois d'entre eux :

  • Googlebot, qui lit vos pages de destination.
  • Googlebot-image, qui récupère vos images produit.
  • AdsBot-Google, qui vérifie la page de destination derrière une annonce.

Pour qu'un produit soit diffusé en annonce, les trois doivent être autorisés dans robots.txt à atteindre les parties concernées de votre site. La recherche et Shopping sont servies par des robots différents, et être le bienvenu pour l'un ne dit rien de l'autre.

Pourquoi c'est si déroutant

AdsBot-Google ignore le groupe générique

La plupart des fichiers robots.txt contiennent un groupe générique, User-agent: *, censé signifier "ces règles s'appliquent à tous les robots". C'est cette intuition qui rend le défaut si difficile à repérer, car AdsBot-Google est une exception délibérée : il n'obéit pas du tout au groupe générique. Il ne suit que les règles écrites pour lui, nommément.

Un fichier comme celui-ci semble donc inoffensif, et ne l'est pas :

User-agent: *
Disallow: /checkout/
Disallow: /cart/

Les robots de la recherche lisent le groupe générique, évitent /checkout/ et indexent normalement le reste du site, ce qui explique que la page se positionne. AdsBot-Google ignore entièrement ce groupe. S'il n'existe aucun groupe nommé AdsBot-Google qui autorise les pages de destination, ou pire, s'il traîne un Disallow: / sous son nom, chaque annonce Shopping pointant vers ces pages est refusée, pendant que la recherche continue comme si de rien n'était.

Comment corriger à la main

Nommez le robot, et autorisez-le

  • Ouvrez https://yourdomain/robots.txt dans un navigateur et lisez-le en entier, y compris tout groupe écrit spécifiquement pour AdsBot-Google.
  • Si AdsBot est exclu de vos pages de destination, ajoutez un groupe qui les autorise, en gardant à l'esprit qu'il n'héritera de rien du groupe générique :
    User-agent: AdsBot-Google
    Allow: /
  • Confirmez que Googlebot peut atteindre vos pages de destination et que Googlebot-image peut atteindre vos chemins d'images, pour que ni la recherche ni l'examen des images ne soient bloqués non plus.
  • Méfiez-vous d'un plugin de sécurité, d'une règle CDN ou d'un pare-feu qui bloque les user agents inconnus, ce qui peut arrêter AdsBot même quand robots.txt est correct.

Lesquels de nos contrôles s'appliquent

Les contrôles robots que FeedMender exécute

L'analyse fait une requête par domaine et teste les trois user agents séparément, car tout le sujet est justement qu'ils ne se comportent pas de la même façon. C'est un échantillon plutôt qu'une couverture exhaustive : au plus trois domaines, et au plus cinq chemins de pages de destination par domaine, en HTTPS. Une boutique servie depuis un seul domaine, c'est-à-dire presque toutes, est entièrement couverte.

  • robots_blocks_adsbot_googlelink, bloque
  • robots_blocks_googlebotlink, bloque
  • robots_blocks_googlebot_imagelink, bloque

C'est une seule famille de code, assemblée par robot, le même contrôle lit donc chaque user agent tour à tour. Elle apparaît sur la liste des contrôles comme *robots_blocks_ dans les familles par attribut.

Le chemin le plus rapide

Laissez l'analyse le lire pour vous

Parce que ce défaut se cache derrière une page qui se positionne, il vaut la peine de faire vérifier explicitement les règles robots pour les trois robots d'exploration. L'analyse gratuite lit votre robots.txt et rend compte séparément pour Googlebot, Googlebot-image et AdsBot-Google.