Autoriser ou bloquer les robots d'IA sur Shopify - personnaliser robots.txt.liquid
Ajouter dans robots.txt.liquid des groupes qui refusent GPTBot ou ClaudeBot et gardent la boutique visible dans ChatGPT, Claude et Perplexity, avec les limites.
Shopify génère automatiquement le fichier robots.txt de chaque boutique et le met à jour au fil des évolutions de la plateforme. Il n'existe pas de fichier à téléverser : pour ajouter vos propres règles, il faut créer un modèle de thème nommé robots.txt.liquid. Ce guide montre comment ajouter des groupes pour les robots d'IA sans perdre les règles par défaut de Shopify, explique ce que ce fichier ne contrôle pas (en particulier la diffusion de votre catalogue vers les assistants d'achat) et comment vérifier le résultat.
Ce que Shopify permet et ce qu'il ne permet pas
Le fichier est servi à la racine du domaine principal de la boutique, par exemple https://www.example.com/robots.txt. Selon le centre d'aide, la personnalisation permet d'autoriser ou d'interdire des URL, d'ajouter des règles Crawl-delay pour certains robots, d'ajouter des plans de site et de bloquer certains robots. Elle passe exclusivement par le modèle robots.txt.liquid, qui ne peut utiliser que six objets Liquid : robots, group, rule, user_agent, sitemap et request.
Shopify prévient qu'il s'agit d'une personnalisation non prise en charge : son support n'aide pas à modifier ce fichier, et une erreur peut faire perdre tout le trafic issu des moteurs. Le centre d'aide demande aussi de retirer toute solution de contournement antérieure, par exemple via Cloudflare, avant de modifier le modèle.
Deux couches de contrôle s'appliquent aux robots d'IA, d'après la page d'aide de Shopify :
- La couche réseau, où Shopify gère lui-même la gestion des robots. Aucune action n'est attendue de votre part, et Shopify ne recommande pas de placer un proxy devant la boutique.
- La couche
robots.txt, que vous contrôlez avec le modèle. Shopify rappelle que ces règles sont indicatives et que tous les robots ne les respectent pas.
Bloquer les robots ne coupe pas les vitrines agentiques
C'est la particularité de Shopify. Si vous vendez sur des « vitrines agentiques » comme ChatGPT ou Microsoft Copilot, vos données produit y sont envoyées par Shopify Catalog, indépendamment de robots.txt. Bloquer un robot d'IA dans le fichier n'agit que sur la découverte par le web ouvert.
Ces diffusions se règlent dans l'interface d'administration, section Canaux de vente > Agentic (l'intitulé varie selon la langue de l'interface). Le réglage « Autoriser Shopify à gérer pour moi » est actif par défaut ; en le désactivant, vous pouvez couper l'accès de Shopify Catalog pour l'ensemble des vitrines tierces ou canal par canal. Shopify indique qu'il peut falloir jusqu'à 7 jours pour que le partage s'arrête, et que les produits restent découvrables par l'exploration du web. Ces deux leviers sont donc complémentaires : robots.txt pour les robots qui lisent vos pages, les réglages agentiques pour le flux de catalogue.
Créer le modèle robots.txt.liquid
Dans l'interface d'administration Shopify :
- Ouvrez Boutique en ligne.
- Pour le thème concerné, cliquez sur le bouton …, puis sur Modifier le code.
- Cliquez sur Ajouter un nouveau modèle, puis sélectionnez robots.
- Cliquez sur Créer un modèle.
- Remplacez le contenu par l'exemple ci-dessous, puis enregistrez le fichier dans le thème publié.
Avant tout, enregistrez une copie de votre robots.txt actuel : la documentation pour les développeurs recommande de comparer la sortie du modèle avec la version générée avant de publier.
Le modèle prêt à copier
Le modèle conserve d'abord les groupes par défaut de Shopify au moyen de la boucle officielle, puis ajoute vos groupes en texte brut, comme le prévoit la documentation pour les règles personnalisées.
{% for group in robots.default_groups %}
{{- group.user_agent }}
{%- for rule in group.rules -%}
{{ rule }}
{%- endfor -%}
{%- if group.sitemap != blank -%}
{{ group.sitemap }}
{%- endif -%}
{% endfor %}
# Entraînement de modèles : refusé
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: meta-externalagent
User-agent: MistralAI-Training
User-agent: Applebot-Extended
User-agent: Google-Extended
Disallow: /
# Recherche et récupération à la demande : autorisé,
# avec les mêmes exclusions que le groupe *
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
{%- for group in robots.default_groups -%}
{%- if group.user_agent.value == '*' -%}
{%- for rule in group.rules %}
{{ rule.directive }}: {{ rule.value }}
{%- endfor -%}
{%- endif -%}
{%- endfor %}
La seconde boucle recopie, sous les robots de recherche, chaque règle du groupe * de Shopify (panier, paiement, compte, filtres de collection…). C'est indispensable : un robot qui trouve un groupe à son nom n'applique que celui-ci, et ignorerait donc les exclusions du groupe *. Comme les règles sont lues dans robots.default_groups, elles suivent les mises à jour de Shopify. Les marqueurs {%- et -%} suppriment les espaces et retours à la ligne superflus, afin que chaque règle occupe une ligne.
Retirez du premier groupe les robots que vous acceptez. Gardez en tête que Google-Extended couvre aussi l'ancrage des réponses dans les applications Gemini.
Limites et pièges propres à Shopify
- Ne pas tout remplacer par du texte brut. Shopify « déconseille vivement » d'effacer le modèle pour n'y mettre que des règles fixes : vous perdriez les mises à jour automatiques de la plateforme. L'exemple ci-dessus garde la boucle officielle.
- Un modèle ancien peut figer de vieilles règles. Le centre d'aide signale qu'un modèle existant qui reproduit les groupes par défaut peut conserver des règles que le fichier par défaut n'a plus, comme
Disallow: /searchouDisallow: /policies/. Pour repartir de la version courante, supprimez le modèle puis recréez-le. - Le modèle appartient au thème. Il se trouve dans le dossier
templatesdu thème : un autre thème publié ne contient pas forcément ce fichier. Shopify précise en outre que téléverser un thème depuis la section Thèmes de l'administration n'importe pasrobots.txt.liquid, alors que Theme Kit et la ligne de commande le conservent. - Les espaces mal gérés. Une chaîne ajoutée à l'intérieur de la boucle sans retour à la ligne peut se coller à la règle précédente (
...remoteDisallow: ...), ce qui rend les deux règles invalides. Relisez toujours le fichier rendu. - Les règles par domaine. L'objet
request.hostpermet des règles propres à un domaine, mais Shopify le réserve aux boutiques qui utilisent Shopify Markets avec des domaines distincts. - Les noms en double. Si Shopify ajoute un jour un groupe par défaut pour l'un des robots que vous nommez, les deux groupes seront fusionnés par les robots conformes à la RFC 9309. Vérifiez le résultat après chaque évolution notable.
Pour revenir au fichier par défaut, ouvrez de nouveau Modifier le code, faites un clic droit sur robots.txt.liquid, choisissez Supprimer définitivement, puis Supprimer.
Vérifier le résultat
Les modifications sont immédiates côté boutique, mais les robots ne relisent pas le fichier en continu : comptez jusqu'à 24 heures. Ouvrez https://www.example.com/robots.txt et vérifiez trois points : les groupes par défaut de Shopify sont toujours là, vos deux groupes apparaissent une seule fois, et chaque règle est sur sa propre ligne sous les robots de recherche. Testez ensuite des URL précises (une fiche produit, /cart, /checkouts/) pour GPTBot et OAI-SearchBot avec le testeur de robots.txt IABIG : la fiche produit doit être interdite au premier et permise au second, le panier interdit aux deux.
Sources officielles
- Shopify, Editing robots.txt.liquid : https://help.shopify.com/en/manual/promoting-marketing/seo/editing-robots-txt
- Shopify, Customize robots.txt : https://shopify.dev/docs/storefronts/themes/seo/robots-txt
- Shopify, objet Liquid
robots: https://shopify.dev/docs/api/liquid/objects/robots - Shopify, Shopify agentic storefronts : https://help.shopify.com/en/manual/online-sales-channels/agentic-storefronts
- Shopify, Managing agentic storefronts : https://help.shopify.com/en/manual/online-sales-channels/agentic-storefronts/agentic-home
- RFC 9309, Robots Exclusion Protocol : https://www.rfc-editor.org/rfc/rfc9309
À lire aussi
- Robots d'IA sur Netlify - robots.txt, fichier _headers et Edge Function de filtragePublier un robots.txt sur Netlify, ajouter X-Robots-Tag avec _headers et filtrer les robots d'IA par User-Agent avec une Edge Function ou l'extension dédiée.
- Robots d'IA sur IIS - robots.txt, URL Rewrite, Request Filtering et restrictions IPSur IIS, publier robots.txt, refuser les robots d'entraînement avec une règle URL Rewrite dans web.config et voir les limites des filtres et restrictions IP.
- Robots d'IA avec nginx - robots.txt, blocage par User-Agent, plages IP officielles et débitConfiguration nginx testée pour refuser les robots d'entraînement, laisser passer les vrais robots de recherche IA, limiter leur débit et les journaliser.
- Robots d'IA avec Next.js et Vercel - robots.ts, X-Robots-Tag et pare-feu VercelConfigurer robots.txt avec app/robots.ts dans Next.js, poser un en-tête X-Robots-Tag et régler le pare-feu Vercel sans bloquer ChatGPT Search ni Perplexity.