webflow-mcp:safe-publish

Par webflow · webflow-skills

Publiez un site Webflow avec un workflow plan-confirm-publish. Affiche les modifications depuis la dernière publication, exécute des vérifications pré-publication et requiert une confirmation explicite avant la mise en ligne.

npx skills add https://github.com/webflow/webflow-skills --skill webflow-mcp:safe-publish

Publication sécurisée

Publiez un site Webflow avec aperçu complet, validation et workflow de confirmation explicite.

Note importante

TOUJOURS utiliser les outils MCP Webflow pour toutes les opérations:

  • Utiliser data_sites_tool de Webflow MCP avec l'action list_sites pour lister les sites disponibles
  • Utiliser data_sites_tool de Webflow MCP avec l'action get_site pour les informations détaillées du site
  • Utiliser data_pages_tool de Webflow MCP avec l'action list_pages pour récupérer toutes les pages
  • Utiliser data_cms_tool de Webflow MCP avec l'action get_collection_list pour lister les collections CMS
  • Utiliser data_cms_tool de Webflow MCP avec l'action list_collection_items pour vérifier les éléments en brouillon
  • Utiliser data_sites_tool de Webflow MCP avec l'action publish_site pour publier le site
  • Utiliser webflow_guide_tool pour obtenir les bonnes pratiques avant de commencer
  • NE PAS utiliser d'autres outils ou méthodes pour les opérations Webflow
  • Tous les appels d'outils doivent inclure le paramètre context requis (15-25 mots, perspective à la troisième personne)

Instructions

Phase 1 : Sélection du site et vérification du statut

  1. Obtenir le site : Identifier le site cible. Si l'utilisateur ne fournit pas l'ID du site, le demander.
  2. Récupérer les détails du site : Utiliser data_sites_tool de Webflow MCP avec l'action get_site pour récupérer :
    • Date de dernière publication
    • Date de dernière mise à jour
    • Domaines personnalisés configurés
    • Paramètres de locale
  3. Vérifier le statut de publication : Déterminer si le site a des modifications non publiées :
    • Comparer les timestamps lastUpdated vs lastPublished
    • Si lastPublished est null, le site n'a jamais été publié
    • Si lastUpdated > lastPublished, le site a des modifications non publiées

Phase 2 : Détection et analyse des modifications

  1. Lister toutes les pages : Utiliser data_pages_tool de Webflow MCP avec l'action list_pages
  2. Identifier les pages modifiées :
    • Comparer lastUpdated de chaque page avec lastPublished du site
    • Signaler les pages modifiées après la dernière publication
    • Catégoriser par type (statique, template CMS, archivée, brouillon)
  3. Lister toutes les collections : Utiliser data_cms_tool de Webflow MCP avec l'action get_collection_list
  4. Vérifier les éléments en brouillon :
    • Pour chaque collection, utiliser data_cms_tool de Webflow MCP avec l'action list_collection_items
    • Compter les éléments où isDraft: true
    • Compter les éléments modifiés depuis la dernière publication
  5. Détecter les problèmes :
    • Éléments en brouillon qui ne seront pas publiés sauf inclusion explicite
    • Pages manquant de métadonnées SEO
    • Références cassées (si détectable)

Phase 3 : Validation et aperçu avant publication

  1. Exécuter les vérifications avant publication :
    • Vérifier qu'il n'y a pas de références de collection cassées
    • Vérifier les pages avec des champs obligatoires manquants
    • Avertir des éléments en brouillon qui resteront non publiés
  2. Générer un aperçu détaillé :
    • Montrer toutes les pages à publier
    • Montrer tous les éléments CMS à publier
    • Afficher les avertissements pour tout problème trouvé
    • Montrer quels domaines seront mis à jour
  3. Demander l'étendue de publication :
    • Sous-domaine Webflow uniquement
    • Domaines personnalisés uniquement
    • Sous-domaine et domaines personnalisés

