Join our community of websites already using SEOJuice to automate the boring SEO work.
See what our customers say and learn about sustainable SEO that drives long-term growth.
Explore the blog →TL ; DR : Le véritable gain SEO dans theme.liquid consiste le plus souvent à supprimer du code global plutôt qu’à ajouter un énième snippet. Conservez les signaux SEO universels dans le layout, déplacez le travail spécifique aux pages vers les templates ou les sections, et envoyez à Google un HTML rapide, lisible et moins dépendant des scripts d’applications.
theme.liquid comme un plugin SEOJ’avais l’habitude de chercher d’abord la balise manquante : mauvaise habitude. Chez mindnow, les boutiques Shopify présentant les pires problèmes SEO avaient rarement besoin d’un snippet supplémentaire dans theme.liquid ; elles avaient surtout besoin qu’on en retire cinq vieux avant que Google et les clients ne paient leur prix sur chaque page.
Sur une boutique, le thème a été accusé d’un « mauvais SEO Shopify ». Le vrai problème : six snippets d’applications, deux blocs de schéma en doublon et un flux d’offres produits collé dans le layout. Même schéma sur vadimkravcenko.com et seojuice.io : l’<head> doit décrire la page — pas gérer l’entreprise.
« Liquid est un langage de template open source créé par Shopify et écrit en Ruby. Il constitue l’épine dorsale des thèmes Shopify et sert à charger du contenu dynamique sur les vitrines. »
Cette définition de Shopify est importante : elle place la responsabilité au bon endroit. Liquid n’est pas le coupable. Un travail global bâclé sur le thème, si.
theme.liquidtheme.liquid est le wrapper de mise en page principal pour la plupart des pages d’une vitrine Shopify (la coquille autour des templates et des sections). Il contient souvent le <head>, le content_for_header, les références CSS, les app embeds, les balises de tracking, les snippets de schéma, les directives de preload et le balisage d’ouverture du layout.
Cette puissance est précisément la raison pour laquelle le fichier doit rester ennuyeux. Si une erreur se cache dans une section produit, elle n’impacte que les pages produit. Si elle se trouve dans theme.liquid, elle se propage partout.
Les meilleurs résultats de recherche effleurent le sujet. La documentation performance de Shopify fournit la base technique la plus solide. Le guide SEO général de Shopify détaille la structure, les métadonnées et les données structurées. Speed Boostr se rapproche du travail pratique sur la vitesse que ressentent les marchands.
Ce qu’ils n’offrent pas, c’est la gouvernance : ce qui appartient au layout, ce qui appartient aux templates et ce qui n’aurait jamais dû être installé globalement.
C’est la règle pour le reste de l’article. Les éléments site-wide peuvent vivre dans theme.liquid. La logique propre aux produits, collections, articles, FAQ et fil d’Ariane doit rester proche du template qui la possède.
theme.liquidLa réponse n’est pas « tout supprimer ». Shopify a besoin d’une partie du head global. Votre boutique a besoin de certains assets communs. Vos analytics peuvent nécessiter un chargement respectueux du consentement sur l’ensemble de la vitrine. L’objectif est de garder le layout honnête.
À garder dans theme.liquid |
À éviter ici |
|---|---|
Sortie de la langue de base dans <html> |
Schéma produit codé en dur globalement |
content_for_header |
Contenu ou métadonnées propres à une collection |
| CSS global et hints pour ressources critiques | Tous les scripts d’app sur chaque template |
| JSON-LD Organization ou WebSite site-wide | Schémas d’avis, d’offres ou de fil d’Ariane en doublon |
| Tracking respectueux du consentement | Logique de template qui lance des boucles coûteuses |
Le layout peut héberger sans risque les signaux décrivant l’ensemble du business : langue, viewport, balises head requises par Shopify, framework de consentement, CSS de base, éventuellement un schéma Organization, voire WebSite avec SearchAction si votre URL de recherche est stable.
C’est aussi là que certains resource hints trouvent leur place. Un seul preload de police ou une référence CSS critique peut avoir du sens globalement. Cinq preloads concurrents pour des images n’apparaissant que sur un template non.
Le schéma produit reste avec les données produit. Le schéma Article reste avec les articles. Le schéma FAQPage ne vit que sur les pages où le texte FAQ est visible. Le schéma Breadcrumb se place dans un snippet ou une section consciente du template.
C’est là que beaucoup de projets de données structurées e-commerce dérapent. Le marchand demande « du schéma dans Shopify », quelqu’un colle du JSON-LD dans theme.liquid et toutes les collections, articles et landing pages se font passer pour des produits.
content_for_header n’est pas optionnel. C’est la balise que Shopify utilise pour connecter les scripts plateforme, le comportement des apps, l’analytics et les fonctionnalités de vitrine. Ne la supprimez pas juste parce qu’un waterfall paraît encombré.
Auditez plutôt ce qui arrive par son intermédiaire. Les app embeds, les extensions de thème et l’ancien code d’app peuvent toujours alourdir la page. La solution, c’est l’ownership, pas la panique.
N’éditez pas le thème live pendant un pic de trafic. Conseil basique, mais celui qui fait économiser le plus.
layout/theme.liquid.
Copiez le layout dans un document de travail et annotez-le comme une scène de crime. Une boutique est venue nous voir parce que les collections semblaient lentes et que le test de résultats enrichis de Google affichait sans cesse des avertissements produit. La correction a pris moins de deux heures : schéma Offer produit sur les pages collection, deux librairies A/B abandonnées et un snippet d’app d’avis désinstallé depuis des mois.
Le thème a été blâmé (c’est fréquent). Le fichier layout ne faisait que transporter des fantômes.
| Constat | Pourquoi c’est mauvais pour le SEO | Correctif plus sûr |
|---|---|---|
| JSON-LD produit sur les pages collection | Embrouille les parseurs de données structurées | Le déplacer vers le template produit |
| Trois apps d’avis sortent du schéma | Génère un balisage produit dupliqué ou contradictoire | Choisir une seule source |
| Widget de chat chargé partout | Ajoute du JS avant l’intention d’achat | Charger après interaction ou sur des templates ciblés |
| Image héro en lazy-loading | Peut retarder le LCP | Charger les médias au-dessus de la ligne de flottaison en eager |
| Tri effectué dans les boucles Liquid | Gaspille du rendu | Trier avant la boucle |
Inconnu ne veut pas dire mauvais. Cela veut dire sans propriétaire. Si personne ne peut expliquer pourquoi un snippet est dans theme.liquid, désactivez-le sur un thème dupliqué et testez les flux : menu, recherche, formulaire produit, panier, passage en caisse, avis, tracking et consentement.
C’est aussi là qu’un vrai audit SEO technique dépasse une checklist. Le risque n’est rarement qu’une seule ligne. C’est cinq bons outils, tous persuadés de mériter une priorité globale.
« JavaScript ne devrait pas être indispensable aux fonctionnalités de base de votre thème, comme trouver ou acheter des produits. »
Cette ligne de Shopify fixe la norme. Si le menu, le formulaire produit, la sélection de variante, la recherche ou le tiroir panier dépendent d’un script bloquant qui peut échouer silencieusement, vous n’avez pas qu’un problème SEO. Vous avez un problème de vitrine.
« Les vitrines Liquid sont très rapides »
Sia Karamalegos l’a écrit sur le blog performance de Shopify, et l’implication dérange : les boutiques lentes le sont souvent parce que les marchands ajoutent du travail global sur chaque route. Les apps laissent souvent du code après désinstallation — parfois des années plus tard — et le layout continue de le servir.
Widgets d’avis, outils de chat, scripts d’A/B testing, heatmaps, programmes de fidélité, apps de bundle, personnalisation et pop-ups adorent le layout. Certains nécessitent un accès global. Beaucoup non.
Commencez par les app embeds dans l’éditeur de thème, puis inspectez content_for_header, puis cherchez dans le thème les includes qui référencent d’anciens noms d’app. Si une app n’affecte que les pages produit, son code n’a rien à faire sur les articles et collections.
Différer des scripts peut aider. Cela peut aussi casser la sélection de variantes, le suivi du consentement, l’attribution analytics, les sélecteurs de devise et le rendu des avis. Testez en preview avant de publier.
Une approche sûre reste ennuyeuse : ôtez d’abord le code mort, retardez les widgets marketing jusqu’à l’interaction, différez les scripts non critiques seulement après test, et gardez la découverte produit fonctionnelle sans JavaScript lorsque c’est possible (en 2026, ce n’est plus optionnel).
JavaScript peut améliorer l’expérience, il ne doit pas être l’unique voie vers le revenu. Les liens produit doivent être explorables, les pages de recherche afficher des résultats, l’ajout au panier se dégrader proprement. Les URL de variantes et options sélectionnées ne doivent pas devenir invisibles aux robots ou aux clients.
Si vous luttez contre le coût d’hydratation ou un contenu produit rendu côté client, lisez un guide de SEO JavaScript avant d’accuser Liquid. Le problème de rendu peut venir de la couche applicative, pas du langage de thème.
« PageSpeed n’est PAS un bon moyen de mesurer la vitesse d’une boutique. »
Kurt Elster est cash, et pour une bonne raison. Un score élevé qui casse le tracking, les avis ou les variantes n’est pas une victoire ; un score bas qui pointe un vrai retard de LCP est utile. Le score est un indice, pas le KPI.
« Nous préférons actuellement le balisage JSON-LD. La plupart des nouveaux types de données structurées sortent d’abord en JSON-LD. C’est donc ce que nous privilégions. »
Le point de John Mueller règle le débat sur le format pour la plupart des boutiques Shopify. Utilisez JSON-LD. La question la plus difficile est celle de la propriété.
De nombreux billets SEO Shopify disent « ajoutez du schéma ». Conseil incomplet. Si votre thème, votre app d’avis, votre app de flux produits et votre app SEO sortent tous du schéma Product, le format n’est plus le problème.
Attribuez un propriétaire unique à chaque type de schéma. Supprimez ou désactivez les autres.
| Type de schéma | Meilleur emplacement |
|---|---|
| Organization | theme.liquid ou snippet global |
| WebSite avec SearchAction | theme.liquid si la recherche est stable |
| Product | Template ou section produit |
| BreadcrumbList | Template ou snippet breadcrumb |
| Article | Template d’article de blog |
| CollectionPage | Template collection |
| FAQPage | Uniquement sur les pages avec FAQ visible |
Le schéma produit a besoin du titre, de l’image, de la description, du SKU, du prix, de la disponibilité, des variantes, de la marque, des offres et parfois des avis du produit courant. Ce contexte n’existe pas sur chaque page.
Les apps d’avis méritent une suspicion particulière. Elles injectent souvent Product, AggregateRating, Offer et Review markup. Si le thème sort également ces champs, les outils de résultats enrichis peuvent afficher des conflits alors même que la page semble correcte.
Utilisez le Rich Results Test pour vérifier l’éligibilité aux fonctionnalités Google. Utilisez le Schema Markup Validator pour contrôler la validité globale des données structurées. Testez la page rendue, pas un fragment collé depuis le thème.
« Si vous voulez trier les produits d’une collection par prix, faites-le avant de boucler sur les produits, pas dans la boucle. »
Ce conseil de Shopify paraît anodin. Il ne l’est pas. Les problèmes de performance Liquid se cachent souvent dans des snippets appelés par theme.liquid : header, méga-menu, barre d’annonce, sélecteur de langue, bande de recommandations, ou carrousel de collection global.
Votre fichier layout peut paraître propre tandis que les snippets inclus effectuent le travail coûteux. Un méga-menu peut boucler sur les collections à chaque page. Un header peut interroger des données produit que personne ne voit. Un sélecteur de localisation peut répéter une logique qui aurait dû être assignée une seule fois.
Surveillez all_products, les grands menus, les appels répétés à des metafields et les boucles imbriquées. Le problème n’est rarement qu’une boucle. C’est la répétition sur toutes les routes.
Trier avant la boucle. Filtrer avant la boucle. Assigner les valeurs répétées une seule fois quand cela clarifie le code. Limiter les boucles si vous n’avez besoin que de quatre éléments.
Schématiquement, le mauvais pattern : boucler sur chaque produit, puis décider dans la boucle quels produits importent. Le meilleur pattern : préparer d’abord l’ensemble pertinent, puis boucler sur ce sous-ensemble.
Les méga-menus sont une taxe performance SEO courante. Ils ressemblent à de la navigation ; ils se comportent comme une requête de données site-wide.
Gardez la logique du header prévisible. Si le menu a besoin de cartes promotionnelles riches, faites-en des paramètres explicites plutôt que des requêtes dynamiques à travers tout le catalogue.
« Tout ce qui apparaît au-dessus de la ligne de flottaison ne devrait pas être lazy-loadé. »
Cette phrase de Shopify devrait tuer beaucoup de mauvais conseils images. Le lazy loading systématique semble malin jusqu’à ce que l’image héro, les médias produit ou la bannière collection — souvent candidats LCP — patientent trop longtemps.
Ne mettez pas en lazy-loading l’image susceptible d’être LCP. Donnez à Shopify assez d’informations de largeur et hauteur pour éviter les décalages de mise en page. Servez des images responsives via les filtres d’image Shopify plutôt qu’un seul asset surdimensionné.
Préchargez uniquement la véritable image prioritaire, pas cinq assets concurrents. Le preload est une promesse au navigateur ; brisez-la trop souvent et vous créez un autre goulot d’étranglement.
Beaucoup d’apps images appliquent une règle unique partout. La bonne décision de chargement dépend du template et de la position. Une miniature de galerie produit sous la ligne de flottaison peut attendre. La première image produit, rarement.
Revenons à theme.liquid : les resource hints et scripts de lazy-loading globaux se trouvent souvent là, mais la bonne décision appartient à la section qui rend l’image.
Les balises SEO classiques comptent toujours. Elles deviennent simplement risquées lorsqu’un fichier layout tente de contrôler chaque template avec une longue chaîne de conditionnelles.
Utilisez la sortie canonique intégrée de Shopify lorsque c’est possible. N’encodez pas en dur un modèle canonique unique pour tous les templates. Le tri des collections, la pagination, les filtres et les URL produit nécessitent une gestion consciente du template.
Les directives robots devraient être rares et explicites. Une balise canonique dupliquée — celle qui entre en conflit discrètement avec la sortie native de Shopify — peut rester invisible des mois. Un noindex erroné peut faire plus de dégâts en une publication qu’un script d’app lent.
J’ai moi-même expédié l’un de ces longs arbres conditionnels (puis l’ai démêlé après une mise à jour d’app). Quelques conditions vont. Un layout qui se prend pour un CMS, c’est un signal d’alarme.
Ne vous fiez pas au code source seul. Inspectez le HTML rendu (l’URL courante après exécution du navigateur) et vérifiez title, description, canonical, robots, hreflang si utilisé, et données structurées.
Si une app réécrit des balises après chargement, Google peut encore les rendre, mais vous avez rendu un signal simple dépendant du client-side. Évitez cela sauf si vous n’avez pas d’option plus propre.
theme.liquid ont amélioré le SEOLes tests doivent comparer les mêmes templates avant/après. Une amélioration sur la home ne prouve rien pour les pages produit. Une victoire sur les pages produit ne garantit pas la propreté des templates article.
| Test | Ce que cela montre |
|---|---|
| Voir le HTML rendu | Si Google voit les balises et le contenu finaux |
| Inspection d’URL Google | Si Google a indexé ce que vous pensez |
| Rich Results Test | Si les données structurées sont valides pour les résultats enrichis |
| WebPageTest | Waterfalls, candidat LCP et fichiers bloquants |
| Panneau Performance Chrome | Longues tâches et coût des scripts |
| Core Web Vitals dans Search Console | Tendance des données terrain |
| Preview du thème Shopify | Comparaison sécurisée avant publication |
Testez home, produit, collection, page, article et recherche. Capturez le HTML rendu, le candidat LCP, le CLS, les longues tâches, la canonical, robots et la sortie schema.
Sur seojuice.io, je me soucie moins d’un score labo parfait que de savoir si le HTML est propre, la canonical stable et si la page n’oblige pas Google à attendre du code client-side pour la comprendre.
« Un site bon et rapide ne fait pas de mal. Un site lent n’aide pas. Ce n’est pas l’alpha et l’oméga qu’on laisse entendre. »
Le cadrage de Kurt Elster est le plus sain. La vitesse soutient le SEO. Elle ne remplace pas le contenu, les liens, la demande ou le merchandising.
Après publication, surveillez l’indexation, les améliorations, les listings marchands, les extraits produit et les Core Web Vitals. Attendez-vous à un décalage des données terrain : les outils labo réagissent aujourd’hui ; Search Console prend du temps.
theme.liquidcontent_for_header.theme.liquid.L’objectif n’est pas un theme.liquid malin. L’objectif est un fichier layout ennuyeux qui laisse chaque template faire son travail.
theme.liquid influence-t-il le SEO Shopify ?Oui. Il peut affecter la clarté d’exploration, les données structurées, le coût de rendu, les Core Web Vitals, les canoniques, les balises robots et le poids des scripts. Le danger, c’est qu’une seule erreur dans le layout touche la plupart des pages de la vitrine.
theme.liquid ?Uniquement si le code est vraiment site-wide. Les schémas Organization, WebSite, la sortie de langue et le head requis par Shopify y ont leur place. La logique spécifique aux produits, articles, FAQ, breadcrumbs et collections doit aller ailleurs.
content_for_header pour accélérer le site ?Non. Conservez-le. Auditez ce que les apps et embeds y injectent, mais ne supprimez pas la sortie head requise par Shopify.
La cause habituelle : plusieurs propriétaires. Votre thème, une app d’avis, une app SEO ou une app de flux peuvent tous sortir du schéma Product, Offer, Review ou AggregateRating. Choisissez une source et désactivez les autres quand c’est possible.
Non. Utilisez-le comme un diagnostic parmi d’autres (pas juste un score). Testez aussi le HTML rendu, l’Inspection d’URL, le Rich Results Test, WebPageTest, Chrome Performance et les données terrain de Search Console.
SEOJuice peut auditer votre configuration SEO Liquid Shopify, identifier ce qui doit rester global, ce qui doit aller dans les templates et ce qui peut être supprimé sans risque. Si le theme.liquid de votre boutique est devenu un cimetière à apps, commencez par nettoyer le layout avant d’ajouter un nouveau snippet SEO.
no credit card required
No related articles found.