Refonte technique · Migration WordPress → Astro

Arborescence Liqui Pneus

Inventaire complet du site actuel liquipneus.com et plan de migration vers Astro en 3 phases. Ce document sert de référence partagée pour décider quelles pages refaire, dans quel ordre, et avec quelles dépendances back-end.

Version 0.1 · brouillon 2026-05-09 Source : sitemap_index.xml WordPress + Elementor Pro 3.28.3 WPML FR/EN WooCommerce + TireConnect Cible : Astro statique + headless
~190
Routes totales (FR + EN)
95
Pages FR (canonique)
95
Pages EN (/en/)
~12
Templates Astro estimés
3
Phases de migration

Légende

Page statique vitrine
Contenu dynamique (CPT)
E-commerce / panier
Widget externe (TireConnect)
Page légale
🟢 Migré
🟡 En cours
⚪ À faire
PHASE 1

Vitrine statique en Astro

~95 pages × 2 langues = 190 routes statiques
~10 templates Astro paramétrés

🏠 Accueil & navigation

5 pages /, /plan-du-site/, /contactez-nous/, /prendre-rendez-vous/
🏠AccueilFR · EN
🗺️Plan du siteFR · EN
📞Contactez-nousFR · EN
📅Prendre rendez-vousFR · EN
🔍Page 404FR · EN

🚗 Véhicules que nous entretenons

1 hub + 33 marques (FR) · 37 marques (EN) /vehicules-que-nous-entretenons/{marque}/
🚗Hub véhicules entretenusFR · EN
AcuraAudiBMWBuickCadillac ChevroletChryslerDodgeFordGMC HondaHummerHyundaiInfinitiJeep KiaLand RoverLexusLincolnMazda Mercedes-BenzMini CooperMitsubishiNissanPontiac PorscheSubaruSuzukiToyotaVolkswagen Volvo Alfa Romeo (EN) Fiat (EN) Jaguar (EN) Tesla (EN)

🛞 Marques de pneus

1 hub + 24 marques /{marque}/ ou /en/{brand}-tires/
🛞Hub marques de pneusFR · EN
BFGoodrichBridgestoneContinentalDunlop FarroadFirestoneGeneral TireGislaved GoodyearHankookKellyMaxxis MichelinMinervaNexenNokian PirelliSailunTechno PneusToyo UniroyalYokohama

❄️☀️ Catégories de pneus

2 pages /pneustoutessaison/, /pneus-toutes-saisons-homologues-hiver/
☀️Pneus toutes saisonsFR · EN
❄️Toutes saisons homologués hiverFR · EN

⭕ Mags & Jantes

1 hub + 10 sous-marques /jantes/, /jantes-{marque}/, /mags-bbs/
Hub jantesFR · EN
Jantes ARTJantes BBSMags BBSJantes Fuel Jantes HREJantes NicheJantes RotiformJantes Ruffino Jantes StrasseJantes Vossen

🔧 Services mécanique

11 pages /{service}/
🛑Réparation de freinsFR · EN
🔍Inspection de véhiculesFR · EN
💨Réparation d'échappementFR · EN
🛠️Maintenance programmée usineFR · EN
🛢️Changement d'huileFR · EN
🎯Direction et suspensionFR · EN
⚠️Diagnostic témoins anomalieFR · EN
🔋Réparation de batterieFR · EN
📦Entreposage des pneusFR · EN
💳Financement des pneusFR · EN
⚙️Réparation de moteurFR · EN

🎁 Promotions & avantages

2 pages /rabais-liqui-pneus/, /plan-de-protection-des-pneus/
💰Rabais Liqui PneusFR · EN
🛡️Plan de protection des pneusFR · EN

📝 Worksheets diagnostic (EN seulement actuellement)

3 pages /en/{worksheet}/
🛑Brake concern worksheetEN
💧Fluid leak concern worksheetEN
⚠️Vehicle warning light worksheetEN

À décider

  • Ces 3 pages existent en EN mais pas en FR. On les traduit pour P1 ou on les laisse EN-only ? À valider avec Yoann selon trafic SEO.

