Pourquoi la hausse Squarespace de juillet 2026 change le calcul
Squarespace est passé de 23 à ~29 $/mois sur son plan Core en juillet 2026, ce qui représente 348 $/an facturés d'un bloc à l'échéance. Ce n'est pas la première hausse — le plan Business avait déjà grimpé de 33 % entre 2022 et 2024 — et les tarifs Squarespace ne comprennent pas les newsletters payantes sans commission ni l'accès à votre serveur.
Ghost, à l'inverse, est un logiciel que vous installez sur votre propre infrastructure. Vous payez uniquement le VPS qui le fait tourner. Aucun surcoût au passage d'un seuil de trafic, aucune commission sur les abonnements payants, aucune dépendance à la politique tarifaire d'un tiers.
Le seuil de rentabilité se calcule en quelques lignes : si votre VPS coûte 99 DH/mois et votre domaine selon l'extension choisie, vous êtes rentable dès la première année par rapport au plan Core Squarespace à 348 $/an.
Ce que Ghost auto-hébergé vous donne que Squarespace ne donne pas
- Newsletters payantes sans commission — Stripe est branché directement ; Ghost ne prélève aucun pourcentage sur les abonnements de vos lecteurs, contrairement aux 10 % du plan Core Squarespace.
- Accès root au serveur — vous pouvez modifier la configuration nginx, poser des règles de cache, installer un proxy d'analytics ou connecter Ghost à votre pipeline de données.
- Thèmes open source — des centaines de thèmes Ghost sont disponibles sur GitHub sans licence supplémentaire ; les modifier ne demande que des connaissances en Handlebars.
- Export complet et portable — Ghost exporte votre contenu en JSON structuré et vos abonnés en CSV ; vous pouvez importer ces fichiers sur n'importe quelle autre instance Ghost sans perdre les métadonnées.
- Coût prévisible — le tarif du VPS ne varie pas selon votre trafic ou le nombre d'abonnés ; seule une mise à niveau volontaire change la facture.
- Mises à jour sous votre contrôle — vous décidez quand passer à la prochaine version majeure, ce qui évite les migrations forcées qui ont cassé des thèmes Squarespace par le passé.
Coût total sur 3 ans : Squarespace Core vs Ghost sur VPS
Faites défiler le tableau
| Poste | Squarespace Core | Ghost sur VPS ServOrbit |
|---|---|---|
| Abonnement plateforme (an 1) | ~29 $/mois (348 $/an) | 99 DH/mois × 12 |
| Abonnement plateforme (an 2) | ~29 $/mois ou plus (348 $/an) | 99 DH/mois × 12 |
| Abonnement plateforme (an 3) | ~29 $/mois ou plus (348 $/an) | 99 DH/mois × 12 |
| Domaine (.com, /an) | Inclus dans le plan | selon le registrar |
| Commission newsletters payantes | 10 % sur les revenus | 0 % — Stripe direct |
| Accès SSH / root | Non disponible | Inclus |
| Sauvegardes | Non incluses (option payante) | Hebdomadaires incluses |
| Migrations assistées | Non | Incluses sur demande |
Prérequis avant de commencer
Ghost est écrit en Node.js et s'appuie sur une base MySQL (ou MariaDB). Les ressources recommandées pour une publication personnelle ou professionnelle à trafic modéré :
Serveur : 1 vCPU, 1 Go de RAM minimum — Ghost tourne confortablement sur 512 Mo en régime stable, mais les pics de build de thème et les migrations demandent de la marge. Un VPS Start couvre la majorité des cas.
Stockage : 10 Go suffisent pour démarrer ; prévoyez 20 Go si vous publiez régulièrement des images ou des fichiers audio pour un podcast.
Logiciels : Node.js 22 LTS ou supérieur, npm, MySQL 8 ou MariaDB 10.6+, nginx comme reverse proxy, certbot pour les certificats TLS.
Nom de domaine : un domaine pointé sur l'IP de votre VPS ; le SSL sera provisionné automatiquement par Ghost CLI via Let's Encrypt.
Accès SSH : une clé ED25519 ou RSA configurée sur le serveur — Ghost CLI refuse les installations en root, vous devrez créer un utilisateur système dédié.
Compte Squarespace actif jusqu'à la date de migration : l'export des articles se fait depuis le panneau d'administration.
Migrer de Squarespace vers Ghost sur VPS : étapes
Exporter votre contenu depuis Squarespace
Depuis votre tableau de bord Squarespace, allez dans Paramètres → Avancé → Importer / Exporter le contenu, puis cliquez sur Exporter. Squarespace produit un fichier XML au format WordPress Extended RSS (WXR). Ce format est reconnu par les outils de conversion Ghost — Ghost ne lit pas le XML Squarespace nativement, mais l'outil
ghost-gscanet les convertisseurs tiers traitent le WXR.Exportez aussi vos abonnés : Marketing → Abonnés e-mail → Exporter, qui produit un fichier CSV avec les adresses, les statuts d'abonnement et les dates d'inscription. Conservez ce CSV précieusement — c'est votre liste, et elle ne se récupère pas autrement après fermeture du compte.
Préparer le serveur VPS
Connectez-vous en SSH à votre VPS :
ssh [email protected]. Mettez à jour les paquets, puis installez Node.js 22 via le dépôt NodeSource :curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -sudo apt-get install -y nodejsInstallez ensuite MySQL et nginx :
sudo apt-get install -y mysql-server nginxSécurisez MySQL avec
sudo mysql_secure_installation, puis créez la base et l'utilisateur Ghost :sudo mysql -u root -p -e "CREATE DATABASE ghostdb; CREATE USER 'ghostuser'@'localhost' IDENTIFIED BY 'mot_de_passe_fort'; GRANT ALL ON ghostdb.* TO 'ghostuser'@'localhost'; FLUSH PRIVILEGES;"Créez enfin un utilisateur système non-root pour Ghost :
sudo adduser ghost-runner.Installer Ghost CLI et Ghost
Installez Ghost CLI globalement :
sudo npm install ghost-cli@latest -gCréez le répertoire d'installation et donnez-en la propriété à votre utilisateur Ghost :
sudo mkdir -p /var/www/ghostsudo chown ghost-runner:ghost-runner /var/www/ghostsudo chmod 775 /var/www/ghostPassez en utilisateur Ghost, puis lancez l'installation :
su - ghost-runnercd /var/www/ghost && ghost installGhost CLI vous posera une série de questions : URL de production (ex.
https://votre-domaine.com), informations de connexion MySQL, et vous proposera de configurer nginx et SSL automatiquement. Répondez oui aux deux — Ghost CLI écrit la configuration nginx et appelle certbot pour provisionner le certificat Let's Encrypt.Convertir et importer le contenu Squarespace
Le fichier XML Squarespace doit être converti au format JSON Ghost avant l'import. Utilisez l'outil
@tryghost/migrate:npx @tryghost/migrate squarespace --pathToFile export-squarespace.xmlL'outil produit un fichier
ghost-import.json. Vérifiez-en la structure : chaque article doit avoir untitle, unslug, unstatuset un champhtml. Les images sont référencées par URL Squarespace — elles seront téléchargées lors de l'import si vous passez l'option--scrape media.Connectez-vous à l'interface d'administration Ghost (
https://votre-domaine.com/ghost), créez votre compte administrateur, puis allez dans Paramètres → Avancé → Migrations → Importer le contenu et chargez le fichier JSON. Ghost traite l'import en arrière-plan et vous notifie par e-mail à la fin.Importer vos abonnés e-mail
Dans Ghost Admin, allez dans Membres → Importer les membres et chargez votre fichier CSV Squarespace. Ghost reconnaît les colonnes
email,nameetsubscribed_to_emails. Mappez les colonnes si les en-têtes diffèrent.Les abonnés importés sont marqués comme « membres gratuits » par défaut. Si certains avaient un abonnement payant sur Squarespace, vous devrez les mettre à jour manuellement ou via l'API Ghost Admin (
PATCH /admin/members/{id}) une fois Stripe configuré.Configurez ensuite Stripe dans Ghost Admin → Paramètres → Abonnements pour activer les newsletters payantes. Entrez votre clé API Stripe et définissez vos tarifs d'abonnement.
Mettre en place les redirections 301 depuis les anciennes URLs
Squarespace génère des URLs au format
/blog/titre-articleou/titre-articleselon le template. Ghost utilise par défaut/{slug}/. Si vos URLs diffèrent, créez un fichierredirects.yamldans le répertoire Ghost (/var/www/ghost/content/data/redirects.yaml) :from: /blog/{slug}to: /{slug}permanent: trueRedémarrez Ghost pour appliquer les redirections :
ghost restart. Vérifiez chaque ancienne URL aveccurl -I https://votre-domaine.com/blog/premier-article— la réponse doit retourner un301pointant vers la nouvelle URL.Si votre domaine était jusqu'ici hébergé chez Squarespace, mettez à jour les enregistrements DNS (
AouCNAME) pour pointer vers l'IP de votre VPS. La propagation DNS prend entre quelques minutes et 48 heures.Vérifier le sitemap et soumettre à Google Search Console
Ghost génère automatiquement un sitemap à
https://votre-domaine.com/sitemap.xml. Ouvrez-le dans un navigateur et vérifiez que tous vos articles y figurent avec les bonnes URLs.Dans Google Search Console, ajoutez votre domaine comme propriété si ce n'est pas déjà fait, puis soumettez le sitemap via Indexation → Sitemaps. Cela accélère la réindexation de votre contenu sur les nouvelles URLs.
Si votre domaine avait de l'autorité sur Squarespace, les 301 transfèrent le signal SEO vers les nouvelles URLs — comptez quelques semaines pour que le positionnement se stabilise. Évitez de changer les slugs des articles à cette occasion : chaque modification supplémentaire ajoute une étape dans la chaîne de redirections.
Résilier Squarespace après validation
Ne résiliez votre abonnement Squarespace qu'après avoir vérifié que le contenu est correctement importé dans Ghost, que le DNS pointe bien vers votre VPS et que les redirections fonctionnent. Laissez la période de chevauchement durer au moins 48 heures pour que la propagation DNS soit complète.
Dans Squarespace, allez dans Paramètres → Facturation & compte → Annuler le site. Squarespace maintient le site actif jusqu'à la fin de la période facturée — pendant cette fenêtre, un visiteur qui a l'ancienne URL en cache verra encore votre ancien site, ce qui est un comportement normal et attendu.
Sauvegardez une dernière copie du XML Squarespace et du CSV des abonnés avant de valider l'annulation.
Avant de pousser Ghost en production, renforcez la configuration nginx par défaut que Ghost CLI a générée. Ajoutez les en-têtes de sécurité dans le bloc server : add_header X-Frame-Options SAMEORIGIN;, add_header X-Content-Type-Options nosniff; et add_header Referrer-Policy strict-origin-when-cross-origin;. Activez aussi le rate-limiting nginx sur /ghost/api/admin/ pour ralentir les tentatives de force brute sur l'interface d'administration. Testez la configuration avec nginx -t avant de recharger : nginx -s reload.
Dépannage : erreurs fréquentes lors de la migration
Ghost is already running après une installation interrompue. Si l'installation Ghost CLI a été interrompue, elle peut laisser un processus orphelin. Arrêtez-le proprement : ghost stop, puis relancez ghost install. Si ghost stop retourne une erreur, identifiez le processus avec pm2 list et arrêtez-le manuellement : pm2 stop ghost.
Error: EACCES: permission denied lors de l'import JSON. L'utilisateur Ghost n'a pas accès au répertoire content/data. Vérifiez les permissions : ls -la /var/www/ghost/content/ — le répertoire data doit appartenir à ghost-runner. Corrigez avec sudo chown -R ghost-runner:ghost-runner /var/www/ghost/content/.
Les images Squarespace ne s'affichent plus après la migration. Les URLs d'images dans le JSON importé pointent encore vers images.squarespace.com. Ghost peut les télécharger automatiquement si vous passez l'option --scrape media lors de la conversion @tryghost/migrate. Alternativement, depuis Ghost Admin → Paramètres → Avancé, lancez « Re-télécharger les images externes ».
Le certificat SSL n'est pas renouvelé. Ghost CLI délègue le renouvellement à certbot. Vérifiez que le timer systemd certbot est actif : systemctl status certbot.timer. S'il est inactif, relancez-le : sudo systemctl enable --now certbot.timer et testez le renouvellement : sudo certbot renew --dry-run.
Les redirections 301 retournent un 302. Ghost interprète certaines redirections comme temporaires si la valeur permanent est manquante ou positionnée à false dans redirects.yaml. Vérifiez le fichier, corrigez la valeur et redémarrez Ghost : ghost restart.
Après la migration : entretien courant
Une instance Ghost auto-hébergée demande un entretien minimal mais régulier. Les mises à jour Ghost se font en une commande : ghost update. Avant toute mise à jour majeure (par exemple, Ghost 5 → 6), consultez le journal des modifications officiel pour repérer les ruptures de compatibilité avec votre thème.
Les sauvegardes sont hebdomadaires sur les offres d'entrée de gamme ServOrbit — vérifiez qu'elles couvrent bien le répertoire /var/www/ghost/content et votre base MySQL. Vous pouvez compléter avec une sauvegarde locale automatisée du dump MySQL : mysqldump -u ghostuser -p ghostdb > /var/backups/ghost-$(date +%F).sql.
Surveillez l'espace disque : Ghost compresse les images à l'import, mais un blog actif accumule rapidement plusieurs gigaoctets. Consultez l'utilisation depuis votre espace client ServOrbit ou en ligne de commande : df -h /var/www/ghost/content.
Pour aller plus loin sur l'hébergement de Ghost et la configuration Caddy comme alternative à nginx, consultez nos guides heberger-ghost et deployer-avec-caddy. Pour comparer le coût total de possession entre SaaS et self-hosted sur d'autres outils, lisez saas-vs-self-hosted-comparatif-cout-2026.