Phase 4 : Confirmation et publication

  1. Exiger une confirmation explicite :
    • L'utilisateur doit taper « publish »
    • « yes » ou « y » ne doivent PAS déclencher la publication
    • Afficher un avertissement clair sur ce qui sera rendu public
  2. Exécuter la publication :
    • Utiliser data_sites_tool de Webflow MCP avec l'action publish_site avec les paramètres corrects
    • Traiter customDomains comme un tableau vide s'il n'y a pas de domaines personnalisés
    • Définir publishToWebflowSubdomain selon le choix de l'utilisateur
  3. Capturer l'horodatage de publication :
    • Récupérer les infos du site à nouveau après publication
    • Enregistrer l'heure exacte de publication depuis le champ lastPublished

Phase 5 : Vérification et reporting

  1. Vérifier le succès de publication :
    • Vérifier que le timestamp lastPublished s'est mis à jour
    • Vérifier que le site est accessible aux URL(s) publiée(s)
    • Signaler clairement tout échec de vérification
  2. Générer un rapport de succès :
    • Afficher l'horodatage de publication
    • Lister ce qui est rendu public (pages, éléments)
    • Fournir les URL(s) publiée(s)
    • Afficher le statut de vérification
  3. Gérer les défaillances gracieusement :
    • En cas d'échec, afficher un message d'erreur clair
    • Suggérer des étapes de correction
    • Ne pas réessayer automatiquement

Exemples

Prompt utilisateur :

Publier mon site

Étape 1 : Sélection du site

🚀 Publication sécurisée - Sélection du site

Sites disponibles :

1. **MCP Demo#1**
   - Dernière publication : 9 janvier 2026 à 20:05:38 UTC
   - Dernière mise à jour : 9 janvier 2026 à 20:49:37 UTC
   - ⚠️ **Modifications non publiées** (mise à jour 44 minutes après la dernière publication)

2. **MCP Demo#2**
   - Dernière mise à jour : 9 janvier 2026 à 19:32:53 UTC
   - Statut : Jamais publié

Quel site voulez-vous publier ? (1-2)

Étape 2 : Détection des modifications et aperçu

🚀 Aperçu de publication : MCP Demo#1

**Dernière publication :** 9 janvier 2026 à 20:05:38 UTC
**Temps écoulé depuis la dernière publication :** ~1 heure 5 minutes

---

## Modifications à publier :

### 📄 Pages modifiées : 1
└── **Home** (/)
    - Titre SEO mis à jour en « Home Page »
    - Dernière modification : 21:10:52 UTC

### 📝 Éléments CMS : 2 éléments en brouillon à publier

**Articles de blog (2 brouillons) :**

1. **« Why Webflow MCP Will Transform Your Workflow in 2026! »**
   - Statut : Brouillon
   - Créé : 20:24:44 UTC
   - Dernière modification : 21:11:03 UTC
   - En vedette : Oui
   - Slug : webflow-mcp-transform-workflow-2026

2. **« Webflow E-commerce: The Future of Online Shopping in 2026! »**
   - Statut : Brouillon
   - Créé : 20:05:24 UTC
   - Dernière modification : 21:11:11 UTC
   - En vedette : Oui
   - Slug : webflow-ecommerce-2026

---

**Vérifications avant publication :**
- ✅ Aucune référence cassée détectée
- ✅ Tous les champs obligatoires remplis
- ⚠️ 2 éléments en brouillon seront publiés

**Cibles de publication :**
- Sous-domaine Webflow : mcp-demo-1-e88499.webflow.io
- Domaines personnalisés : Aucun configuré

**⚠️ Tapez « publish » pour rendre ces modifications publiques.**

Étape 3 : Après que l'utilisateur tape « publish »

🔄 Publication de MCP Demo#1...

Progression : ████████████████████ 100%

✅ Publication réussie !

**Site :** MCP Demo#1
**Publié le :** 2026-01-09 21:12:52 UTC (9 janvier 2026 à 21:12:52)

---

## Ce qui est rendu public :

### 📄 Pages (1)
- ✅ Home (/) - Titre SEO mis à jour

### 📝 Articles de blog (2)
- ✅ « Why Webflow MCP Will Transform Your Workflow in 2026! »
- ✅ « Webflow E-commerce: The Future of Online Shopping in 2026! »

---

## Vérification :

