Guía de despliegue

Migrar de Squarespace a Ghost en un VPS

Desplegar en un VPS Cloud →

Comparativa

Migrar de Squarespace a Ghost en un VPS

Comparativas10 min de lectura8 pasos

En julio de 2026, Squarespace subió el precio de su plan Core de 276 a ~348 $/año — un 26% de aumento en una suscripción que muchos renuevan sin revisarla. Ghost es un CMS de código abierto publicado bajo licencia MIT: instalas el motor en un VPS propio, conservas tu lista de suscriptores y el coste total se mantiene estable año tras año. Esta guía detalla los números y luego cada paso de la migración.

Contenido· Por qué la subida de precios de Squarespace en julio de 2026 cambia el cálculo1/7
  1. 01Por qué la subida de precios de Squarespace en julio de 2026 cambia el cálculo
  2. 02Lo que Ghost autoalojado te da y Squarespace no
  3. 03Coste total a 3 años: Squarespace Core vs Ghost en VPS ServOrbit
  4. 04Requisitos previos antes de empezar
  5. 05Migrar de Squarespace a Ghost en un VPS: pasos
  6. 06Solución de problemas: errores frecuentes durante la migración
  7. 07Tras la migración: mantenimiento habitual

Por qué la subida de precios de Squarespace en julio de 2026 cambia el cálculo

Squarespace pasó de 23 a 29 dólares mensuales en su plan Core en julio de 2026, facturados de golpe como ~348 $/año al vencimiento. No es la primera subida — el plan Business ya había subido un 33% entre 2022 y 2024 — y los precios de Squarespace no incluyen newsletters de pago sin comisión ni acceso root al servidor.

Ghost, en cambio, es un software que instalas en tu propia infraestructura. Solo pagas el VPS que lo ejecuta. Sin recargo al superar un umbral de tráfico, sin comisión sobre las suscripciones de pago, sin dependencia de la política de precios de un tercero.

El cálculo del umbral de rentabilidad es sencillo: si tu VPS cuesta 99 DH/mes y tu dominio según la extensión, estás por delante desde el primer año en comparación con el plan Core de Squarespace a ~348 $/año.

Lo que Ghost autoalojado te da y Squarespace no

  • Newsletters de pago sin comisión — Stripe se conecta directamente; Ghost no toma ningún porcentaje de los ingresos de tus suscriptores, a diferencia del 10% del plan Core de Squarespace.
  • Acceso root al servidor — puedes modificar la configuración de nginx, establecer reglas de caché, instalar un proxy de análisis o conectar Ghost a tu pipeline de datos.
  • Temas de código abierto — cientos de temas Ghost están disponibles en GitHub sin licencias adicionales; modificarlos solo requiere conocimientos de Handlebars.
  • Exportación completa y portátil — Ghost exporta tu contenido como JSON estructurado y tus suscriptores como CSV; puedes importar estos archivos en cualquier otra instancia Ghost sin perder metadatos.
  • Coste predecible — el precio del VPS no varía con tu tráfico ni el número de suscriptores; solo una actualización voluntaria cambia la factura.
  • Actualizaciones en tu momento — tú decides cuándo pasar a la siguiente versión mayor, evitando migraciones forzadas que han roto temas de Squarespace en el pasado.

Coste total a 3 años: Squarespace Core vs Ghost en VPS ServOrbit

Desplace la tabla

ConceptoSquarespace CoreGhost en VPS ServOrbit
Suscripción plataforma (año 1)~29 $/mes (348 $/año)99 DH/mes × 12
Suscripción plataforma (año 2)~29 $/mes o más (348 $/año)99 DH/mes × 12
Suscripción plataforma (año 3)~29 $/mes o más (348 $/año)99 DH/mes × 12
Dominio (.com, por año)Incluido en el plansegún el registrador
Comisión newsletters de pago10% sobre ingresos0% — Stripe directo
Acceso SSH / rootNo disponibleIncluido
Copias de seguridadNo incluidas (complemento de pago)Semanales incluidas
Migración asistidaNoIncluida bajo petición

Requisitos previos antes de empezar

Ghost está construido sobre Node.js y usa MySQL (o MariaDB) como base de datos. Recursos recomendados para un blog personal o profesional con tráfico moderado:

Servidor: 1 vCPU, 1 GB de RAM mínimo — Ghost funciona bien con 512 MB en estado estable, pero los picos de compilación de temas y las migraciones necesitan margen. Un VPS Start cubre la mayoría de los casos.

Almacenamiento: 10 GB son suficientes para empezar; planea 20 GB si publicas imágenes o archivos de audio para un podcast con regularidad.

Software: Node.js 22 LTS o superior, npm, MySQL 8 o MariaDB 10.6+, nginx como proxy inverso, certbot para certificados TLS.

Nombre de dominio: un dominio apuntando a la IP de tu VPS; Ghost CLI provisionará el SSL automáticamente mediante Let's Encrypt.

Acceso SSH: una clave ED25519 o RSA configurada en el servidor — Ghost CLI rechaza las instalaciones como root, por lo que necesitarás un usuario de sistema dedicado.

