Cómo migrar un sitio de PrestaShop a un nuevo hosting (paso a paso)
Antes de empezar: ¿Por qué migrar tu tienda PrestaShop?
Cambiar de hosting es una decisión importante, pero a veces necesaria. Quizás tu tienda ha crecido y necesitas más recursos, tu proveedor actual tiene caídas frecuentes o simplemente has encontrado un servicio con mejor rendimiento y precio. Sea cual sea tu motivo, migrar prestashop puede parecer una tarea complicada, pero con una buena guía y paciencia, es un proceso que puedes realizar sin ser un experto en servidores.
En este artículo, te voy a explicar paso a paso cómo cambiar hosting prestashop de forma segura, evitando errores comunes y minimizando el tiempo en que tu tienda esté fuera de línea. El objetivo es que tu migración tienda online sea un éxito a la primera.
Antes de lanzarnos, necesitas tener a mano lo siguiente:
- Acceso al panel de control de tu hosting actual (cPanel, Plesk, Syspanel, etc.).
- Acceso al panel de control de tu nuevo hosting.
- Los datos de acceso a tu base de datos actual (usuario, contraseña, nombre de la BD).
- Un gestor de FTP como FileZilla (gratuito) o el administrador de archivos de tu hosting.
- Mucha paciencia y una lista de verificación.
Paso 1: Haz una copia de seguridad completa (El Backup)
Este es, sin duda, el paso más crítico de todo el proceso. Nunca intentes migrar sin tener una copia de seguridad completa y verificada de tu tienda. Una buena copia de seguridad de PrestaShop consta de dos partes: los archivos y la base de datos.
1.1. Copia de seguridad de los archivos de PrestaShop
Los archivos incluyen el código fuente, las imágenes de tus productos, los módulos, los temas, los logs y cualquier otro archivo subido a tu tienda. Para hacerlo:
- Accede al panel de control de tu hosting actual.
- Busca la sección de "Administrador de archivos" o "Administrador de archivos" (File Manager).
- Navega hasta la carpeta donde está instalada tu tienda. Normalmente es
public_htmlohtdocs, pero puede ser una subcarpeta comopublic_html/tienda. - Selecciona todos los archivos y carpetas dentro del directorio de tu tienda (Ctrl+A o Cmd+A).
- Haz clic en el botón "Comprimir" o "Archivar". Elige el formato ZIP y comprime la selección. Esto creará un archivo
.zipcon todo el contenido. - Una vez creado, descarga ese archivo ZIP a tu ordenador. Es tu red de seguridad. No lo borres del servidor hasta que la migración haya terminado con éxito.
[TIP]
Si tu tienda es muy grande (más de 2 GB), comprimir y descargar puede tardar. Una alternativa es usar un cliente FTP como FileZilla para descargar los archivos directamente. Aunque es más lento, te permite reanudar la descarga si se corta la conexión.
1.2. Copia de seguridad de la base de datos
La base de datos contiene toda la información de tus productos, clientes, pedidos, configuraciones, etc. Sin ella, tu tienda no es nada. Para exportarla:
- En tu panel de control, busca la sección de "Bases de datos MySQL" o "MySQL Databases".
- Encuentra la base de datos que usa tu PrestaShop y haz clic en "phpMyAdmin".
- En phpMyAdmin, selecciona la base de datos en el panel de la izquierda.
- Haz clic en la pestaña "Exportar" en la parte superior.
- Deja el método de exportación como "Rápido" y el formato como "SQL".
- Haz clic en el botón "Continuar" o "Exportar". Se descargará un archivo
.sqla tu ordenador.
[WARNING]
Guarda la copia de seguridad de la base de datos en un lugar seguro, junto con la copia de los archivos. Son dos piezas del mismo puzzle y necesitas ambas para reconstruir tu tienda.
Paso 2: Prepara tu nuevo hosting
Mientras descargas las copias de seguridad, puedes ir preparando tu nuevo hogar. La mayoría de los proveedores de hosting ofrecen instaladores automáticos de PrestaShop, pero en este caso, haremos una instalación manual para tener control total.
2.1. Crea una base de datos vacía
Tu nuevo hosting también tendrá un panel de control. Busca la sección de bases de datos MySQL.
- Crea una nueva base de datos (por ejemplo,
miprestashop_db). - Crea un usuario para esa base de datos (por ejemplo,
miprestashop_user) y asígnale una contraseña segura. - Añade ese usuario a la base de datos y concédele todos los privilegios (o "ALL PRIVILEGES").
2.2. Sube los archivos de tu tienda
Ahora toca transferir los archivos de tu antiguo hosting al nuevo. Puedes hacerlo de dos maneras:
-
Opción A (Recomendada): Usa un cliente FTP como FileZilla. Conéctate a tu nuevo hosting con las credenciales FTP que te ha proporcionado tu proveedor. Navega hasta la carpeta
public_html(o la que corresponda) y sube el archivo ZIP que descargaste en el paso anterior. Una vez subido, usa el "Administrador de archivos" de tu nuevo hosting para extraer el ZIP en esa carpeta. -
Opción B: Si tu nuevo hosting tiene un "Administrador de archivos" con opción de "Subir", puedes usarlo. Sube el ZIP y luego extráelo. Esta opción puede ser más lenta para archivos grandes.
[INFO]
Si tu dominio se va a servir desde el nuevo hosting, asegúrate de que los archivos estén en la carpeta raíz correcta (normalmentepublic_html). Si usas una subcarpeta, tu tienda se verá entudominio.com/subcarpeta.
Paso 3: Importa tu base de datos al nuevo hosting
Con la base de datos creada, es hora de llenarla con tus datos.
- En el panel de control de tu nuevo hosting, accede a phpMyAdmin.
- Selecciona la base de datos que acabas de crear (debe estar vacía).
- Haz clic en la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque descargaste de tu antiguo hosting. - Haz clic en "Continuar" o "Importar".
- Espera a que el proceso termine. Si la base de datos es grande, puede tardar unos minutos. Deberías ver un mensaje de éxito al final.
[WARNING]
Si el archivo.sqles demasiado grande (más de 2 MB), es posible que phpMyAdmin no pueda procesarlo. En ese caso, tendrás que importarlo usando la línea de comandos (SSH) si tienes acceso, o usar una herramienta como BigDump. Si no te sientes cómodo con esto, contacta con el soporte de tu nuevo hosting para que te ayuden.
Paso 4: Configura el archivo de conexión a la base de datos
Ahora viene el paso más delicado: conectar tu PrestaShop a la nueva base de datos. Para ello, debes editar el archivo de configuración.
- Usando el "Administrador de archivos" de tu nuevo hosting o un cliente FTP, navega hasta la carpeta raíz de tu tienda.
- Busca la carpeta
app/config. - Dentro, encontrarás un archivo llamado
parameters.php. - Haz clic derecho sobre él y selecciona "Editar" o "Edit".
- Se abrirá un editor de texto. Verás algo similar a esto (los valores pueden variar):
'database_host' => 'localhost',
'database_name' => 'nombre_base_datos_antigua',
'database_user' => 'usuario_base_datos_antigua',
'database_password' => 'contraseña_antigua',
-
Reemplaza los valores
database_name,database_userydatabase_passwordcon los datos de la base de datos que creaste en tu nuevo hosting. Eldatabase_hostnormalmente eslocalhost, pero algunos proveedores usan una dirección diferente (comomysql.tudominio.com). Verifica esta información en el panel de tu nuevo hosting. -
Guarda los cambios y cierra el editor.
[INFO]
En versiones muy antiguas de PrestaShop (1.6 o anteriores), el archivo de configuración se llamaconfig/settings.inc.phpy las variables sonDB_NAME,DB_USER,DB_PASSWDyDB_SERVER.
Paso 5: Actualiza las URLs de tu tienda
Es muy probable que tu tienda tenga URLs absolutas guardadas en la base de datos (por ejemplo, http://tudominioantiguo.com/imagen.jpg). Si no las cambias, tu tienda intentará cargar imágenes y enlaces desde el antiguo hosting, lo que causará errores.
Para solucionarlo, tienes dos opciones:
5.1. Opción A (Recomendada): Usar un SQL query en phpMyAdmin
- Ve a phpMyAdmin en tu nuevo hosting y selecciona tu base de datos.
- Haz clic en la pestaña "SQL".
- Ejecuta la siguiente consulta SQL, reemplazando
http://tudominioantiguo.comyhttp://tudominionuevo.comcon tus URLs reales:
UPDATE ps_configuration SET value = REPLACE(value, 'http://tudominioantiguo.com', 'http://tudominionuevo.com') WHERE value LIKE '%http://tudominioantiguo.com%';
UPDATE ps_shop_url SET domain = REPLACE(domain, 'tudominioantiguo.com', 'tudominionuevo.com');
UPDATE ps_shop_url SET domain_ssl = REPLACE(domain_ssl, 'tudominioantiguo.com', 'tudominionuevo.com');
UPDATE ps_shop_url SET physical_uri = REPLACE(physical_uri, 'tudominioantiguo.com', 'tudominionuevo.com');
[WARNING]
Asegúrate de que el prefijo de las tablas sea correcto. En este ejemplo, esps_, pero el tuyo puede ser diferente (por ejemplo,prestashop_). Revisa el nombre de las tablas en tu base de datos antes de ejecutar el query.
5.2. Opción B: Usar la base de datos y la herramienta de PrestaShop
Si PrestaShop está funcionando (aunque sea de forma parcial), puedes ir a Back Office > Parámetros avanzados > Rendimiento y forzar la compilación de la caché. Pero esto no siempre soluciona el problema de las URLs absolutas. La opción A es la más fiable.
Paso 6: Configura el archivo .htaccess (si es necesario)
PrestaShop genera un archivo .htaccess que contiene reglas de reescritura de URLs. A veces, este archivo puede contener rutas antiguas.
- En la carpeta raíz de tu tienda, busca el archivo
.htaccess. - Si no existe, no te preocupes. PrestaShop lo generará automáticamente cuando accedas al Back Office.
- Si existe, ábrelo con un editor de texto y busca la línea que dice
RewriteBase /. Asegúrate de que sea/si tu tienda está en la raíz, o/subcarpeta/si está en una subcarpeta. - Guarda los cambios.
Paso 7: Limpia la caché de PrestaShop
Para evitar problemas de caché, es recomendable limpiarla manualmente.
- En la carpeta raíz de tu tienda, busca la carpeta
var/cache(en PrestaShop 1.7) ocache(en versiones anteriores). - Dentro, encontrarás subcarpetas como
devyprod. - Elimina todos los archivos dentro de estas subcarpetas, pero no borres las carpetas en sí.
- También puedes eliminar el contenido de la carpeta
var/logssi quieres un registro limpio.
Paso 8: Apunta tu dominio al nuevo hosting
Este es el momento de la verdad. Debes cambiar los servidores DNS de tu dominio para que apunten a tu nuevo hosting.
- Accede al panel de control de tu registrador de dominios (donde compraste tu dominio, como GoDaddy, Namecheap, etc.).
- Busca la sección de "DNS" o "Nameservers".
- Reemplaza los nameservers actuales con los que te ha proporcionado tu nuevo proveedor de hosting. Suelen tener el formato
ns1.tunuevohosting.comyns2.tunuevohosting.com. - Guarda los cambios.
[INFO]
La propagación de DNS puede tardar desde unos minutos hasta 48 horas. Durante este tiempo, algunos usuarios verán tu tienda en el nuevo hosting y otros en el antiguo. No te preocupes, es normal.
Paso 9: Verifica tu tienda y soluciona problemas
Una vez que los DNS se hayan propagado, es hora de hacer una verificación exhaustiva de tu tienda.
- Accede a tu tienda en un navegador. Deberías ver la página principal.
- Navega por algunas categorías y productos. Haz clic en las imágenes para asegurarte de que cargan correctamente.
- Prueba el proceso de compra (puedes hacer un pedido de prueba y luego cancelarlo).
- Accede al Back Office (
/admino la URL que hayas configurado). Inicia sesión con tus credenciales. - Ve a Parámetros avanzados > Rendimiento y haz clic en "Vaciar la caché".
- Ve a Parámetros avanzados > Información para verificar que no haya errores o advertencias.
- Revisa los logs en
var/logspara ver si hay errores de PHP o de base de datos.
[TIP]
Si algo falla, no entres en pánico. Vuelve a revisar el archivoparameters.phpy asegúrate de que los datos de la base de datos son correctos. También verifica que el prefijo de las tablas en tu base de datos coincide con el que está en el archivoparameters.php.
Paso 10: Consideraciones finales y desactivación del hosting antiguo
Una vez que todo funcione correctamente en el nuevo hosting, puedes dar por finalizada la migración.
- No canceles tu hosting antiguo inmediatamente. Mantenlo activo al menos una semana o dos, por si necesitas recuperar algún archivo que hayas olvidado.
- Actualiza tus registros DNS para que apunten a los servidores de correo de tu nuevo hosting (si el correo también se migró).
- Revisa tus certificados SSL. Si usas SSL (algo muy recomendable para una tienda online), asegúrate de que el certificado esté activo en tu nuevo hosting. Puedes usar Let's Encrypt, que suele estar integrado en la mayoría de los paneles de control.
[WARNING]
Si tu tienda sigue teniendo problemas de rendimiento o errores, no dudes en contactar con el soporte técnico de tu nuevo hosting. Es su trabajo ayudarte a que tu tienda funcione correctamente.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo tarda una migración de PrestaShop?
El tiempo depende del tamaño de tu tienda y de tu velocidad de conexión. La descarga y subida de archivos es lo que más tarda. El proceso manual puede llevar entre 2 y 4 horas si eres meticuloso.
¿Puedo migrar mi tienda sin cortar el servicio?
Es difícil, pero puedes minimizar el tiempo de inactividad. Realiza la copia de seguridad, sube los archivos y la base de datos al nuevo hosting, y configura todo antes de cambiar los DNS. De esta forma, la "caída" es solo el tiempo de
