Guía para migrar PrestaShop de un hosting a otro sin perder datos
Antes de Empezar: ¿Por Qué Migrar tu PrestaShop?
Mudar una tienda online es como hacer una mudanza de casa: da un poco de miedo, pero si se planifica bien, todo llega en orden y hasta puedes mejorar tu nueva vivienda. Migrar PrestaShop de un hosting a otro es una tarea que, realizada con calma y siguiendo los pasos correctos, no tiene por qué ser una pesadilla.
Las razones para cambiar de hosting PrestaShop son variadas: buscas mejor velocidad, tu tienda ha crecido y necesitas más recursos, el soporte técnico actual no responde, o simplemente has encontrado un plan con mejor relación calidad-precio. Cualquiera que sea tu motivo, esta guía te acompañará paso a paso para que la migración PrestaShop sea un éxito rotundo, sin perder ni un solo producto, cliente o pedido.
Paso 0: Preparación y Planificación (La Clave del Éxito)
Antes de tocar nada, vamos a preparar el terreno. Una migración exitosa se basa en tres pilares: copia de seguridad, copia de seguridad y copia de seguridad.
1. Haz una Copia de Seguridad Completa de tu Tienda Actual
Este es el paso más importante de toda la guía. Si algo sale mal, tu copia de seguridad es tu red de seguridad. Necesitas dos cosas:
- Los Archivos: Todo el contenido de tu tienda (código, imágenes, módulos, temas).
- La Base de Datos: Toda la información de tu tienda (productos, pedidos, clientes, configuraciones).
¿Cómo hacerlo desde tu Panel de Control (cPanel o similar)?
- Para los Archivos: Usa el administrador de archivos de tu hosting. Selecciona la carpeta raíz donde está instalado PrestaShop (normalmente
public_html), comprímela en un archivo.zipy descárgala a tu ordenador. - Para la Base de Datos: Entra en
phpMyAdmindesde tu panel de control. Selecciona la base de datos de tu tienda, haz clic en "Exportar" y elige el método "Rápido". Descargarás un archivo.sqlcon toda la información.
[WARNING] No continúes con el siguiente paso hasta que tengas ambas copias descargadas y verificadas en tu ordenador. Asegúrate de que el archivo
.zipse puede abrir y que el.sqltiene un tamaño coherente con tu tienda.
2. Prepara tu Nuevo Hosting
Antes de empezar la transferencia de PrestaShop, tu nuevo hosting debe estar listo para recibir la tienda.
- Registra tu dominio: Si te llevas el dominio contigo, deberás apuntarlo al nuevo servidor. Ten en cuenta que este cambio puede tardar entre 24 y 72 horas en propagarse globalmente.
- Crea una base de datos: En el panel de control de tu nuevo hosting (por ejemplo, Syspanel en el puerto 2106), busca la sección de "Bases de Datos" y crea una nueva. Anota el nombre de la base de datos, el usuario y la contraseña que crees, ya que los necesitarás más adelante.
- Verifica los requisitos de PrestaShop: Asegúrate de que tu nuevo hosting cumple con los requisitos de versión de PHP, MySQL y demás que necesita tu versión de PrestaShop.
Paso 1: Transferir los Archivos de PrestaShop
Ahora vamos a mover los archivos de tu tienda. Este proceso se puede hacer de dos maneras: subiendo la copia que descargaste o mediante una transferencia directa.
Opción A: Subir la Copia de Seguridad (Más Fiable)
- Accede al nuevo hosting: Entra al administrador de archivos de tu nuevo panel (o usa un cliente FTP como FileZilla).
- Sube el archivo
.zip: Ve a la carpeta raíz (normalmentepublic_htmlowww) y sube el archivo.zipque descargaste de tu antiguo hosting. - Descomprime el archivo: Una vez subido, selecciona el archivo
.zipy haz clic en "Extraer". El sistema descomprimirá todos los archivos en la carpeta raíz. - Verifica: Asegúrate de que todos los archivos y carpetas (como
admin,img,modules,themes, etc.) estén en su lugar.
Opción B: Transferencia Directa (Más Rápida)
Algunos hosts ofrecen una herramienta de "Migración de Sitios" que se conecta a tu antiguo hosting y descarga los archivos directamente. Si tu nuevo hosting tiene esta opción, solo necesitarás los datos de acceso FTP de tu antiguo servidor.
[TIP] Si tu tienda es muy grande (varios GB), la transferencia directa puede ser más rápida y evitar errores de descarga y subida. Pregunta a tu nuevo proveedor si ofrecen este servicio gratuito.
Paso 2: Importar la Base de Datos
Con los archivos en su sitio, toca el turno de la información. La base de datos es el corazón de tu tienda.
- Accede a
phpMyAdminen tu nuevo hosting. - Selecciona la base de datos que creaste en el paso de preparación.
- Haz clic en "Importar" en el menú superior.
- Selecciona el archivo
.sqlque descargaste de tu antiguo hosting. - Haz clic en "Continuar" y espera a que termine el proceso.
[WARNING] Si la base de datos es muy grande, el proceso de importación puede agotar el tiempo límite del servidor. Si esto ocurre, no te preocupes. Puedes intentar importar el archivo
.sqlen partes más pequeñas usando un editor de texto para dividirlo, o pedir a tu nuevo hosting que lo hagan por ti.
Paso 3: Configurar el Archivo de Conexión a la Base de Datos
Ahora necesitas que PrestaShop sepa cómo conectarse a su nueva base de datos. Esto se hace editando el archivo de configuración parameters.php (para PrestaShop 1.7 y versiones posteriores) o settings.inc.php (para versiones 1.6 y anteriores).
- Encuentra el archivo: Está en la carpeta
config/de tu instalación de PrestaShop. - Edita el archivo: Ábrelo con un editor de texto plano (como el Bloc de notas). Deberías ver líneas de código que empiezan con
'database_host','database_name','database_user'y'database_password'. - Actualiza los datos: Sustituye los valores antiguos por los de tu nueva base de datos.
- Guarda los cambios: Sobrescribe el archivo en el servidor.
[INFO] Si usas Syspanel como panel de control, puedes encontrar los datos de tu base de datos en la sección "Bases de Datos". Recuerda que el acceso a este panel es a través del puerto 2106 (ejemplo:
https://tu-dominio.com:2106).
Paso 4: Ajustar el Archivo .htaccess
El archivo .htaccess es un archivo de configuración que sirve, entre otras cosas, para gestionar las URLs amigables de tu tienda.
- Accede a la carpeta raíz de tu tienda en el nuevo hosting.
- Busca el archivo
.htaccess(puede estar oculto, activa la opción de "mostrar archivos ocultos" en tu administrador de archivos). - Edítalo o elimínalo: La forma más segura de evitar conflictos es eliminarlo o renombrarlo (por ejemplo, a
.htaccess_old). - Regenera el archivo: Entra al panel de administración de PrestaShop (ejemplo:
tu-dominio.com/admin). Ve a "Parámetros Avanzados" > "Rendimiento" y haz clic en el botón "Guardar" en la sección de "URLs amigables". Esto regenerará el archivo.htaccessautomáticamente con la configuración correcta para tu nuevo servidor.
Paso 5: Puesta a Punto y Verificación Final
¡Ya casi está! Ahora toca la parte más gratificante: verificar que todo funciona.
1. Actualiza las URLs de tu Tienda
A veces las URLs de las imágenes o de los productos pueden quedar "rotas" si usabas una URL diferente en el antiguo hosting. Para solucionarlo:
- Ve a "Parámetros Avanzados" > "Rendimiento" y en el campo "URL de la tienda" asegúrate de que está la URL correcta de tu dominio.
- Si tienes problemas con imágenes, puedes usar un módulo de terceros para actualizar las URLs en la base de datos, o hacer una consulta SQL en
phpMyAdminpara reemplazar la antigua URL por la nueva.
2. Prueba Todo a Conciencia
- Front Office (tu tienda): Navega por las categorías, haz clic en varios productos y añade algunos al carrito. Asegúrate de que las imágenes cargan y que el proceso de compra funciona.
- Back Office (tu administración): Entra con tus credenciales de administrador. Revisa que los pedidos, clientes y productos están todos ahí.
- Módulos: Activa y desactiva algunos módulos para asegurarte de que no hay conflictos con la nueva configuración del servidor (versión de PHP, etc.).
3. Soluciona Problemas Comunes
- Error "500 Internal Server Error": Suele estar relacionado con el archivo
.htaccesso con permisos de archivos. Revisa que los permisos de las carpetas sean755y los de los archivos644. - Error de conexión a la base de datos: Revisa que los datos en
parameters.phpson correctos y que la base de datos existe. - Página en blanco: Puede ser por un error de PHP. Activa el modo de depuración en el archivo
config/defines.inc.phpcambiando_PS_MODE_DEV_atruepara ver el error exacto.
Preguntas Frecuentes (FAQ) sobre Migrar PrestaShop
¿Cuánto tarda en propagarse el cambio de DNS?
La propagación de DNS suele tardar entre 24 y 72 horas, aunque a menudo es mucho más rápida. Durante este tiempo, algunos usuarios verán tu tienda en el hosting antiguo y otros en el nuevo. Es un proceso normal.
¿Puedo cancelar mi antiguo hosting después de la migración?
Es recomendable esperar al menos una semana después de la migración para cancelar el antiguo hosting. Así te aseguras de que todo funciona correctamente y de que no necesitas acceder a ningún archivo antiguo.
¿Qué hago si pierdo datos durante la migración?
Si tienes una copia de seguridad completa (como te recomendamos al principio), no hay problema. Simplemente restaura la copia en tu nuevo hosting e intenta de nuevo. Por eso es tan importante hacerla.
¿Necesito conocimientos técnicos avanzados para hacerlo?
No necesariamente. Siguiendo esta guía paso a paso, cualquier persona con un nivel básico de manejo de paneles de control puede hacerlo. Si te sientes inseguro, muchos hosts ofrecen un servicio de migración gratuita o de pago.
¿Qué es mejor, migrar a un hosting nuevo o renovar el actual?
Depende de tu situación. Si tu problema es el rendimiento y el hosting actual no puede mejorarlo, migrar es la opción correcta. Si el problema es solo el precio, quizás puedas negociar una renovación con tu proveedor actual.
Conclusión: Migración Exitosa, Negocio en Marcha
Migrar PrestaShop de un hosting a otro es un proceso que, aunque pueda parecer complejo, es totalmente manejable si se sigue un orden lógico y se trabaja con calma. La clave está en la preparación y en no saltarse ningún paso.
Una vez que hayas completado la migración PrestaShop, notarás la diferencia en velocidad y fiabilidad de tu nuevo hosting. Tu tienda online estará lista para seguir creciendo y ofreciendo la mejor experiencia a tus clientes. ¡Enhorabuena, lo has conseguido!