Cuenta de Squarespace activa hasta la fecha de la migración: la exportación de artículos se realiza desde el panel de administración.

Migrar de Squarespace a Ghost en un VPS: pasos

  1. Exportar tu contenido desde Squarespace

    Desde tu panel de Squarespace, ve a Configuración → Avanzado → Importar / Exportar contenido, y haz clic en Exportar. Squarespace produce un archivo XML en formato WordPress Extended RSS (WXR). Este formato es reconocido por las herramientas de conversión de Ghost — Ghost no lee directamente el XML de Squarespace, pero ghost-gscan y los convertidores de terceros procesan WXR.

    Exporta también tus suscriptores: Marketing → Suscriptores de email → Exportar, que produce un archivo CSV con las direcciones, los estados de suscripción y las fechas de registro. Guarda este CSV con cuidado — es tu lista, y no se puede recuperar después de cerrar la cuenta.

  2. Preparar el servidor VPS

    Conéctate por SSH a tu VPS: ssh [email protected]. Actualiza los paquetes, luego instala Node.js 22 a través del repositorio de NodeSource:

    curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -

    sudo apt-get install -y nodejs

    Instala MySQL y nginx:

    sudo apt-get install -y mysql-server nginx

    Asegura MySQL con sudo mysql_secure_installation, luego crea la base de datos y el usuario Ghost:

    sudo mysql -u root -p -e "CREATE DATABASE ghostdb; CREATE USER 'ghostuser'@'localhost' IDENTIFIED BY 'contraseña_fuerte'; GRANT ALL ON ghostdb.* TO 'ghostuser'@'localhost'; FLUSH PRIVILEGES;"

    Por último, crea un usuario de sistema no root para Ghost: sudo adduser ghost-runner.

  3. Instalar Ghost CLI y Ghost

    Instala Ghost CLI globalmente: sudo npm install ghost-cli@latest -g

    Crea el directorio de instalación y asigna su propiedad al usuario Ghost:

    sudo mkdir -p /var/www/ghost

    sudo chown ghost-runner:ghost-runner /var/www/ghost

    sudo chmod 775 /var/www/ghost

    Cambia al usuario Ghost y ejecuta la instalación:

    su - ghost-runner

    cd /var/www/ghost && ghost install

    Ghost CLI hará una serie de preguntas: URL de producción (por ejemplo, https://your-domain.com), datos de conexión MySQL, y ofrecerá configurar nginx y SSL automáticamente. Responde sí a ambas opciones — Ghost CLI escribe la configuración de nginx y llama a certbot para provisionar el certificado Let's Encrypt.

  4. Convertir e importar el contenido de Squarespace

    El archivo XML de Squarespace debe convertirse al formato JSON de Ghost antes de importarlo. Usa la herramienta @tryghost/migrate:

    npx @tryghost/migrate squarespace --pathToFile export-squarespace.xml

    La herramienta produce un archivo ghost-import.json. Comprueba su estructura: cada artículo debe tener un title, un slug, un status y un campo html. Las imágenes se referencian por URL de Squarespace — se descargarán durante la importación si pasas la opción --scrape media.

    Inicia sesión en la interfaz de administración de Ghost (https://your-domain.com/ghost), crea tu cuenta de administrador, luego ve a Configuración → Avanzado → Migraciones → Importar contenido y sube el archivo JSON. Ghost procesa la importación en segundo plano y te notifica por email al finalizar.

  5. Importar tus suscriptores de email

    En Ghost Admin, ve a Miembros → Importar miembros y sube tu archivo CSV de Squarespace. Ghost reconoce las columnas email, name y subscribed_to_emails. Mapea las columnas si las cabeceras difieren.

    Los suscriptores importados se marcan como 'miembros gratuitos' por defecto. Si algunos tenían una suscripción de pago en Squarespace, tendrás que actualizarlos manualmente o mediante la API Ghost Admin (PATCH /admin/members/{id}) una vez configurado Stripe.

    Configura luego Stripe en Ghost Admin → Configuración → Suscripciones para activar las newsletters de pago. Introduce tu clave API de Stripe y define los precios de suscripción.

  6. Configurar redireccionamientos 301 desde las URLs antiguas

    Squarespace genera URLs con el formato /blog/titulo-articulo o /titulo-articulo según la plantilla. Ghost usa /{slug}/ por defecto. Si tus URLs difieren, crea un archivo redirects.yaml en el directorio de Ghost (/var/www/ghost/content/data/redirects.yaml):

    from: /blog/{slug}
    to: /{slug}
    permanent: true

    Reinicia Ghost para aplicar los redireccionamientos: ghost restart. Comprueba cada URL antigua con curl -I https://your-domain.com/blog/primer-articulo — la respuesta debe devolver un 301 apuntando a la nueva URL.

    Si tu dominio estaba alojado en Squarespace, actualiza los registros DNS (A o CNAME) para que apunten a la IP de tu VPS. La propagación DNS tarda entre unos minutos y 48 horas.

  7. Verificar el sitemap y enviarlo a Google Search Console

    Ghost genera automáticamente un sitemap en https://your-domain.com/sitemap.xml. Ábrelo en un navegador y verifica que todos tus artículos aparecen con las URLs correctas.

    En Google Search Console, añade tu dominio como propiedad si aún no lo has hecho, luego envía el sitemap mediante Indexación → Sitemaps. Esto acelera la reindexación de tu contenido en las nuevas URLs.

    Si tu dominio tenía autoridad en Squarespace, los redireccionamientos 301 transfieren la señal SEO a las nuevas URLs — espera unas semanas para que el posicionamiento se estabilice. Evita cambiar los slugs de los artículos en este momento: cada modificación adicional añade un paso a la cadena de redireccionamientos.

  8. Cancelar Squarespace tras la validación

    No canceles tu suscripción de Squarespace hasta que hayas verificado que el contenido está correctamente importado en Ghost, que el DNS apunta a tu VPS y que los redireccionamientos funcionan. Deja un período de solapamiento de al menos 48 horas para que la propagación DNS esté completa.

    En Squarespace, ve a Configuración → Facturación y cuenta → Cancelar sitio. Squarespace mantiene el sitio activo hasta el final del período facturado — durante esta ventana, un visitante con la URL antigua en caché seguirá viendo tu sitio anterior, lo que es un comportamiento normal y esperado.

    Guarda una última copia del XML de Squarespace y del CSV de suscriptores antes de confirmar la cancelación.

Antes de pasar Ghost a producción, refuerza la configuración nginx por defecto que generó Ghost CLI. Añade cabeceras de seguridad en el bloque server: add_header X-Frame-Options SAMEORIGIN;, add_header X-Content-Type-Options nosniff; y add_header Referrer-Policy strict-origin-when-cross-origin;. Activa también la limitación de velocidad de nginx en /ghost/api/admin/ para ralentizar intentos de fuerza bruta en la interfaz de administración. Prueba la configuración con nginx -t antes de recargar: nginx -s reload.

Solución de problemas: errores frecuentes durante la migración

Ghost is already running tras una instalación interrumpida. Si Ghost CLI se interrumpió, puede dejar un proceso huérfano. Detenlo correctamente: ghost stop, luego vuelve a ejecutar ghost install. Si ghost stop devuelve un error, identifica el proceso con pm2 list y detenlo manualmente: pm2 stop ghost.

Error: EACCES: permission denied al importar JSON. El usuario Ghost no tiene acceso al directorio content/data. Comprueba los permisos: ls -la /var/www/ghost/content/ — el directorio data debe pertenecer a ghost-runner. Corrígelo con sudo chown -R ghost-runner:ghost-runner /var/www/ghost/content/.

Las imágenes de Squarespace no se muestran tras la migración. Las URLs de las imágenes en el JSON importado todavía apuntan a images.squarespace.com. Ghost puede descargarlas automáticamente si pasas la opción --scrape media durante la conversión con @tryghost/migrate. Alternativamente, desde Ghost Admin → Configuración → Avanzado, ejecuta 'Volver a descargar imágenes externas'.

El certificado SSL no se renueva. Ghost CLI delega la renovación en certbot. Comprueba que el temporizador systemd de certbot está activo: systemctl status certbot.timer. Si no lo está, reinícialo: sudo systemctl enable --now certbot.timer y prueba la renovación: sudo certbot renew --dry-run.

Los redireccionamientos 301 devuelven un 302. Ghost interpreta algunos redireccionamientos como temporales si el valor permanent falta o está en false en redirects.yaml. Revisa el archivo, corrige el valor y reinicia Ghost: ghost restart.

Tras la migración: mantenimiento habitual

Una instancia Ghost autoalojada requiere un mantenimiento mínimo pero regular. Las actualizaciones de Ghost se hacen con un solo comando: ghost update. Antes de cualquier actualización mayor (por ejemplo, Ghost 5 → 6), consulta el registro de cambios oficial para detectar roturas de compatibilidad con tu tema.

Las copias de seguridad son semanales en los planes de entrada de ServOrbit — verifica que cubren el directorio /var/www/ghost/content y tu base de datos MySQL. Puedes complementar con una copia automática local del volcado MySQL: mysqldump -u ghostuser -p ghostdb > /var/backups/ghost-$(date +%F).sql.

Monitoriza el espacio en disco: Ghost comprime las imágenes al importar, pero un blog activo acumula varios gigabytes con el tiempo. Consulta el uso desde tu área de cliente ServOrbit o por línea de comandos: df -h /var/www/ghost/content.

Para profundizar en el alojamiento de Ghost y Caddy como alternativa a nginx, consulta nuestras guías heberger-ghost y deployer-avec-caddy. Para comparar el coste total de propiedad entre SaaS y autoalojado en otras herramientas, lee saas-vs-self-hosted-comparatif-cout-2026.

Tu blog Ghost en un VPS ServOrbit

Tú gestionas tu contenido y tus suscriptores, nosotros sostenemos la infraestructura — VPS configurado, SSL incluido, copias de seguridad semanales desde la entrada de gama.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva