Cómo migrar PrestaShop a un nuevo hosting sin complicaciones
Antes de empezar: ¿Por qué migrar PrestaShop a un nuevo hosting?
Migrar tu tienda online es como mudarte de casa: da un poco de miedo, pero si lo haces con orden y una buena lista de tareas, todo sale bien. Cambiar de hosting suele venir motivado por tiendas que crecen y necesitan más recursos, por un servicio de soporte deficiente, por problemas de velocidad o simplemente porque has encontrado un proveedor con mejor relación calidad-precio. Sea cual sea tu motivo, en esta guía te voy a explicar paso a paso cómo hacerlo sin perder ventas, sin romper tu base de datos y con el mínimo estrés posible.
No te voy a engañar: migrar prestashop requiere tocar archivos, exportar bases de datos y tener paciencia. Pero con esta guía, incluso si nunca has hecho algo así, podrás seguir el proceso sin complicaciones. Eso sí, te recomiendo leerla entera una vez antes de empezar a tocar nada. Así tendrás una visión global y no te llevarás sustos a mitad de camino.
Paso 0: Prepara el terreno antes de cambiar hosting PrestaShop
Antes de lanzarte a la piscina, hay que hacer los deberes. La preparación es el 50% del éxito en cualquier migración de PrestaShop a un nuevo hosting. Vamos a ello.
Haz una copia de seguridad completa de tu tienda actual
Esto es innegociable. Una copia de seguridad completa incluye dos partes: los archivos de tu tienda (las carpetas donde está instalado PrestaShop) y la base de datos (donde están tus productos, pedidos, clientes y configuraciones). Si algo sale mal, esta copia es tu red de seguridad.
Para hacer la copia de los archivos, puedes usar el administrador de archivos de tu hosting actual o un cliente FTP como FileZilla. Descarga toda la carpeta donde está instalada tu tienda, normalmente se llama public_html, htdocs o algo similar. Puede tardar un rato si tienes muchas imágenes, así que ten paciencia.
Para la base de datos, entra en phpMyAdmin de tu hosting actual, selecciona la base de datos de tu tienda y haz clic en "Exportar". Elige el método rápido y formato SQL. Guarda el archivo en tu ordenador. Ese archivo contiene toda la información de tu negocio, así que guárdalo en un lugar seguro.
Comprueba la versión de PrestaShop y los requisitos del nuevo hosting
Cada versión de PrestaShop tiene unos requisitos mínimos de PHP, MySQL y memoria. Antes de cambiar hosting PrestaShop, asegúrate de que el nuevo servidor los cumple. Por ejemplo, si tu tienda usa PrestaShop 1.7 o 8.x, necesitarás PHP 7.1 o superior (idealmente PHP 8.0 o 8.1). Si tu hosting actual usa una versión antigua de PHP, tu tienda podría no funcionar en el nuevo si este es más estricto.
También es importante que compruebes si tienes módulos o temas que dependen de funciones específicas del servidor. Una lista rápida de verificación sería:
- Versión de PHP compatible.
- Versión de MySQL/MariaDB compatible.
- Soporte para SSL/HTTPS (imprescindible para las pasarelas de pago).
- Espacio en disco suficiente (al menos el doble del tamaño de tu copia de seguridad).
- Límites de memoria PHP (memory_limit) recomendados por PrestaShop.
[WARNING] No te saltes este paso. Migrar PrestaShop a un hosting que no cumple los requisitos es la causa número uno de tiendas rotas después de la migración. Si no sabes qué versión de PHP necesitas, consulta la documentación oficial de tu versión de PrestaShop.
Paso 1: Configura el nuevo hosting y crea la base de datos
Ahora toca preparar tu nueva casa. Dependiendo de tu proveedor de hosting, el panel de control será cPanel, Plesk, Syspanel o un panel personalizado. En este artículo voy a mencionar Syspanel, que es un panel muy común en hostings económicos y fáciles de usar. Recuerda que el puerto de acceso a Syspanel es el 2106, así que si tu proveedor usa este panel, tendrás que escribir algo como tudominio.com:2106 para acceder.
Crea una base de datos y un usuario
En tu panel de control del nuevo hosting, busca la sección de "Bases de datos MySQL". Crea una nueva base de datos con un nombre descriptivo, por ejemplo mistienda_presta. Luego crea un usuario con una contraseña segura y asígnale todos los privilegios sobre esa base de datos. Anota estos datos porque los necesitarás más adelante.
[INFO] En Syspanel, esta sección suele llamarse "MySQL Databases" o "Bases de datos". El proceso es idéntico al de cPanel: creas la base, creas el usuario y luego los vinculas. No te olvides de asignar todos los privilegios, o la instalación de PrestaShop fallará.
Sube los archivos de tu tienda al nuevo servidor
Tienes dos opciones: subir los archivos comprimidos en un ZIP o hacerlo por FTP. La opción más rápida y segura es comprimir la carpeta de tu tienda en un archivo ZIP, subirlo a la carpeta raíz del nuevo hosting (normalmente public_html o www) y luego descomprimirlo desde el administrador de archivos. Esto evita errores de transferencia que pueden ocurrir si subes archivo por archivo.
Si prefieres usar FTP, programas como FileZilla te permiten arrastrar y soltar la carpeta entera. Eso sí, ten en cuenta que puede tardar varias horas si tu tienda tiene muchas imágenes. La opción del ZIP es mucho más rápida.
Una vez subido y descomprimido, verifica que la estructura de carpetas es correcta: deberías ver config, modules, themes, img, var, etc.
Paso 2: Importa la base de datos al nuevo hosting
Este es el paso más delicado de la migración de PrestaShop a un nuevo hosting. Vamos a importar el archivo SQL que exportaste antes en la base de datos que acabas de crear.
Entra en phpMyAdmin del nuevo hosting, selecciona tu base de datos y haz clic en la pestaña "Importar". Selecciona el archivo SQL que exportaste y haz clic en "Continuar". Si el archivo es muy grande (más de 20 MB), es posible que tengas que subirlo comprimido en formato .zip o .gz. La mayoría de los phpMyAdmin modernos lo aceptan sin problema.
[TIP] Si la importación falla por un límite de tamaño, no desesperes. Puedes usar herramientas como BigDump o aumentar el límite de subida en el archivo
php.inidel hosting. Otra opción es dividir el archivo SQL en partes más pequeñas con un editor de texto.
Después de la importación, es fundamental verificar que las tablas se han creado correctamente. Deberías ver decenas de tablas con prefijos como ps_. Si ves errores, repite la importación desde cero, porque una importación a medias dejará tu tienda inservible.
Paso 3: Ajusta el archivo de configuración de PrestaShop
Ahora viene el momento de conectar tu tienda con la nueva base de datos. PrestaShop guarda la configuración de conexión en el archivo app/config/parameters.php (en PrestaShop 1.7 y 8.x) o en config/settings.inc.php (en PrestaShop 1.6 y anteriores).
Abre este archivo con un editor de texto (Notepad++ o similar) y modifica los siguientes valores:
database_host: normalmentelocalhost, pero a veces el hosting te da un host específico comomysql.tudominio.com.database_name: el nombre de la base de datos que creaste.database_user: el usuario que creaste.database_password: la contraseña que elegiste.
Guarda el archivo y súbelo de nuevo al servidor si lo estabas editando en local.
[WARNING] Asegúrate de que el archivo
parameters.phpno tenga errores de sintaxis. Un solo carácter mal puesto (una coma o una comilla) puede provocar un error 500 en tu tienda. Si no estás seguro, haz una copia del archivo original antes de editarlo.
Paso 4: Actualiza las URLs y configura el nuevo dominio
Este es el paso que más se olvida y que más dolores de cabeza causa. Si no cambias las URLs en la base de datos, tu tienda seguirá apuntando al hosting antiguo y verás un error de conexión.
Entra en phpMyAdmin del nuevo hosting, selecciona tu base de datos y busca la tabla ps_shop_url. Ahí verás las URLs de tu tienda. Deberías tener una fila con el dominio antiguo. Cámbiala por tu nuevo dominio o por la IP del nuevo servidor si estás en fase de pruebas.
También puedes ejecutar una consulta SQL para cambiar todas las URLs de la base de datos de una vez. Por ejemplo, si tu dominio antiguo era miviejatienda.com y el nuevo es minuevatienda.com, ejecuta esta consulta:
UPDATE ps_shop_url SET domain = 'minuevatienda.com', domain_ssl = 'minuevatienda.com' WHERE id_shop = 1;
Pero cuidado: PrestaShop guarda URLs absolutas en muchas tablas (módulos, configuraciones, etc.). La forma más segura de hacer esto es usar una herramienta de búsqueda y reemplazo en la base de datos, como el script "Search Replace DB" o el plugin "Better Search Replace" si usas WordPress (aunque aquí estamos con PrestaShop, el concepto es el mismo). También puedes hacerlo manualmente con consultas SQL, pero es tedioso y propenso a errores.
[INFO] Si vas a cambiar hosting PrestaShop pero mantienes el mismo dominio, este paso es más sencillo: solo tienes que apuntar los DNS del dominio al nuevo servidor. Pero si estás usando una IP temporal para probar, tendrás que modificar la tabla
ps_shop_urly también el archivoconfig/settings.inc.php(en versiones antiguas) oapp/config/parameters.php(en versiones nuevas) para que la tienda sepa dónde está.
Paso 5: Configura el SSL y los dominios en el nuevo hosting
La seguridad es clave en una tienda online, sobre todo si vendes con tarjeta de crédito. Una vez que hayas migrado los archivos y la base de datos, tienes que activar el certificado SSL en el nuevo hosting. La mayoría de los hostings modernos ofrecen Let's Encrypt gratis desde el panel de control.
En Syspanel, busca la sección de "SSL/TLS" y selecciona tu dominio para emitir un certificado. El proceso suele tardar unos minutos. Una vez activado, asegúrate de que PrestaShop tiene la opción "Forzar SSL" activada. Esto lo haces desde el panel de administración de PrestaShop, en Preferencias > General > Activar SSL.
Si estás usando un dominio temporal (por ejemplo, una IP o un subdominio), ten en cuenta que el certificado SSL de un dominio temporal no será válido para tu dominio definitivo. Así que lo mejor es hacer la prueba con HTTP y luego, cuando el dominio esté apuntando al nuevo hosting, activar el SSL.
Paso 6: Últimos ajustes y verificación de la tienda
Ya casi estamos. Ahora toca revisar que todo funciona correctamente. Antes de dar el salto definitivo, te recomiendo hacer una lista de comprobación:
- Accede al panel de administración de PrestaShop (
/admino la URL que tengas configurada). Comprueba que puedes iniciar sesión y que no hay errores. - Visita la tienda en el navegador. Mira que las imágenes cargan, que los productos se muestran y que los enlaces funcionan.
- Prueba el proceso de compra con un pedido de prueba (puedes usar el modo "caja" de un módulo de pago en modo test).
- Revisa los logs de errores de PHP si aparece algún error. En el panel de control del hosting puedes ver los logs de error del servidor.
- Comprueba que los módulos y el tema están activos y no han perdido la configuración.
Si algo falla, no te asustes. Lo más común es que haya un error de permisos en las carpetas. PrestaShop necesita permisos de escritura en las carpetas var/cache, config, img, modules y themes. Puedes cambiarlos desde el administrador de archivos del hosting (normalmente a 755 para carpetas y 644 para archivos).
[TIP] Después de la migración, borra la carpeta
var/cache(en PrestaShop 1.7 y 8.x) ocache(en versiones antiguas) para forzar a PrestaShop a regenerar la caché. Esto soluciona muchos problemas de visualización.
Paso 7: Cambia los DNS y haz la migración definitiva
Cuando hayas verificado que todo funciona con el dominio temporal o la IP, llega el momento de cambiar los DNS de tu dominio para que apunten al nuevo hosting. Este proceso puede tardar entre 24 y 72 horas en propagarse a nivel mundial, aunque normalmente es más rápido.
Durante la propagación, algunos usuarios verán la tienda en el hosting antiguo y otros en el nuevo. Para evitar problemas, te recomiendo hacer el cambio de DNS en un día de bajo tráfico (por ejemplo, un lunes por la mañana). También es buena idea poner un aviso en la tienda de que se está realizando un mantenimiento, aunque sea temporal.
Una vez que los DNS se hayan propagado, comprueba que la tienda carga con el dominio definitivo y que el SSL funciona correctamente. Después de unos días, puedes cancelar el hosting antiguo con total tranquilidad.
Errores comunes y cómo solucionarlos en la migración de PrestaShop
Aunque hayas seguido todos los pasos, a veces las cosas se tuercen. Aquí tienes los errores más típicos y sus soluciones:
Error 500 o pantalla en blanco
Suele deberse a un error en el archivo parameters.php, a permisos incorrectos o a una versión de PHP incompatible. Revisa los logs de error del servidor para ver el mensaje exacto. Si no sabes cómo ver los logs, muchos hostings los muestran en el panel de control.
"La base de datos no se puede conectar"
Revisa los datos de conexión en parameters.php. Asegúrate de que el host, usuario y contraseña son correctos. A veces el hosting usa un host distinto a localhost, como mysql.tudominio.com. También verifica que el usuario tiene privilegios sobre la base de datos.
Imágenes rotas o productos sin fotos
Esto suele pasar porque las URLs de las imágenes en la base de datos apuntan al dominio antiguo. Ejecuta una búsqueda y reemplazo en la base de datos para cambiar el dominio antiguo por el nuevo. También puedes regenerar las miniaturas desde el panel de administración (Parámetros avanzados > Rendimiento > Regenerar miniaturas).
El panel de administración no carga o da error
Intenta limpiar la caché de PrestaShop borrando la carpeta var/cache. También puedes intentar desactivar la caché desde el archivo parameters.php (busca la línea que pone 'cache_enabled' => true y cámbiala a false). Si el problema persiste, revisa los logs de error.
Problemas con los módulos de pago
Los módulos de pago suelen guardar la URL de la tienda en su configuración. Después de la migración, es posible que tengas que reconfigurarlos. Ve a Módulos > Módulos instalados, busca los de pago y comprueba su configuración. Algunos también requieren que actualices las URLs de notificación en la pasarela de pago.
Preguntas frecuentes sobre migrar PrestaShop a un nuevo hosting
¿Cuánto tarda en migrar PrestaShop a un nuevo hosting?
Depende del tamaño de tu tienda y de tu experiencia. Para una tienda pequeña o mediana, el proceso completo (sin contar la propagación de DNS) puede llevar entre 2 y 4 horas. Si es tu primera vez, reserva una tarde entera.
¿Puedo cambiar hosting PrestaShop sin perder el posicionamiento SEO?
Sí, siempre que lo hagas bien. Los factores clave son: mantener la misma estructura de URLs (cambiar solo el dominio), configurar redirecciones 301 si cambias alguna URL, y asegurarte de que el nuevo hosting es rápido y tiene buen tiempo de actividad. Si haces los pasos correctamente, tu SEO no debería verse afectado negativamente.
¿Qué pasa si mi hosting usa Syspanel?
Syspanel es un panel de control muy similar