- ✅ **Site accessible :** Oui
- ✅ **URL :** https://mcp-demo-1-e88499.webflow.io
- ✅ **Statut :** Page chargée avec succès
- ✅ **Livraison du contenu :** Webflow CDN réactif

---

**🎉 Votre site est maintenant en ligne avec toutes les modifications publiées !**

Toutes les modifications non publiées ont été publiées avec succès sur le sous-domaine Webflow. Les 2 articles de blog en brouillon sont maintenant visibles sur votre site.

Alternative : Avec avertissements

🚀 Aperçu de publication : Site d'entreprise

**Dernière publication :** 8 janvier 2026 à 14:30:00 UTC

---

## Modifications à publier :

### 📄 Pages modifiées : 3
├── **About** (/about)
│   └── Contenu mis à jour
├── **Contact** (/contact)
│   └── Champs de formulaire modifiés
└── **Home** (/)
    └── Section héros mise à jour

### 📝 Éléments CMS

**Articles de blog :**
- 5 éléments publiés modifiés
- 2 éléments en brouillon (ne seront PAS publiés automatiquement)

**Produits :**
- 3 nouveaux éléments créés
- 1 élément mis à jour

---

**Vérifications avant publication :**
⚠️ **Avertissements trouvés :**

1. **Métadonnées SEO manquantes (2 pages) :**
   - /about - Pas de description meta
   - /contact - Pas de titre meta ou description
   - 💡 Recommandation : Ajouter des métadonnées SEO avant de publier

2. **Éléments en brouillon (2) :**
   - « Upcoming Product Launch » (Article de blog)
   - « Holiday Sale Announcement » (Article de blog)
   - ⚠️ Ceux-ci resteront non publiés

3. **Ensemble de modifications volumineux :**
   - 3 pages + 9 éléments CMS seront mis à jour
   - Envisagez de vérifier attentivement les modifications

**Cibles de publication :**
- Sous-domaine Webflow : company-site.webflow.io
- Domaines personnalisés : example.com, www.example.com

---

**Voulez-vous :**
1. Procéder à la publication (tapez « publish »)
2. Annuler et vérifier (tapez « cancel »)

Directives

Phase 1 : Exigences critiques

Vérification du statut du site :

  • Toujours récupérer les détails complets du site en utilisant data_sites_tool avec l'action get_site
  • Comparer lastUpdated vs lastPublished pour détecter les modifications non publiées
  • Si les timestamps sont identiques, informer l'utilisateur « Aucune modification à publier »
  • Si lastPublished est null, avertir « Première publication - le site entier sera rendu public »

Gestion des horodatages :

  • Stocker le format ISO et le format lisible par l'homme
  • Calculer le temps écoulé depuis la dernière publication
  • Afficher le fuseau horaire (préférer UTC pour la clarté)

Phase 2 : Règles de détection des modifications

Détection des modifications de page :

  • Comparer lastUpdated de la page avec lastPublished du site
  • Signaler uniquement les pages où lastUpdated > lastPublished
  • Catégoriser les modifications :
    • Modifications de contenu (difficiles à détecter via API)
    • Modifications de métadonnées SEO (comparer si disponible)
    • Modifications structurelles (page créée/supprimée)

