Shopify Headless avec Next.js vs Liquid : quel choix pour votre e-commerce ?
Shopify est aujourd'hui l'une des plateformes e-commerce les plus utilisées au monde. Facile à prendre en main, robuste et évolutive, elle permet de lancer rapidement une boutique en ligne performante.
Mais dès qu'on cherche à créer une expérience vraiment personnalisée, deux grandes approches techniques s'offrent à vous : rester sur l'architecture Shopify classique et personnaliser son thème, ou opter pour une architecture découplée (headless) avec un framework moderne comme Next.js.
Chacune de ces approches a ses avantages et ses contraintes. Dans ce guide, je vais comparer ces deux architectures de manière pragmatique pour vous aider à faire le bon choix selon vos besoins.
Au sommaire
1. Shopify classique : efficace dans la majorité des cas
Quand on parle de Shopify classique, on parle d'une boutique basée sur les serveurs Shopify, un thème (gratuit, premium ou sur-mesure) et le moteur de templates Liquid.
Pourquoi Shopify classique fonctionne si bien
Shopify a été pensé pour résoudre 90 % des besoins e-commerce courants :
- ✓Gestion produits complète
Produits, collections, variantes, inventaire géré nativement
- ✓Tunnel de commande optimisé
Checkout testé et converti sur des milliards de transactions
- ✓SEO propre et stable
Structure optimisée par défaut pour les moteurs de recherche
- ✓Back-office simple et autonome
Vos équipes peuvent gérer le catalogue sans développeur
- ✓Écosystème d'applications très riche
Milliers d'apps pour étendre les fonctionnalités
À retenir : Pour la majorité des projets e-commerce, c'est exactement ce qu'il faut.
2. Liquid sur-mesure : un levier sous-estimé
Beaucoup associent Shopify classique à des thèmes "génériques". C'est faux... si le thème est développé sur-mesure.
Avec une bonne maîtrise de Liquid, HTML, CSS et JavaScript, il est possible de créer :
✓ Design entièrement personnalisé
Aucune limite créative avec CSS moderne et JavaScript
✓ Animations propres et élégantes
GSAP, Framer Motion peuvent s'intégrer à Liquid
✓ Expérience utilisateur fluide
Navigation rapide et interactions soignées
✓ Boutique visuellement premium
Résultat très proche du headless sans la complexité
Avantages clés de Shopify + Liquid sur-mesure
- •Accès à 100 % des fonctionnalités natives Shopify
- •Excellente autonomie côté client
- •Maintenance simple et coûts maîtrisés
- •SEO solide et durable
- •Time-to-market rapide
À retenir : Shopify classique avec thème Liquid personnalisé reste une solution très efficace pour la majorité des projets e-commerce.
3. Shopify headless : une approche premium
Le Shopify headless consiste à utiliser Shopify uniquement comme backend (produits, commandes, paiements) et construire le frontend avec un framework moderne comme Next.js, connecté via des APIs (Storefront API).
Ce que le headless fait réellement mieux
Soyons clairs : le headless a de vrais avantages.
- ✓1. Performances maximales
Un frontend Next.js bien optimisé offre des temps de chargement excellents et une navigation ultra fluide
- ✓2. Liberté totale de design
Avec Next.js, GSAP ou Framer Motion, créez des animations très avancées et des expériences immersives
- ✓3. Contrôle total du parcours utilisateur
Personnalisez chaque interaction sans les contraintes de Liquid
- ✓4. Architecture moderne et scalable
TypeScript, composants React réutilisables, tests automatisés
Exemples concrets de mes projets headless
TechStore →
Boutique électronique avec Shopify Headless + Next.js + GSAP
Animations produits sophistiquées, navigation ultra-fluide, design moderne impossible à reproduire avec un thème classique
Meeniye →
E-commerce produits capillaires avec Shopify Headless + Next.js + GSAP
Branding fort, expérience immersive, animations subtiles qui renforcent l'identité de marque
Les limites souvent passées sous silence
C'est ici que beaucoup de malentendus naissent.
- ⚠Checkout Shopify obligatoire
En headless standard, vous devez rediriger vers le checkout hébergé Shopify (checkout.shopify.com). Impossible de le personnaliser sauf avec Shopify Plus (>2000€/mois)
- ⚠Dépendance accrue au développeur
Chaque évolution passe par du code, la maintenance est continue, l'autonomie client est réduite
- ⚠Investissement plus important
Développement initial plus long et maintenance technique à long terme
- ⚠Complexité technique
Nécessite une vraie vision produit et une équipe technique compétente
4. Comparaison technique détaillée
Voici une comparaison point par point pour vous aider à visualiser les différences clés.
| Critère | Shopify Liquid | Shopify Headless |
|---|---|---|
| Architecture | Monolithique intégré | Frontend découplé via API |
| SEO | Excellent (natif) | Excellent (SSR Next.js) |
| Performance | Très bon (CDN Shopify) | Excellent (optimisation fine) |
| Checkout | Natif Shopify (optimisé) | Shopify hébergé (sauf Plus) |
| Personnalisation design | Élevée (CSS/JS) | Totale (React) |
| Animations avancées | Possible mais limité | Excellentes (GSAP, FM) |
| Autonomie client | Maximale (admin Shopify) | Réduite (back-office uniquement) |
| Intégration apps Shopify | Totale (écosystème complet) | Partielle (selon API) |
| Maintenance | Simple (gérée par Shopify) | Continue (dev nécessaire) |
| Time-to-market | Rapide (2-8 semaines) | Moyen (4-12 semaines) |
| Cas d'usage idéal | PME, croissance standard | Marques premium, fort branding |
À retenir : Liquid privilégie efficacité et autonomie. Headless privilégie performance maximale et liberté créative, avec une architecture plus technique.
5. Exemples de code : Liquid vs Next.js
Voyons concrètement la différence d'approche avec des exemples de code pour afficher une liste de produits.
Approche Liquid (Shopify classique)
LIQUID<!-- sections/collection-products.liquid -->
<div class="collection-grid">
{% for product in collection.products %}
<div class="product-card">
<a href="{{ product.url }}">
<img
src="{{ product.featured_image | img_url: '400x' }}"
alt="{{ product.title }}"
loading="lazy"
>
<h3>{{ product.title }}</h3>
<p class="price">{{ product.price | money }}</p>
{% if product.compare_at_price > product.price %}
<span class="sale-badge">-{{ product.price | divided_by: product.compare_at_price | minus: 1 | times: 100 }}%</span>
{% endif %}
<button class="add-to-cart" data-product-id="{{ product.id }}">
Ajouter au panier
</button>
</a>
</div>
{% endfor %}
</div>
<script>
// Ajout au panier via Ajax API Shopify
document.querySelectorAll('.add-to-cart').forEach(btn => {
btn.addEventListener('click', async (e) => {
const productId = e.target.dataset.productId;
const response = await fetch('/cart/add.js', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id: productId, quantity: 1 })
});
// Mettre à jour le panier
});
});
</script>✓Syntaxe simple et accessible
✓Données directement disponibles depuis Shopify
✓API Ajax Shopify intégrée pour le panier
✓Aucune configuration supplémentaire nécessaire
Approche Headless (Next.js + Storefront API)
NEXT.JS// app/collection/[handle]/page.tsx
import { getCollection } from '@/lib/shopify';
import ProductCard from '@/components/ProductCard';
export default async function CollectionPage({
params
}: {
params: { handle: string }
}) {
const collection = await getCollection(params.handle);
return (
<div className="collection-grid">
{collection.products.map((product) => (
<ProductCard key={product.id} product={product} />
))}
</div>
);
}
// components/ProductCard.tsx
'use client';
import { motion } from 'framer-motion';
import { useCart } from '@/hooks/useCart';
import Image from 'next/image';
export default function ProductCard({ product }) {
const { addToCart } = useCart();
return (
<motion.div
whileHover={{ scale: 1.02 }}
className="product-card"
>
<Link href={`/products/${product.handle}`}>
<Image
src={product.featuredImage.url}
alt={product.title}
width={400}
height={400}
priority={false}
/>
<h3>{product.title}</h3>
<p className="price">
{new Intl.NumberFormat('fr-FR', {
style: 'currency',
currency: 'EUR'
}).format(product.priceRange.minVariantPrice.amount)}
</p>
{product.compareAtPriceRange && (
<span className="sale-badge">
-{calculateDiscount(product)}%
</span>
)}
</Link>
<button onClick={() => addToCart(product.variants[0].id)}>
Ajouter au panier
</button>
</motion.div>
);
}
// lib/shopify.ts - Configuration API
const SHOPIFY_STOREFRONT_API = process.env.SHOPIFY_STOREFRONT_API_URL;
const SHOPIFY_STOREFRONT_TOKEN = process.env.SHOPIFY_STOREFRONT_ACCESS_TOKEN;
export async function getCollection(handle: string) {
const query = `
query getCollection($handle: String!) {
collection(handle: $handle) {
title
products(first: 20) {
edges {
node {
id
title
handle
featuredImage {
url
}
priceRange {
minVariantPrice {
amount
currencyCode
}
}
variants(first: 1) {
edges {
node {
id
}
}
}
}
}
}
}
}
`;
const response = await fetch(SHOPIFY_STOREFRONT_API, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Shopify-Storefront-Access-Token': SHOPIFY_STOREFRONT_TOKEN,
},
body: JSON.stringify({ query, variables: { handle } }),
});
const { data } = await response.json();
return data.collection;
}✓TypeScript pour la sécurité des types
✓Composants React réutilisables
✓Animations Framer Motion intégrées
✓Optimisation images Next.js automatique
⚠Configuration API et gestion du state nécessaires
Ce que révèle cette comparaison
Liquid : Code simple, direct, tout est déjà connecté. Parfait pour lancer rapidement.
Next.js : Plus de code, plus de configuration, mais contrôle total et possibilités illimitées (TypeScript, animations, optimisations).
→ Le choix dépend de vos priorités : rapidité vs personnalisation poussée.
6. Quand choisir Shopify classique ?
Shopify classique avec Liquid sur-mesure est le meilleur choix quand vous recherchez efficacité, autonomie et retour sur investissement rapide.
1. Lancement ou croissance progressive
Vous lancez votre boutique en ligne ou vous êtes en phase de croissance et avez besoin de résultats rapides.
Exemple concret : Une marque de vêtements qui veut tester le marché en ligne rapidement avec un site professionnel.
2. Besoin d'autonomie maximale
Votre équipe doit pouvoir gérer le catalogue, les promotions, les pages produits sans passer par un développeur.
Exemple concret : Une PME avec une équipe marketing qui veut lancer des campagnes rapidement.
3. Écosystème d'apps Shopify essentiel
Vous comptez sur des applications Shopify (reviews, upsells, email marketing, etc.) qui s'intègrent nativement.
4. Maintenance simplifiée
Vous préférez une solution stable gérée par Shopify plutôt qu'une architecture custom nécessitant une maintenance continue.
5. Design premium avec simplicité technique
Un thème Liquid développé sur-mesure peut offrir un design très haut de gamme avec une architecture plus simple à maintenir.
À retenir : Dans ces cas, un thème Liquid personnalisé offre un excellent rapport qualité/efficacité.
7. Quand opter pour le Shopify headless ?
Le Shopify headless devient pertinent quand l'expérience utilisateur et le branding sont des facteurs différenciants stratégiques.
1. Branding très fort et différenciant
Votre identité de marque est stratégique et vous avez besoin d'une expérience visuelle unique impossible à reproduire avec Liquid.
Exemple concret : Marque de cosmétiques premium qui veut créer un univers immersif avec animations sophistiquées.
2. Performances et expérience ultra-optimisées
Vous visez les meilleures performances possibles (Core Web Vitals parfaits, navigation instantanée) et avez le budget pour y parvenir.
Exemple concret : E-commerce high-tech avec forte concurrence où chaque milliseconde compte pour la conversion.
3. Architecture multi-plateformes
Vous prévoyez d'utiliser le même backend Shopify pour plusieurs frontends (site web, app mobile, points de vente physiques).
4. Équipe technique dédiée
Vous avez une équipe de développeurs ou prévoyez des évolutions continues qui nécessitent un contrôle total du code.
5. Intégrations complexes
Vous devez intégrer des systèmes tiers (ERP, PIM, CRM) de manière très personnalisée.
Une approche progressive
Vous pouvez adopter une démarche progressive pour minimiser les risques :
Cette approche permet de démarrer rapidement avec Liquid, puis de migrer vers le headless si vos besoins évoluent.
8. Questions fréquentes (FAQ)
Quelle est la différence entre Shopify et Shopify headless ?
Shopify classique est une solution monolithique où le frontend (thème Liquid) et le backend sont intégrés. Shopify headless utilise uniquement le backend Shopify (via Storefront API) et un frontend personnalisé (Next.js, etc.). Le headless offre plus de flexibilité créative mais demande plus de développement.
Est-ce que Shopify headless améliore vraiment le SEO ?
Pas nécessairement. Shopify classique a déjà un excellent SEO. Le headless avec Next.js peut offrir des optimisations fines (SSR, ISR), mais un site Liquid bien optimisé atteint d'excellents scores également. Le SEO dépend plus de la qualité du contenu et de l'optimisation technique que de l'architecture.
Puis-je personnaliser autant mon design avec Liquid ?
Oui, dans la grande majorité des cas. Liquid combiné à CSS moderne et JavaScript permet de créer des designs très personnalisés et des animations élégantes. Le headless offre plus de liberté pour des animations très complexes (GSAP avancé, 3D, etc.), mais Liquid couvre 90% des besoins.
Le Shopify headless est-il plus rapide que Liquid ?
Pas forcément. Un site Liquid bien optimisé est déjà très rapide grâce au CDN Shopify. Le headless avec Next.js peut offrir des gains de performance supplémentaires (SSR, code splitting fin), mais la différence n'est pas toujours significative pour l'utilisateur final. Les deux peuvent atteindre d'excellents Core Web Vitals.
Puis-je personnaliser le checkout en Shopify headless ?
Non, sauf si vous avez Shopify Plus. En Shopify standard avec architecture headless, vous devez obligatoirement rediriger vers le checkout hébergé par Shopify (checkout.shopify.com), qui n'est pas personnalisable. Seul Shopify Plus (>2000€/mois) permet de customiser le checkout avec Checkout Extensibility. C'est une contrainte importante à prendre en compte.
Est-ce que je garde l'accès aux apps Shopify en headless ?
Partiellement. Les apps qui modifient le backend (gestion d'inventaire, emails, etc.) fonctionnent normalement. Les apps qui modifient le frontend (widgets, pop-ups, etc.) nécessitent souvent une réimplémentation ou ne sont pas compatibles. C'est une limitation importante du headless.
Puis-je passer de Liquid à headless plus tard ?
Oui, c'est tout à fait possible. Vous pouvez commencer avec Shopify Liquid pour lancer rapidement, puis migrer vers une architecture headless lorsque votre croissance et vos besoins le justifient. Cette approche progressive minimise les risques et l'investissement initial.
Quel délai pour créer un site Shopify headless vs Liquid ?
Un site Liquid sur-mesure peut être livré en 2 à 8 semaines selon la complexité (2-3 semaines pour un site simple, 6-8 semaines pour un projet complexe). Un site headless avec Next.js prend généralement 4 à 12 semaines (4-5 semaines pour un MVP, 10-12 semaines pour un projet ambitieux). Le headless demande environ 2x plus de temps de développement à complexité égale.
Comment savoir si mon projet nécessite du headless ?
Posez-vous ces questions : Ai-je besoin d'animations très avancées impossibles en Liquid ? Mon branding est-il un facteur différenciant stratégique ? Ai-je une équipe technique pour maintenir le site ? Puis-je investir 2x plus de temps et de budget ? Suis-je prêt à utiliser le checkout Shopify hébergé (ou ai-je Shopify Plus) ? Si vous répondez oui à toutes ces questions, le headless peut être pertinent.
Conclusion
Shopify classique avec Liquid sur-mesure offre un excellent équilibre entre personnalisation, performances et autonomie. C'est une solution efficace pour la majorité des projets e-commerce avec un time-to-market rapide.
Shopify headless avec Next.js donne un contrôle total sur l'expérience utilisateur et des possibilités créatives très avancées. C'est une approche pertinente pour les projets avec un fort branding, des besoins d'animations complexes, ou une architecture multi-plateformes.
Les deux approches sont valides et peuvent produire d'excellents résultats. Le choix dépend de vos priorités : autonomie et rapidité de mise en ligne, ou liberté créative et personnalisation poussée.
L'important est de choisir l'architecture qui correspond vraiment à vos besoins, votre équipe et vos objectifs, pas à une tendance technique.
Besoin de conseils pour votre projet Shopify ?
Je peux vous aider à déterminer l'approche la plus adaptée à vos besoins et créer une boutique e-commerce performante et rentable.
Johan Lorck
Développeur Next.js freelance spécialisé dans la création d'applications web performantes. Je peux vous aider à choisir la meilleure architecture pour votre projet.
Discutons de votre projet Shopify →