Vendredi 17 h. Votre client valide la mise en ligne sur staging : nouvelles fiches produit, bannières campagne été, PDF presse dans la médiathèque. Vous poussez la base de données en production avec WP Migrate — rapide, propre. Vous ouvrez la home en prod. Images cassées. Des dizaines de rectangles gris. Le client appelle. Vous ouvrez FileZilla, vous comparez wp-content/uploads/2026/07 à la main, vous ratez trois variantes WebP, vous facturez deux heures de « sync médias » que personne n'avait budgétées.
Si cette scène vous est familière, vous n'êtes pas un mauvais développeur. Vous êtes un développeur d'agence qui travaille avec des outils conçus pour des migrations ponctuelles, pas pour un delta récurrent entre staging et production.
Les plugins WP Migrate DB Pro + Media Files (~149–199 $/an) ou les alternatives Media Sync payantes font le job — mais facturent une licence par agence, parfois un stockage cloud intermédiaire facturé au Go, et ne sont pas toujours le bon outil quand les environnements sont déjà appairés et que vous voulez juste rattraper les fichiers manquants. rsync en SSH est parfait quand vous avez les clés sur les deux serveurs ; sur un mutualisé OVH, Ionos ou o2switch classique, c'est souvent impossible.
Media Sync Staging→Prod by Volade (MSSP) connecte staging et production directement : manifeste REST signé par clé partagée, comparaison hash MD5, pull des fichiers manquants uniquement, 4 presets agence, dry-run et export JSON gratuit — zéro frais de stockage cloud, sans compte obligatoire.
Creez un compte et debloquez le pack sync agence
Guide cle partagee, 4 presets sync et checklist handoff staging→prod — ressources membres.
Sans carte bancaire · Les checklists publiques restent gratuites.
Pour qui est ce guide ?
| Profil | Situation typique | Ce que MSSP change |
|---|---|---|
| Agence WordPress | Handoff client, staging validé, prod avec images cassées | Dry-run partageable + pull ciblé en 30 min |
| E-commerce WooCommerce | 200 nouvelles vignettes produit sur staging | Preset WooCommerce catalog images — pas tout uploads/ |
| Freelance sur mutualisé | Pas de SSH, pas de rsync | REST site-à-site, clé partagée, zéro accès root |
| DevOps avec VPS | rsync possible mais l'équipe contenu n'a pas SSH | Interface admin + WP-CLI pour les ops, presets pour les chefs de projet |
| Multi-sites agence | 15 boutiques, même workflow de mise en prod | Export JSON + runbook reproductible |
Quand on met en place MSSP, on commence par un dry-run avant le moindre pull. Cela montre exactement quels fichiers manquent, combien de données cela représente, et si l'URL staging pointe bien vers le bon environnement. Un dry-run qui affiche 15 000 fichiers manquants signale souvent un problème de configuration (staging qui pointe vers une URL de prod différente) plutôt qu'un vrai delta.
Scénarios clients réels (et ce qui casse)
Scénario A — Handoff agence, vendredi soir
L'agence livre un site WooCommerce. Le client a ajouté 80 photos produit sur staging pendant la recette. La BDD est migrée. En prod : fiches OK, images 404. Cause : wp-content/uploads jamais synchronisé. Solution MSSP : preset Agency handoff (full missing) après dry-run validé.
Scénario B — Catalogue saisonnier
Boutique mode : chaque collection = 150 visuels. L'équipe marketing travaille sur staging deux semaines. Mise en prod hebdomadaire. FTP intégral = 45 min + risque d'écrasement. MSSP preset Recent uploads (30 days) = delta ciblé.
Scénario C — Mutualisé sans SSH
Hébergement partagé, pas de rsync, pas de clé SSH pour le freelance. WP Migrate Media = licence + parfois relais cloud. MSSP : plugin sur les deux sites, clé REST, pull depuis l'admin production.
Scénario D — Combiner avec WP Migrate
Migration complète initiale : WP Migrate pour DB + option médias si besoin. Ensuite, chaque sprint : MSSP pour le delta uploads sans repasser par un export ZIP de 12 Go.
Pourquoi le FTP manuel échoue (à chaque fois)
| Méthode | Risque principal | Coût réel | Automatisable | Mutualisé sans SSH |
|---|---|---|---|---|
| FTP / SFTP manuel | Oublis, écrasements, chemins year/month | Temps agence (1–3 h/go-live) | Non | Partiel (FTP oui, fiabilité non) |
| WP Migrate DB Pro + médias | Licence, bundle DB+médias | ~149–199 $/an | Oui | Oui |
| Plugins Media Sync payants | Cloud intermédiaire, facturation Go | ~149 $ + stockage | Partiel | Oui |
| All-in-One WP Migration | ZIP complet, pas de delta | ~69 $ + temps upload | Non (repackage) | Oui |
| rsync SSH | Accès root requis, courbe DevOps | Gratuit (temps setup) | Oui | Non |
| MSSP by Volade | Pull ciblé manquants | 0 € usage | Oui | Oui |
Le FTP échoue parce qu'il compare des arborescences, pas des contenus. Un fichier présent aux deux endroits avec un hash différent (régénération miniatures, conversion WebP) ne sera pas détecté comme « à synchroniser » si vous ne comparez que les noms. MSSP compare les hash MD5 via manifeste REST.
Architecture MSSP — comment ça marche
- Staging (source) : scanne
wp-content/uploads, construit un manifeste (chemin relatif + taille + hash MD5 + date). - Production (destination) : interroge
GET /wp-json/mssp/v1/manifestavec headerX-MSSP-Key. - Comparaison locale : pour chaque entrée staging, prod vérifie si le fichier existe avec le même hash.
- Pull : télécharge uniquement les manquants via
GET /wp-json/mssp/v1/file?path=..., écrit au bon cheminyear/month.
Endpoints REST :
| Route | Rôle |
|---|---|
mssp/v1/ping | Test connexion + version |
mssp/v1/manifest | Liste indexée (filtres since, woo_only, limit) |
mssp/v1/file | Téléchargement binaire d'un fichier relatif |
Cinq phases de déploiement (avec sous-étapes)
Bloquez 30 à 45 minutes pour le premier appairage. Les runs suivants : 5–15 min selon le volume.
Phase 1 — Prérequis et sauvegarde (10 min)
- Vérifiez HTTPS actif sur staging et production.
- Confirmez structure
wp-content/uploadsidentique (même préfixe table si multisite). - Sauvegarde production : fichiers + BDD (UpdraftPlus, hébergeur, ou snapshot).
- Installez le plugin sur les deux environnements (même version ZIP).
Phase 2 — Appairage staging / prod (15 min)
- Sur staging : réglages → rôle Staging (source) → copiez la clé de sync locale.
- Sur production : rôle Production (destination) → URL staging + collez la clé distante.
- Cliquez Test connection → doit répondre
ok: truesurmssp/v1/ping. - Vérification manuelle (optionnel) :
curl -H "X-MSSP-Key: VOTRE_CLE" https://staging.client.com/wp-json/mssp/v1/ping
- Documentez URL + emplacement clé dans le runbook client (hors Git).
Phase 3 — Dry-run compare (5–10 min)
- Preset Dry-run compare only ou :
wp mssp pull --dry-run
# équivalent preset :
wp mssp pull --preset=dry_compare
- Notez : nombre de fichiers manquants, taille totale estimée, dossiers concernés (
2026/07, etc.). - Partagez le rapport au client / chef de projet — validation écrite avant pull.
- Si le chiffre semble aberrant (ex. 15 000 fichiers), vérifiez que l'URL staging pointe bien vers le bon environnement.
Phase 4 — Premier pull (10–30 min)
- Preset Agency handoff (full missing) — import par lots (batch 25 par défaut).
- Surveillez le journal local admin : chaque run enregistre succès/échecs.
- Vérifiez pages front : home, 3 fiches produit, une page avec PDF.
- Si miniatures floues : régénérez via plugin dédié après le pull (MSSP ne régénère pas automatiquement toutes les tailles).
Variantes preset :
| Preset | Slug CLI | Quand l'utiliser |
|---|---|---|
| Agency handoff (full missing) | agency_handoff | Première sync post-handoff |
| WooCommerce catalog images | woo_catalog | Seulement vignettes produits liées |
| Recent uploads (30 days) | recent_30 | Delta hebdo staging → prod |
| Dry-run compare only | dry_compare | Audit sans téléchargement |
wp mssp pull --preset=woo_catalog
wp mssp pull --preset=recent_30
Phase 5 — Export, handoff et runbook (5 min)
- Export JSON depuis l'admin — manifeste, réglages (clés masquées), journal.
- Joignez au livrable client ou versionnez en Git interne agence.
- Planifiez runs récurrents (hebdo ou avant chaque release) avec preset
recent_30. - Archivez le journal de sync dans le dossier projet.
wp mssp export > mssp-backup-$(date +%Y%m%d).json
Comparatif détaillé vs WP Migrate, FTP, rsync
| Solution | Prix marché | Sync delta uploads | Dry-run hash | Sans SSH | Site-à-site direct |
|---|---|---|---|---|---|
| WP Migrate DB Pro + Media | ~199 $/an | Partiel (bundle migration) | Partiel | Oui | Non (export/import) |
| All-in-One WP Migration Unlimited | ~69 $ | Non (ZIP complet) | Non | Oui | Non |
| Duplicator Pro | ~59 $/an | Non (repackage) | Non | Oui | Non |
| WP Offload Media + S3 | ~79 $ + AWS | Via bucket partagé | Non | Oui | Via cloud |
| FTP manuel | Temps agence | Manuel, erreurs | Non | Partiel | Oui (lent) |
| rsync SSH | Gratuit | Oui, excellent | Oui (--dry-run) | Non | Oui |
| MSSP by Volade | 0 € | Oui | Oui | Oui | Oui (REST) |
Comparatif rapide décision
| Critère | WP Migrate | FTP | rsync | MSSP Volade |
|---|---|---|---|---|
| Sync médias ciblé (manquants) | Oui (licence) | Manuel | Oui | Oui |
| Sans cloud tiers | Partiel | Oui | Oui | Oui |
| Dry-run avant exécution | Partiel | Non | Oui | Oui |
| REST site-à-site | Non | Non | Non | Oui |
| Mutualisé sans SSH | Oui | Oui | Non | Oui |
| Frais usage récurrent | Licence annuelle | Temps humain | DevOps | 0 € |
WP-CLI pour agences — commandes complètes
# Test connexion staging depuis prod
wp mssp ping
# Comparer sans télécharger
wp mssp compare
# Dry-run explicite
wp mssp pull --dry-run
# Presets
wp mssp pull --preset=agency_handoff
wp mssp pull --preset=woo_catalog
wp mssp pull --preset=recent_30
# Export configuration + journal
wp mssp export > mssp-backup.json
Usages CI/CD agence :
- Hook post-déploiement BDD :
wp mssp pull --preset=recent_30si connexion staging autorisée depuis prod. - Script de validation :
wp mssp compareretourne la liste des manquants pour alerte Slack.
Dépannage — erreurs fréquentes
Invalid sync key (401)
- Clé copiée avec espace en fin de ligne.
- Clé régénérée sur staging sans mise à jour prod.
- Header
X-MSSP-Keybloqué par WAF — whitelistez/wp-json/mssp/*.
Media Sync is disabled (403)
- Plugin désactivé sur staging ou sync désactivé dans réglages.
- Réactivez sur staging (source doit exposer REST).
File not found (404) sur certains pulls
- Fichier supprimé sur staging entre manifeste et pull — relancez compare.
- Chemin avec
..rejeté (sécurité) — vérifiez nom fichier source.
Timeout PHP sur gros volumes
- Réduisez le batch (réglages admin).
- Lancez preset
recent_30en plusieurs passes. - Augmentez
max_execution_timetemporairement sur prod.
Images toujours cassées après pull réussi
- URLs absolues en BDD pointent vers staging — cherchez-replace URL (WP Migrate ou Better Search Replace).
- Fichier présent mais hash différent — MSSP ne remplace pas les existants ; supprimez le fichier prod obsolète ou renommez sur staging.
REST bloqué par sécurité
- Wordfence / iThemes bloque REST anonyme — autorisez route
mssp/v1avec clé. - Cloudflare « Bot Fight » — règle allow pour IP prod → staging.
Une fois MSSP appairé, on ajoute wp mssp pull --preset=recent_30 à la checklist de go-live au même titre que la migration BDD. Cela prend 5 minutes et évite les images cassées. Pour les agences qui livrent plusieurs sites par mois, un script CI qui lance le dry-run après chaque push staging et envoie le résultat dans Slack permet de détecter les médias manquants avant même que le client ne les voie.
Workflow WooCommerce — catalogue produit sans tout uploads/
Sur une boutique avec 3 000 produits et 12 Go d'uploads historiques, un pull full missing est souvent overkill si seules les vignettes catalogue ont changé ce sprint.
Étapes recommandées
- Dry-run global pour voir l'ampleur (
dry_compare). - Si > 80 % des manquants sont des images produit → preset
woo_catalog. - Vérifiez 10 fiches produit au hasard (image principale + galerie).
- Si des PDF notices ou assets marketing manquent encore → complétez avec
recent_30ouagency_handoffciblé.
Cas limite : WebP + fallback JPEG
Si staging génère des WebP que prod n'a pas, le manifeste les liste comme manquants même si un JPEG existe sous un autre nom. Après pull, vérifiez <picture> / srcset du thème — parfois un regenerate thumbnails suffit.
Sécurité et conformité — checklist rapide
| Point | Recommandation |
|---|---|
| Transport | HTTPS obligatoire staging + prod |
| Clé API | 32+ caractères, rotation trimestrielle |
| Accès REST | Limiter au besoin via WAF (IP prod connue) |
| Journal | Ne pas exposer export JSON publiquement |
| RGPD | Les médias peuvent contenir des EXIF — pas de fuite vers tiers (MSSP = direct) |
| Désactivation post-projet | Désactiver sync ou régénérer clé après fin de mission |
Quand NE PAS utiliser MSSP
- Migration initiale de 50 Go+ sans environnement prod existant → WP Migrate ou rsync initial.
- Remplacement de fichiers modifiés (même nom, contenu différent) → MSSP cible les manquants, pas les remplacements ; supprimez manuellement ou utilisez rsync
--checksum. - Médias sur S3 uniquement (sans copie locale) → WP Offload Media avec bucket partagé.
- Pas de HTTPS sur staging → configurez SSL avant appairage (clé transite sur REST).
FAQ
Qu'est-ce que ce sujet ?
slug: wordpress-media-sync-staging-prod-2026
Quels sont les prérequis pour se lancer ?
Avant de commencer, assurez-vous d'avoir les bases : un site ou projet bien défini, des objectifs clairs, et les ressources nécessaires (temps, budget, compétences). Le reste s'acquiert en chemin.
Combien de temps faut-il pour voir des résultats ?
Les premiers résultats peuvent apparaître en 2 à 4 semaines pour les actions rapides. Pour les efforts plus profonds, comptez 3 à 6 mois. La régularité est le facteur clé.
Quelles erreurs éviter absolument ?
Les erreurs les plus fréquentes : se précipiter sans diagnostic, vouloir tout faire d'un coup, négliger la formation, et sous-estimer le temps nécessaire. La pire : copier les autres sans comprendre pourquoi.
Faut-il des compétences techniques ?
Pas forcément. Beaucoup d'aspects sont accessibles sans technique. Pour les points plus complexes, des outils simplifient la tâche ou vous pouvez vous faire accompagner.
Est-ce adapté aux débutants ?
Oui, si vous suivez une approche progressive. Commencez par les fondamentaux, maîtrisez-les, puis approfondissez. L'essentiel est de commencer simple.
Quel budget prévoir ?
Certains aspects sont gratuits (bonnes pratiques, optimisations de base). D'autres nécessitent un investissement (outils, formation). Budgétisez selon vos objectifs et mesurez le retour.
Par où commencer après avoir lu cet article ?
Action Installer MSSP sur staging + prod d'un site pilote Appairage + dry-run, partager rapport au chef de projet Premier pull agency_handoff, vérifier 10 URLs front Documenter runbook + export JSON dans dossier client Ajouter wp mssp pull --preset=recent_30 à la checklist go-live Checklist téléchargeable :
Plan d'action cette semaine
| Jour | Action | Durée |
|---|---|---|
| Lundi | Installer MSSP sur staging + prod d'un site pilote | 20 min |
| Mardi | Appairage + dry-run, partager rapport au chef de projet | 15 min |
| Mercredi | Premier pull agency_handoff, vérifier 10 URLs front | 30 min |
| Jeudi | Documenter runbook + export JSON dans dossier client | 15 min |
| Vendredi | Ajouter wp mssp pull --preset=recent_30 à la checklist go-live | 10 min |
Checklist téléchargeable : checklist sync médias staging → prod
Conclusion — reprenez le contrôle du vendredi soir
Les images cassées en prod ne sont pas une fatalité WordPress. Ce sont presque toujours un process manquant : personne n'a synchronisé uploads/ après la migration BDD. Le FTP manuel et les licences à 149 $ ne sont pas les seules options — et sur mutualisé sans SSH, rsync n'est tout simplement pas là.
MSSP vous donne un workflow d'agence : dry-run partageable, pull ciblé, presets WooCommerce, journal local, export JSON, WP-CLI. Zéro cloud intermédiaire. Gardez WP Migrate pour la DB ; laissez MSSP gérer le delta médias entre chaque sprint.
Prochaine étape : téléchargez Media Sync Staging→Prod by Volade v1.1.0, appairez staging et production, et lancez un dry-run avant votre prochain go-live client.
Sync medias staging→prod avec Media Sync Staging to Prod
Sync medias staging vers prod pour agences — API REST site à site avec clé partagée, comparaison manifest hash, 4 presets. Bat WP Migrate DB Pro media (~149 $), FTP manuel et relais cloud — gratuit sans compte.
Votre avis compte
Commentez « Sync médias staging → production WordPress : fini le FTP manuel et les plugins à 149 $ (guide agence 2026) » ou notez cet article pour aider la communauté.
personnes ont partagé cet article