Détection des éléments CMS :

  • Vérifier le champ isDraft pour tous les éléments
  • Comparer lastUpdated avec lastPublished du site
  • Compter les éléments dans chaque état :
    • Publié + non modifié
    • Publié + modifié
    • Brouillon (ne sera pas publié)
    • Archivé (n'apparaîtra pas sur le site)

Collections à vérifier :

  • Interroger toutes les collections avec data_cms_tool avec l'action get_collection_list
  • Pour chaque collection, lister les éléments avec data_cms_tool avec l'action list_collection_items
  • Traiter par lots les requêtes si le site a beaucoup de collections (10+ collections)

Phase 3 : Validation avant publication

Vérifications requises :

  1. Références cassées :

    • Vérifier que les éléments référencés existent
    • Avertir si un champ de référence pointe vers un élément supprimé/archivé
    • Remarque : L'API peut ne pas exposer cela facilement - meilleur effort
  2. Champs obligatoires manquants :

    • Vérifier que tous les champs CMS obligatoires sont remplis
    • Avertir si des champs obligatoires sont vides (ne devrait pas être possible, mais vérifier)
  3. Complétude SEO :

    • Vérifier les pages pour seo.title ou seo.description manquants
    • Avertir mais ne pas bloquer la publication
    • Fournir des recommandations pour amélioration
  4. Avertissement d'élément en brouillon :

    • Lister clairement tous les éléments en brouillon
    • Expliquer qu'ils resteront non publiés
    • Offrir d'annuler si l'utilisateur veut publier les brouillons en premier

Niveaux d'avertissement :

  • 🔴 Critique : Casser le site (refs cassées, champs obligatoires manquants)
  • ⚠️ Avertissement : Suboptimal mais publiable (SEO manquant, brouillons)
  • 💡 Suggestion : Bonnes pratiques (ajouter descriptions meta, optimiser images)

Quand bloquer la publication :

  • Bloquer uniquement si des erreurs critiques sont trouvées
  • Pour les avertissements et suggestions, permettre à l'utilisateur de continuer
  • Toujours afficher les avertissements en évidence

Phase 4 : Confirmation et publication

Exigences de confirmation :

  • L'utilisateur DOIT taper « publish » (insensible à la casse)
  • NE PAS accepter : « yes », « y », « ok », « go », « confirm »
  • Justification : Évite les publications accidentelles des confirmations génériques
  • Si l'utilisateur tape autre chose, redemander ou traiter comme annulation

Utilisation de l'API Publish :

// Format correct pour data_sites_tool avec l'action publish_site
{
  "site_id": "site-id-here",
  "publishToWebflowSubdomain": true,  // ou false
  "customDomains": []  // DOIT être un tableau, même s'il est vide
}

// Si des domaines personnalisés existent :
{
  "site_id": "site-id-here",
  "publishToWebflowSubdomain": false,
  "customDomains": ["example.com", "www.example.com"]
}

Sélection de domaine :

  • S'il n'y a pas de domaines personnalisés : Publier sur le sous-domaine uniquement
  • Si des domaines personnalisés existent : Demander à l'utilisateur lesquels publier
    • Sous-domaine uniquement
    • Domaines personnalisés uniquement
    • Les deux
  • Défaut au sous-domaine si l'utilisateur ne spécifie pas

Gestion des erreurs :

  • Si erreur de validation customDomains : S'assurer que c'est un tableau
  • Si 400 Bad Request : Vérifier le format de la requête
  • Si 403 Forbidden : Vérifier les permissions de publication du site
  • Si 500 Server Error : Réessayer une fois après 5 secondes, puis signaler l'échec

Phase 5 : Vérification et reporting

Vérification après publication :

  1. Récupérer les infos du site mises à jour :

    • Appeler data_sites_tool avec l'action get_site à nouveau
    • Vérifier que le timestamp lastPublished s'est mis à jour
    • Si le timestamp ne s'est pas mis à jour, la publication peut avoir échoué
  2. Vérification d'accessibilité du site :

    • Utiliser WebFetch pour vérifier l'URL publiée
    • Vérifier que le site retourne 200 OK
    • Vérifier que le contenu est servi (pas de page d'erreur)
    • Mesurer le temps de réponse
  3. Vérifications de domaines personnalisés :

    • Si publié sur des domaines personnalisés, vérifier chaque domaine
    • Certains domaines peuvent prendre du temps pour se propager (DNS)
    • Remarque : « Le domaine peut prendre quelques minutes pour se mettre à jour » si lent

Gestion de l'échec de vérification :

  • Si le site n'est pas accessible : Signaler clairement
  • Remarque : Les modifications SONT publiées même si la vérification échoue
  • Causes possibles :
    • Délai de propagation DNS
    • Cache CDN pas encore effacé
    • Problème temporaire d'infrastructure Webflow
  • Suggérer : « Essayez d'accéder au site dans 2-3 minutes »

Format de rapport de succès :

✅ Publication réussie !

Site : [Nom du site]
Publié le : [Horodatage ISO] ([Lisible par l'homme])

Ce qui est rendu public :
- X pages modifiées
- Y éléments CMS publiés
- Z éléments en brouillon promis à la publication

Vérification :
✅ Site accessible
✅ URL : [URL principale]
✅ Temps de réponse : [Xms]

[Si domaines personnalisés]
Domaines personnalisés :
✅ example.com - accessible
⚠️ www.example.com - en propagation (peut prendre 2-3 minutes)

Bonnes pratiques

Toujours :

  • ✅ Afficher un aperçu complet avant publication
  • ✅ Exiger une confirmation explicite « publish »
  • ✅ Vérifier le site après publication
  • ✅ Signaler l'horodatage exact de publication
  • ✅ Lister toutes les modifications rendu public
  • ✅ Avertir des éléments en brouillon

Jamais :

  • ❌ Publier sans confirmation explicite de l'utilisateur
  • ❌ Accepter des confirmations génériques comme « yes »
  • ❌ Masquer les avertissements à l'utilisateur
  • ❌ Réessayer les publications échouées automatiquement
  • ❌ Continuer si des erreurs critiques sont détectées

Cas limites :

Aucune modification à publier :

ℹ️ Aucune modification à publier

Dernière publication : 9 janvier 2026 à 20:05:38 UTC
Dernière mise à jour : 9 janvier 2026 à 20:05:38 UTC

Toutes les modifications sont déjà publiées. Votre site est à jour !

Première publication (Jamais publié avant) :

⚠️ Avertissement de première publication

Ce site n'a JAMAIS été publié avant.

Cela rendra le SITE ENTIER publiquement accessible :
- Toutes les pages (2 pages)
- Tous les éléments CMS (47 éléments dans 3 collections)
- Tous les actifs

Êtes-vous prêt à rendre ce site public ?
Tapez « publish » pour continuer, ou « cancel » pour abandonner.

Publication sur un sous-domaine de staging :

  • Si le site a des domaines personnalisés mais l'utilisateur choisit le sous-domaine uniquement
  • Utile pour les tests avant publication sur un domaine de production
  • Expliquer : « Publication sur le sous-domaine uniquement. Les domaines personnalisés continueront à afficher l'ancienne version. »

Publication partielle non supportée :

  • Webflow publie le site entier, pas les pages individuelles
  • Impossible de publier des pages ou collections spécifiques
  • Si l'utilisateur demande de « publier juste la page d'accueil », expliquer la limitation
  • Alternative : Utiliser le sous-domaine de staging pour les tests

Optimisation des performances

Pour les sites volumineux :

  • Les sites avec 100+ pages ou 1000+ éléments peuvent prendre du temps à analyser
  • Afficher la progression : « Analyse de 150 pages... »
  • Traiter par lots les appels API si possible
  • Envisager de sauter la diff détaillée pour les très grands ensembles de modifications

Cache :

  • Mettre en cache les infos du site pendant le workflow (ne pas récupérer inutilement)
  • Récupérer seulement après publication pour vérifier

Délais d'attente :

  • L'API Publish peut prendre 10-30 secondes pour les sites volumineux
  • Ne pas délai d'attente trop rapidement
  • Afficher : « Publication... cela peut prendre jusqu'à 30 secondes pour les sites volumineux »

Messages d'erreur

Clairs et exploitables :

Mauvais :

"La publication a échoué"

Bon :

"Échec de la publication : Erreur de validation

L'API Webflow a retourné une erreur :
- Le paramètre customDomains doit être un tableau

C'est probablement un problème de configuration. Nouvelle tentative...

Erreurs courantes :

  1. Erreur de validation (customDomains) :

    • Correction : S'assurer que customDomains: [] est un tableau
    • Ne pas passer null ou omettre le champ
  2. Site non trouvé :

    • L'utilisateur peut avoir fourni un mauvais ID de site
    • Lister les sites disponibles et demander à l'utilisateur de sélectionner
  3. Permissions insuffisantes :

    • Le site peut nécessiter des permissions de publication spécifiques
    • Vérifier les paramètres d'accès à l'espace de travail
  4. Publication déjà en cours :

    • Une autre publication peut être en cours d'exécution
    • Attendre 30 secondes et réessayer

Skills similaires