En bref. FOLLOW renvoie l’entité cible d’une redirection dynamique et les détails de redirection avec un nœud null pour une redirection manuelle.
Définition : Dans l’API GraphQL Storefront de BigCommerce,
redirectBehavior: FOLLOWplace l’entité ciblée par une redirection dynamique dans le champnodede la route. Pour une redirection manuelle,nodevautnullet le champredirectcontient les détails de la destination.
Points clés
- BigCommerce ne requiert qu’un chemin d’URL pour une recherche avec
route. La réponse peut être une entité, une redirection ou aucun résultat lorsque le chemin ne correspond ni à une entité ni à une redirection, selon la documentation des routes de vitrine. - Le nœud de route prend en charge les redirections 301 de la boutique, représentées sous forme de redirections manuelles ou dynamiques.
- Une redirection dynamique expose le type et l’identifiant d’entité d’une ressource existante de la boutique. Les types documentés sont
ProductRedirect,BrandRedirect,BlogPostRedirect,CategoryRedirectetPageRedirect. - Avec
FOLLOW,nodecontient l’entité cible d’une redirection dynamique. Pour une redirection manuelle,nodevautnulletredirectfournit les détails. - BigCommerce précise que les requêtes de l’API GraphQL Storefront s’exécutent dans le contexte d’un canal de vitrine (storefront channel) particulier dans sa documentation sur le contenu du site.
Que change FOLLOW dans la réponse de la route ?
Le nœud route accepte un argument redirectBehavior. IGNORE est la valeur par défaut. Elle donne la priorité à la recherche directe d’une entité par une URL personnalisée. La documentation indique que redirect et node peuvent tous deux avoir une valeur non nulle lorsqu’une redirection et l’URL d’une entité partagent un même chemin.
FOLLOW modifie la valeur renvoyée dans node lorsque la redirection est dynamique. Le nœud devient le produit, la catégorie, l’article de blog, la marque ou la page cible, ce qui permet de sélectionner des champs de cette entité dans la même réponse GraphQL. L’objet redirect reste disponible pour les métadonnées de la redirection. L’exemple de BigCommerce renvoie un nœud Product avec les champs id et name du produit cible, ainsi qu’un ProductRedirect contenant entityId et path.
La requête présentée dans la documentation prend cette forme :
query {
site {
route(path: "/mug" redirectBehavior: FOLLOW) {
redirect {__typename to {__typename ...on ProductRedirect{entityId path}} toUrl}
node {
id
... on Product {
name
}
}
}
}
}
Comment une redirection dynamique expose-t-elle sa cible ?
Une redirection dynamique pointe vers une ressource existante de la boutique au moyen de son type et de son identifiant d’entité. L’objet redirect.to identifie le sous-type de redirection, qui expose des champs tels que entityId et path. La requête de route peut alors sélectionner dans node le fragment correspondant à la ressource, par exemple ... on Product { name }.
La présentation de l’API GraphQL Storefront de BigCommerce décrit la recherche par URL d’objets tels que les catégories et les marques. Elle précise que les données de plusieurs ressources peuvent être renvoyées par un seul appel à l’API. Ce fonctionnement permet de lire l’entité cible directement dans la réponse FOLLOW, sans résoudre au préalable le chemin de destination.
La page consacrée aux routes répertorie cinq types de redirections dynamiques : ProductRedirect, BrandRedirect, BlogPostRedirect, CategoryRedirect et PageRedirect. Le fragment d’entité doit correspondre au type cible. Un fragment de produit ne peut pas demander des champs de catégorie, par exemple, car GraphQL renvoie les champs selon le type concret du nœud.
Quels détails restent disponibles pour une redirection manuelle ?
Une redirection manuelle possède une URL de destination fixe. Avec FOLLOW, BigCommerce renvoie null pour node, car une redirection manuelle n’a pas d’entité associée, tandis que redirect fournit les détails de la redirection. L’exemple de requête sélectionne toUrl et le champ ManualRedirect.url :
redirect {
toUrl
to {
... on ManualRedirect {
url
}
}
}
L’URL de destination constitue donc une donnée pour une recherche ultérieure. BigCommerce précise qu’une nouvelle requête route est nécessaire pour tenter de récupérer le contenu à cette destination. Si la destination est elle-même une redirection, une chaîne peut se former et nécessiter plusieurs requêtes. Le guide sur le contenu du site montre également une recherche de route par URL de page et précise que le résultat se limite à un canal de vitrine particulier.
Termes associés
- Comment une vitrine découplée (headless) BigCommerce retrouve-t-elle une page à partir d’un chemin d’URL ?
- En quoi les cibles des redirections manuelles et dynamiques de BigCommerce diffèrent-elles ?
- Comment enregistrer des redirections BigCommerce pour un site vitrine précis ?
- Comment inclure les URL cibles résolues des redirections dynamiques dans un export BigCommerce ?
Questions fréquentes
Que faut-il lire après une redirection dynamique avec FOLLOW ?
Lisez l’entité cible dans route.node, puis utilisez le fragment GraphQL correspondant à son type concret. Vous pouvez également lire redirect.to pour obtenir le sous-type de redirection dynamique et son identifiant d’entité.
Que renvoie FOLLOW pour une redirection manuelle ?
Il renvoie null dans node et conserve la destination fixe dans redirect, notamment dans des champs comme toUrl et ManualRedirect.url. Vous devez effectuer une autre requête de route pour le chemin de destination.
Peut-on retrouver un article de blog avec le même modèle de route ?
Oui. BigCommerce répertorie BlogPost parmi les types possibles du nœud de route, et sa documentation sur le contenu du site décrit la récupération d’articles de blog à partir de l’URL de la page web.
Sources
- BigCommerce Docs, « Storefront Routes with the GraphQL Storefront API », sans date
- BigCommerce Docs, « GraphQL Storefront API overview », sans date
- BigCommerce Docs, « Site Content with the GraphQL Storefront API », sans date
Vérifiez comment une page se lit pour les moteurs de réponse. Ouvrir l’analyseur de score GEO