PrestaShop: cómo migrar tu tienda a un nuevo servidor
Migrar tu tienda PrestaShop a un nuevo servidor puede parecer una tarea compleja, pero si sigues los pasos correctos, es un proceso totalmente manejable. Esta guía está diseñada para que, incluso sin ser un experto en sistemas, puedas realizar una migración tienda exitosa, evitando la pérdida de datos y minimizando el tiempo de inactividad.
Aquí te explicaremos, paso a paso, cómo hacer una copia de seguridad completa de tu PrestaShop, transferir los archivos y la base de datos, y poner tu tienda en marcha en el nuevo alojamiento. Al final, incluimos una sección de preguntas frecuentes para resolver las dudas más comunes.
1. Preparación antes de la migración
Antes de tocar nada, es fundamental tener un plan. Una migración desordenada puede provocar errores 500, enlaces rotos o, peor aún, la pérdida de información de tus clientes.
1.1. Elige el momento adecuado
Selecciona un horario de baja actividad en tu tienda. Lo ideal es hacerlo de madrugada o durante un fin de semana. De esta forma, minimizas el impacto en tus ventas.
1.2. Revisa los requisitos del nuevo servidor
Tu nuevo hosting debe cumplir con los requisitos de PrestaShop. Verifica la versión de PHP, MySQL/MariaDB y las extensiones necesarias (como curl, gd, json, mbstring, etc.). Consulta la documentación oficial de PrestaShop para la versión que uses.
[INFO] Si usas un panel de control como Syspanel (accesible por el puerto 2106), podrás gestionar fácilmente las versiones de PHP y las bases de datos desde la interfaz.
1.3. Notifica a tu proveedor de pago
Si cambias de servidor, tu IP probablemente cambiará. Algunos procesadores de pago (como PayPal o Stripe) pueden bloquear direcciones IP desconocidas. Notifica el cambio para evitar que los pagos sean rechazados.
2. Realizar una copia de seguridad completa
Este es el paso más importante. Una copia de seguridad te garantiza que, si algo sale mal, siempre podrás volver atrás.
2.1. Copia de seguridad de los archivos
Los archivos de PrestaShop incluyen el núcleo, los temas, los módulos y las imágenes de tus productos. Para respaldarlos:
- Accede a tu servidor actual por FTP (FileZilla, Cyberduck) o a través del administrador de archivos de tu panel de control.
- Localiza la carpeta raíz de tu tienda (normalmente se llama
public_html,htdocso el nombre de tu dominio). - Comprime toda la carpeta en un archivo
.zipo.tar.gz. Esto facilita la descarga y reduce el tamaño. - Descarga el archivo comprimido a tu ordenador.
[TIP] Si tu tienda es muy grande (más de 1 GB), puede ser más rápido comprimir y descargar por SSH usando comandos como
tar -czvf tienda_backup.tar.gz /ruta/a/tu/tienda.
2.2. Copia de seguridad de la base de datos
La base de datos contiene toda la información de tus productos, clientes, pedidos y configuraciones. Es el corazón de tu tienda.
- Accede a phpMyAdmin (normalmente en
tudominio.com/phpmyadmin) o a la herramienta de bases de datos de tu panel (en Syspanel, busca la sección "Bases de Datos"). - Selecciona la base de datos de tu PrestaShop (el nombre lo encuentras en el archivo
app/config/parameters.php). - Haz clic en "Exportar" (o "Export").
- Elige el método rápido y formato SQL.
- Descarga el archivo
.sqlresultante.
[WARNING] Si tu base de datos es muy grande (más de 100 MB), la exportación por phpMyAdmin puede fallar. En ese caso, usa la línea de comandos:
mysqldump -u usuario -p nombre_bd > bd_backup.sql. Te pedirá la contraseña.
3. Migrar los archivos al nuevo servidor
Una vez que tienes la copia de seguridad, es hora de mover todo al nuevo hosting.
3.1. Subir los archivos
- Conéctate al nuevo servidor mediante FTP o su administrador de archivos.
- Sube el archivo comprimido (
.zipo.tar.gz) a la carpeta raíz del nuevo dominio. - Descomprime el archivo en el servidor. La mayoría de los paneles tienen una opción "Extraer" dentro del administrador de archivos.
- Verifica que la estructura de carpetas sea correcta: dentro de
public_htmldeberías ver carpetas comoadmin,modules,themes,img, etc.
3.2. Ajustar permisos de archivos (opcional pero recomendado)
PrestaShop necesita ciertos permisos para funcionar correctamente. Las carpetas deben tener permisos 755 y los archivos 644. Puedes hacerlo desde tu cliente FTP o desde el panel de control.
4. Migrar la base de datos al nuevo servidor
Este paso es crítico. Un error aquí puede dejar tu tienda sin datos.
4.1. Crear una nueva base de datos en el servidor de destino
- Accede a tu panel de control (por ejemplo, Syspanel en el puerto 2106).
- Ve a la sección "Bases de Datos" y crea una nueva.
- Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás más adelante.
4.2. Importar la base de datos
- Abre phpMyAdmin en el nuevo servidor.
- Selecciona la base de datos que acabas de crear.
- Haz clic en "Importar" (o "Import").
- Selecciona el archivo
.sqlque descargaste antes. - Haz clic en "Continuar" y espera a que termine la importación.
[INFO] Si el archivo es grande, la importación puede tardar varios minutos. No cierres la ventana del navegador.
5. Configurar la conexión entre PrestaShop y la nueva base de datos
Ahora debes decirle a PrestaShop que use la nueva base de datos.
- Localiza el archivo
app/config/parameters.phpen la carpeta de tu tienda (en el nuevo servidor). - Edítalo (con un editor de texto o desde el panel de archivos).
- Busca las líneas que contienen
database_host,database_name,database_userydatabase_password. - Reemplázalas con los datos de la nueva base de datos que creaste.
database_hostsuele serlocalhost(o la IP del servidor de bases de datos si es externo).database_namees el nombre de la nueva BD.database_useres el usuario de la nueva BD.database_passwordes la contraseña del usuario.
- Guarda el archivo.
6. Ajustar la configuración del nuevo servidor
Tu tienda ya debería cargar, pero es posible que necesites algunos ajustes finales.
6.1. Actualizar la URL de la tienda (si cambiaste de dominio)
Si el nuevo servidor usa un dominio diferente (por ejemplo, de midominio.com a midominio.net), debes actualizar la URL en la base de datos.
- En phpMyAdmin, selecciona la base de datos importada.
- Ve a la tabla
ps_configuration(el prefijops_puede variar según tu instalación). - Busca las filas donde
nameseaPS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSL. - Edítalas y cambia el valor por el nuevo dominio (ej:
midominio.net). - Repite el proceso en la tabla
ps_shop_url.
6.2. Configurar el archivo .htaccess (si usas Apache)
El archivo .htaccess contiene reglas de reescritura de URL importantes. Si tu nuevo servidor usa Apache, asegúrate de que esté presente y configurado correctamente.
- Ve a la carpeta raíz de tu tienda.
- Abre el archivo
.htaccess(puede estar oculto, activa la opción "Mostrar archivos ocultos" en tu cliente FTP). - Verifica que las rutas sean correctas (especialmente la línea
RewriteBase /).
6.3. Probar la tienda
- Accede a tu nuevo dominio (ej:
midominio.com). Deberías ver tu tienda funcionando. - Navega por algunas páginas (productos, categorías, carrito).
- Prueba el panel de administración (ej:
midominio.com/admin). - Realiza un pedido de prueba para verificar que el proceso de compra y los emails funcionan.
[WARNING] Si ves un error 500, revisa los logs del servidor. Normalmente están en
/var/log/apache2/error.logo en el panel de control. El error suele deberse a permisos incorrectos, problemas con el archivoparameters.phpo incompatibilidad de la versión de PHP.
7. Preguntas Frecuentes (FAQ)
¿Cuánto tiempo tarda la migración?
Depende del tamaño de tu tienda y la velocidad de tu conexión. Para una tienda pequeña (menos de 500 productos), puede tomar entre 30 minutos y 2 horas. Para tiendas grandes, puede llevar varias horas.
¿Perderé mis clientes o pedidos durante la migración?
No, si haces una copia de seguridad correcta y sigues los pasos. Eso sí, durante el tiempo que la tienda esté "caída" (mientras transfieres los archivos y la base de datos), no se podrán realizar pedidos. Programa la migración en un horario de baja actividad.
¿Qué hago si la tienda no carga después de la migración?
Revisa estos puntos en orden:
- Archivo
parameters.php: ¿Los datos de la base de datos son correctos? - Permisos: ¿Las carpetas tienen permisos 755 y los archivos 644?
- URL en la base de datos: ¿Actualizaste
PS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSL? - Versión de PHP: ¿Tu nuevo servidor tiene la versión de PHP que requiere tu PrestaShop?
- Logs: Revisa los logs de error del servidor (Apache/Nginx).
¿Debo cambiar los DNS antes o después de la migración?
Después. Es mejor migrar primero todos los datos al nuevo servidor, probar que funciona (por ejemplo, usando un archivo hosts o un dominio temporal) y luego cambiar los DNS. Así evitas que los visitantes vean errores durante el proceso.
¿Puedo migrar sin usar FTP?
Sí, si tu panel de control tiene herramientas de transferencia. Por ejemplo, en Syspanel (puerto 2106) puedes usar el "Administrador de archivos" para subir archivos comprimidos y extraerlos directamente. También puedes usar SSH y comandos como scp o rsync.
¿Qué hago si mi base de datos tiene más de 200 MB?
Usa la línea de comandos (mysqldump y mysql) en lugar de phpMyAdmin. Si no tienes acceso SSH, pide a tu proveedor de hosting que te ayude con la importación.
¿Es necesario desactivar la tienda durante la migración?
Sí, es recomendable. Puedes poner tu PrestaShop en modo mantenimiento desde el panel de administración (Preferencias > Mantenimiento). Así evitas que los clientes hagan pedidos mientras los datos no están sincronizados.
¿Puedo migrar solo la base de datos y no los archivos?
No, necesitas ambos. Los archivos contienen el código, las imágenes y los temas. La base de datos contiene los datos. Si solo migras uno, la tienda no funcionará.
¿Qué hago si olvido la contraseña de la base de datos?
Puedes restablecerla desde el panel de control. En Syspanel, ve a la sección "Bases de Datos", selecciona la base de datos y haz clic en "Cambiar contraseña". Luego actualiza el archivo parameters.php.
¿Puedo migrar de un servidor compartido a un VPS?
Sí, el proceso es el mismo. La única diferencia es que en un VPS tendrás que configurar el servidor web (Apache/Nginx) y PHP manualmente, o usar un panel como Syspanel que lo haga por ti.
¿Es seguro migrar yo mismo?
Sí, siempre que hagas una copia de seguridad previa. Si sigues esta guía PrestaShop paso a paso, las probabilidades de éxito son muy altas. Si no te sientes seguro, contrata a un profesional, pero esta guía está diseñada para que cualquier persona con conocimientos básicos de hosting pueda hacerlo.
Mi tienda usa SSL. ¿Qué hago con el certificado?
Después de la migración, deberás instalar un certificado SSL en el nuevo servidor. Si usas Let's Encrypt, muchos paneles (incluyendo Syspanel) ofrecen instalación automática. Luego, actualiza la URL en la base de datos para que use https://.
¿Qué hago si tengo módulos de pago que requieren una IP específica?
Notifica a tu proveedor de pago la nueva IP de tu servidor. Algunos módulos permiten configurar la IP desde el panel de administración de PrestaShop.
¿Puedo migrar a un servidor con una versión diferente de PHP?
Sí, pero asegúrate de que la nueva versión sea compatible con tu versión de PrestaShop. Por ejemplo, PrestaShop 1.7 funciona con PHP 7.1 a 8.1. Si cambias a una versión no soportada, la tienda dará errores.
¿Cuánto espacio necesito en el nuevo servidor?
Calcula el tamaño de tu carpeta de archivos (incluyendo imágenes) más el tamaño de la base de datos. Multiplica por 1.5 para tener margen. Por ejemplo, si tu tienda pesa 2 GB, contrata un plan con al menos 3 GB de espacio.
¿Qué hago si después de la migración las imágenes no se ven?
Esto suele pasar porque las rutas de las imágenes están guardadas en la base de datos con la URL antigua. Ve a Parámetros de la tienda > Rendimiento en el panel de administración y haz clic en "Regenerar miniaturas". También puedes usar el módulo "Imágenes" para forzar la regeneración.
¿Puedo usar un plugin o script para la migración?
Sí, existen herramientas como "PrestaShop Migration" o scripts de terceros, pero siempre es más seguro hacerlo manualmente para tener control total. Si usas un plugin, asegúrate de que esté actualizado y sea de confianza.
¿Qué hago si mi nuevo servidor usa Nginx en lugar de Apache?
PrestaShop funciona bien con Nginx, pero necesitarás configurar las reglas de reescritura de URL manualmente. Busca "PrestaShop Nginx rewrite rules" en Google y añádelas a tu configuración de Nginx. Si usas Syspanel, puedes cambiar fácilmente entre Apache y Nginx desde la interfaz.
¿Es necesario limpiar la caché después de la migración?
Sí. Desde el panel de administración de PrestaShop, ve a Parámetros de la tienda > Rendimiento y haz clic en "Limpiar caché". También puedes borrar manualmente la carpeta var/cache en el servidor.
¿Puedo mantener mi tienda en el servidor antiguo mientras migro?
Sí, es una práctica común. Migras los datos al nuevo servidor, pruebas todo, y luego cambias los DNS. Durante ese tiempo, la tienda antigua sigue funcionando. Solo cuando cambies los DNS, los visitantes empezarán a ver la nueva.
**
