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
| Concepto | Squarespace Core | Ghost 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 plan | según el registrador |
| Comisión newsletters de pago | 10% sobre ingresos | 0% — Stripe directo |
| Acceso SSH / root | No disponible | Incluido |
| Copias de seguridad | No incluidas (complemento de pago) | Semanales incluidas |
| Migración asistida | No | Incluida 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
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-gscany 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.
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 nodejsInstala MySQL y nginx:
sudo apt-get install -y mysql-server nginxAsegura 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.Instalar Ghost CLI y Ghost
Instala Ghost CLI globalmente:
sudo npm install ghost-cli@latest -gCrea el directorio de instalación y asigna su propiedad al usuario Ghost:
sudo mkdir -p /var/www/ghostsudo chown ghost-runner:ghost-runner /var/www/ghostsudo chmod 775 /var/www/ghostCambia al usuario Ghost y ejecuta la instalación:
su - ghost-runnercd /var/www/ghost && ghost installGhost 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.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.xmlLa herramienta produce un archivo
ghost-import.json. Comprueba su estructura: cada artículo debe tener untitle, unslug, unstatusy un campohtml. 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.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,nameysubscribed_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.
Configurar redireccionamientos 301 desde las URLs antiguas
Squarespace genera URLs con el formato
/blog/titulo-articuloo/titulo-articulosegún la plantilla. Ghost usa/{slug}/por defecto. Si tus URLs difieren, crea un archivoredirects.yamlen el directorio de Ghost (/var/www/ghost/content/data/redirects.yaml):from: /blog/{slug}to: /{slug}permanent: trueReinicia Ghost para aplicar los redireccionamientos:
ghost restart. Comprueba cada URL antigua concurl -I https://your-domain.com/blog/primer-articulo— la respuesta debe devolver un301apuntando a la nueva URL.Si tu dominio estaba alojado en Squarespace, actualiza los registros DNS (
AoCNAME) para que apunten a la IP de tu VPS. La propagación DNS tarda entre unos minutos y 48 horas.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.
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.