⚖️ Pages légales

7 pages /{politique}/
📜Politique de garantieFR · EN
💵Frais et taxes applicablesFR · EN
🚚Politique de livraisonFR · EN
↩️Politique de retourFR · EN
🔒Politique de confidentialitéFR · EN
⚠️Avis non-responsabilité (livraison/typo)FR · EN
©Tous droits réservés et droits d'auteurFR · EN

Templates Astro à créer pour P1

  • HomePage.astro — accueil (unique)
  • BrandTirePage.astro — paramétré pour les 24 marques de pneus + hub
  • VehicleBrandPage.astro — paramétré pour les 33-37 marques auto entretenues + hub
  • WheelBrandPage.astro — paramétré pour les 10 sous-marques de jantes + hub
  • ServicePage.astro — paramétré pour les 11 services mécaniques
  • TireCategoryPage.astro — toutes saisons / homologué hiver
  • PromoPage.astro — rabais + plan de protection
  • LegalPage.astro — paramétré pour les 7 politiques (markdown content)
  • ContactPage.astro + BookAppointmentPage.astro
  • SitemapPage.astro
  • 404.astro
  • + Layouts partagés : Header.astro, Footer.astro, Layout.astro

Pipeline P1 (par page)

  • 1. Capture page live (HTML rendu + screenshot via ak-elementor-studio)
  • 2. Extraction structure (sections, blocs, contenu, images, liens)
  • 3. Conversion en composant Astro (template + content collection)
  • 4. Préview locale + grading visuel vs original (target ≥ 95%)
  • 5. Itération jusqu'à validation
PHASE 2

Couches dynamiques & e-commerce

TireConnect, WooCommerce headless, Inventory Hub
Branchements API + content collections

🔌 TireConnect (recherche pneus & jantes)

2 pages /acheter-des-pneus/, /achetez-des-jantes/
🛞Recherche pneus (TireConnect)FR · EN
Recherche jantes (TireConnect)FR · EN

Implémentation Astro

  • Le SDK TireConnect est un widget JS standalone — embed direct dans une page Astro statique avec <script src> avant TCWidget.init().
  • 2 API keys distinctes (FR : dc34f6...bbf / EN : 303d98...c9ee) — gérer via env Astro et load conditionnel selon route.
  • Override ACF tire_connect_api_key disparaît — config en dur dans .env Astro.

🛒 E-commerce (WooCommerce headless ou alternative)

~5 routes /cart/, /checkout/, /my-account/, /shop/, /product/{slug}/
🛒Panier (cart)FR · EN
💳CheckoutFR · EN
👤Mon compteFR · EN
🏪Boutique (catalogue)FR · EN
📦Page produit (paramétrée)FR · EN

Décision architecturale critique

  • Option A — Astro + Inventory Hub direct : Astro consomme lp.dev (Next.js Inventory Hub) en source produits + propre panier/checkout custom. Aligné avec décision 2026-05-01 (Inventory Hub = source of truth).
  • Option B — Astro + WC headless : Astro consomme WooCommerce REST API (catalogue + panier). Garde WC comme moteur transactionnel. Plus lourd à implémenter (Cart API, sessions).
  • Option C — Hybride : Astro vitrine, panier/checkout restent sur sous-domaine WP (shop.liquipneus.com). Ship rapide, dette technique différée.
  • Plugin Clover Payments 2.3.2 installé sur staging → credentials manquants. À résoudre indépendamment de la migration.

📰 Contenu éditorial (Astro Content Collections)

4 collections /blog/, /promotions/, /temoignages/, /equipe/
📝Blog / PostsFR · EN
🎉Promotions (CPT ct-promotion)FR · EN
💬Témoignages (CPT pcs_testimonial)FR · EN
👥Équipe (CPT ea_team)FR · EN

Stratégie de contenu

  • Migrer chaque CPT en Astro Content Collection (markdown + frontmatter) — meilleur DX et rebuild rapide.
  • Posts blog : last-modified 2024-11-11 sur post-sitemap.xml → faible activité, migration one-shot OK.
  • Promotions / témoignages / équipe : peu de contenus, migrer manuellement ou script export WP REST.
PHASE 3

Cutover production & dé-WordPress

DNS, redirects 301, monitoring SEO, kill WP
Étape Action Outil Risque
3.1 Build production Astro + déploiement (Cloudflare Pages / Netlify / Vercel) Astro CLI + GitHub Actions Faible
3.2 QA complète : 190 routes, formulaires, TireConnect, panier, checkout, GTM Playwright + checklist manuelle Moyen
3.3 Plan de redirects 301 (anciennes URLs WP → nouvelles routes Astro) _redirects ou netlify.toml Élevé (SEO)
3.4 Cutover DNS (liquipneus.com → Astro host) Cloudflare DNS Élevé
3.5 Monitoring SEO (Search Console, Ahrefs) sur 30 jours GSC + alerts Moyen
3.6 Décommissionner SiteGround WordPress (après stabilité 60j) Backup final + suspension hosting Faible (post-stabilité)

Garde-fous SEO

  • liquipneus.com a un SEO local fort (Montréal, mots-clés "pneus", "freins", "diagnostic auto") — la migration sans 301 = perte de positions.
  • Tester chaque marque/modèle de pneu sur Search Console avant cutover.
  • Garder structure d'URL identique quand possible (ex: /michelin//michelin/).
  • Préserver les 2 GTM containers (KMHBV8WX + T2WQ8P2G) côté Astro.
  • hreflang FR/EN obligatoire (Astro i18n natif le gère).
SYNTHÈSE

Templates Astro & couverture pages

Estimation effort : ~12 templates couvrent 190 routes
Template Astro Pages couvertes Type Phase
HomePage.astro1 page (× 2 langues)UniqueP1
VehicleBrandPage.astro33 marques FR + 37 EN + hubTemplateP1
BrandTirePage.astro24 marques + hub (× 2 langues)TemplateP1
WheelBrandPage.astro10 sous-marques + hub (× 2 langues)TemplateP1
ServicePage.astro11 services (× 2 langues)TemplateP1
TireCategoryPage.astro2 catégories (× 2 langues)TemplateP1
PromoPage.astro2 promos (× 2 langues)TemplateP1
LegalPage.astro7 politiques (× 2 langues)TemplateP1
ContactPage.astro + BookAppointmentPage.astro2 pages (× 2 langues)UniqueP1
WorksheetPage.astro3 worksheets (EN, +FR à valider)TemplateP1
SitemapPage.astro + 404.astro2 pages (× 2 langues)UniqueP1
TireConnectPage.astro2 pages (× 2 langues)Widget JSP2
ProductPage.astro + ShopPage.astro~5 routes e-commerceDynamiqueP2
BlogPostPage.astroN posts (Content Collection)CollectionP2
TestimonialPage.astro + TeamMemberPage.astroCPTs (Content Collections)CollectionP2
À CLARIFIER

Décisions à prendre avec Yoann

Avant d'attaquer P1

Questions ouvertes

  • Refresh design ou clone fidèle 1:1 ? Phase 1 = on copie le visuel actuel à l'identique, ou on en profite pour rafraîchir (mobile-first, vitesse, UX) ?
  • Bilingue confirmé ? Garder FR + EN ou simplifier ? Vérifier traffic SEO EN avant trancher.
  • E-commerce architecture (P2) : Inventory Hub direct (option A), WC headless (option B), ou hybride sous-domaine (option C) ?
  • Hosting cible Astro : Cloudflare Pages (gratuit, fast, edge) / Netlify / Vercel / hébergement existant ?
  • Worksheets EN : traduire en FR ou garder EN-only ?
  • Promotions / témoignages / équipe : garder ces sections (et les migrer en collections) ou supprimer si peu utilisées ?
  • Timing : deadline ? P1 seulement = ~3-6 semaines selon volume design + grading. P1+P2+P3 = ~3 mois.
  • Sortie staging : URL de preview (liquipneus-astro.dev.wboitemedia.com ?) pour validation Yoann avant cutover.