Guía para migrar PrestaShop a otro servidor con cPanel
¿Necesitas mover tu tienda PrestaShop a un servidor nuevo y usas cPanel? No te preocupes, es un proceso más sencillo de lo que parece si sigues los pasos adecuados. Esta guía te acompañará en cada etapa para migrar PrestaShop cPanel de forma segura, minimizando el tiempo de inactividad y evitando errores comunes. Al final, tendrás tu tienda funcionando en el nuevo hosting como si nada hubiera pasado.
¿Por qué migrar PrestaShop a otro servidor?
Antes de empezar, es bueno entender por qué podrías necesitar transferir PrestaShop servidor. Las razones más comunes incluyen:
- Mejor rendimiento: Tu servidor actual es lento y afecta la experiencia de usuario.
- Escalabilidad: Necesitas más recursos (RAM, CPU, espacio) para manejar el crecimiento de tu tienda.
- Seguridad: El hosting actual no ofrece las últimas protecciones o soporte técnico.
- Cumplimiento: Necesitas un servidor en una ubicación geográfica específica (ej. para GDPR).
- Costo: Encontraste un plan de hosting con mejor relación calidad-precio.
Cualquiera que sea tu motivo, hacer un backup PrestaShop cPanel y migrarlo correctamente es clave para no perder datos, productos, pedidos o configuraciones.
Requisitos previos para la migración
Antes de tocar cualquier archivo, asegúrate de tener:
- Acceso a cPanel del servidor antiguo (donde está tu tienda actual).
- Acceso a cPanel del servidor nuevo (donde quieres mover la tienda).
- Datos de acceso a la base de datos MySQL de ambos servidores (usuario, contraseña, nombre de la BD).
- Credenciales FTP (o SFTP) de ambos servidores.
- Dominio apuntado al nuevo servidor (opcional, pero recomendado hacerlo al final para evitar conflictos).
- Paciencia y una copia de seguridad adicional (nunca está de más).
[INFO] Si tu nuevo hosting usa Syspanel (anteriormente HestiaCP), el acceso es similar pero el puerto para el panel es el 2106. Por ejemplo:
https://tunuevodominio.com:2106. El proceso es análogo, solo cambia la interfaz.
Paso 1: Haz un backup completo de PrestaShop en cPanel
El primer paso para migrar PrestaShop cPanel es crear una copia de seguridad completa. No te saltes esto; es tu red de seguridad.
1.1. Backup de la base de datos
La base de datos contiene toda la información de tu tienda: productos, clientes, pedidos, módulos, etc.
- Inicia sesión en cPanel del servidor antiguo.
- Busca la sección Bases de datos y haz clic en phpMyAdmin.
- En el panel izquierdo, selecciona la base de datos de tu PrestaShop (normalmente tiene un prefijo como
prestashop_otutienda_). - Haz clic en la pestaña Exportar en la parte superior.
- Elige el método Rápido y formato SQL.
- Haz clic en Continuar y descarga el archivo
.sql. Guárdalo en una carpeta segura, por ejemplobackup_prestashop_2024.sql.
1.2. Backup de los archivos del sitio
Los archivos incluyen el código de PrestaShop, temas, módulos, imágenes y configuraciones.
- En cPanel, ve a la sección Archivos y haz clic en Administrador de archivos.
- Navega hasta la carpeta donde está instalado PrestaShop (normalmente
public_htmlo una subcarpeta comotienda). - Selecciona todos los archivos y carpetas (puedes usar Ctrl+A o el botón "Seleccionar todo").
- Haz clic en Comprimir en la barra superior y elige Zip Archive. Dale un nombre como
prestashop_archivos.zip. - Una vez generado, descarga el archivo ZIP a tu computadora.
[TIP] Si tu tienda es muy grande (más de 1 GB), considera usar FTP o SFTP para descargar los archivos, ya que el compresor de cPanel puede fallar con volúmenes enormes. Usa FileZilla o similar.
1.3. (Opcional) Backup completo de cPanel
Para una copia de seguridad total (incluyendo correos, bases de datos y archivos), puedes usar la herramienta Backup de cPanel:
- En cPanel, busca la sección Archivos > Backup.
- Haz clic en Descargar una copia de seguridad completa de la cuenta.
- Espera a que se genere (puede tardar varios minutos) y descárgala.
Este archivo es enorme, pero te permite restaurar todo de golpe en el nuevo servidor si usas la misma versión de cPanel.
Paso 2: Prepara el nuevo servidor con cPanel
Ahora que tienes tu backup PrestaShop cPanel seguro, es hora de preparar el destino.
2.1. Crea la base de datos en el nuevo servidor
- Accede al cPanel del nuevo servidor.
- Ve a Bases de datos > Bases de datos MySQL.
- Crea una nueva base de datos con un nombre descriptivo (ej.
nuevatienda_bd). - Crea un usuario para la base de datos (ej.
nuevatienda_user) y asígnale una contraseña segura. - Agrega el usuario a la base de datos con todos los privilegios (marca la casilla "Todos los privilegios").
- Anota el nombre de la BD, el usuario y la contraseña. Los necesitarás más adelante.
2.2. Importa la base de datos al nuevo servidor
- En el cPanel nuevo, abre phpMyAdmin.
- Selecciona la base de datos que acabas de crear (en el panel izquierdo).
- Haz clic en la pestaña Importar.
- Haz clic en Seleccionar archivo y elige el archivo
.sqlque descargaste en el Paso 1. - Haz clic en Continuar. Espera a que termine la importación (puede tardar si la BD es grande).
[WARNING] Si la importación falla por tamaño, puedes usar la línea de comandos (SSH) o subir el archivo SQL por FTP y luego importarlo desde phpMyAdmin usando la opción "Importar archivo desde el servidor". Pide ayuda a tu soporte técnico si es necesario.
2.3. Sube los archivos de PrestaShop al nuevo servidor
- En cPanel del nuevo servidor, ve a Administrador de archivos.
- Navega hasta la carpeta donde quieres instalar PrestaShop (normalmente
public_htmlpara la raíz del dominio, o crea una subcarpeta comotienda). - Sube el archivo ZIP (
prestashop_archivos.zip) que descargaste. Puedes usar la opción Subir o arrastrarlo. - Una vez subido, selecciona el archivo ZIP y haz clic en Extraer.
- Espera a que se extraigan todos los archivos. Luego puedes eliminar el ZIP.
[INFO] Si tienes muchos archivos (miles de imágenes de productos), la extracción puede ser lenta. Alternativamente, usa FTP/SFTP para subir los archivos directamente sin comprimir, lo cual es más rápido para grandes volúmenes.
Paso 3: Configura los archivos de conexión a la base de datos
Ahora viene el paso más crítico: decirle a PrestaShop que use la nueva base de datos.
- En el Administrador de archivos del nuevo servidor, navega a la carpeta donde extrajiste los archivos (ej.
public_html). - Busca el archivo
app/config/parameters.php(en PrestaShop 1.7 y 8.x) oconfig/settings.inc.php(en PrestaShop 1.6). - Haz clic derecho sobre él y selecciona Editar (o Code Editor).
- Busca las líneas que definen la conexión a la base de datos:
// Para parameters.php (PrestaShop 1.7+)
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'nuevatienda_bd',
'database_user' => 'nuevatienda_user',
'database_password' => 'contraseña_segura',
// Para settings.inc.php (PrestaShop 1.6)
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nuevatienda_bd');
define('_DB_USER_', 'nuevatienda_user');
define('_DB_PASSWD_', 'contraseña_segura');
- Reemplaza los valores con los que anotaste en el Paso 2 (nombre de BD, usuario y contraseña). Normalmente el host es
localhost, pero si tu servidor usa un host remoto, cámbialo. - Guarda los cambios y cierra el editor.
[TIP] Si no encuentras el archivo
parameters.php, asegúrate de haber subido todos los archivos. A veces la carpetaappestá oculta; en el Administrador de archivos, activa la opción "Mostrar archivos ocultos" (punto y seguido).
Paso 4: Ajusta la URL de la tienda (si es necesario)
Si cambiaste el dominio o la carpeta de instalación, debes actualizar la URL en la base de datos.
- En phpMyAdmin del nuevo servidor, selecciona la base de datos importada.
- Haz clic en la tabla
ps_configuration(oprestashop_configurationsegún el prefijo). - Busca las filas con
nameigual aPS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSL. - Haz clic en Editar (el icono de lápiz) en cada una y cambia el
valuepor tu nuevo dominio (ej.tunuevatienda.com). - También busca
PS_SHOP_DOMAIN_SSLy haz lo mismo.
Si tu tienda tiene multitienda, revisa también la tabla ps_shop_url.
[WARNING] Si no actualizas la URL, al acceder a la tienda te redirigirá al dominio antiguo o dará error 404.
Paso 5: Prueba la migración y soluciona problemas comunes
Antes de apuntar el dominio definitivamente, haz pruebas en el nuevo servidor.
5.1. Accede mediante IP o dominio temporal
Si el dominio aún apunta al servidor antiguo, puedes acceder a la tienda usando la IP del nuevo servidor o un dominio temporal (ej. tunuevodominio.com/~tuusuario). Pregunta a tu hosting cómo acceder temporalmente.
- Abre un navegador y escribe la URL temporal.
- Deberías ver tu tienda PrestaShop funcionando. Si ves un error, revisa los pasos anteriores.
- Prueba el frontend: navega por categorías, productos, carrito.
- Prueba el backend: accede a
/admin(o la carpeta de administración que tenías) e inicia sesión.
5.2. Errores comunes y cómo solucionarlos
- Error 500 (Internal Server Error): Suele ser por permisos incorrectos. En cPanel, selecciona todos los archivos de la carpeta PrestaShop y haz clic en Cambiar permisos. Pon 755 para carpetas y 644 para archivos. Luego, en la carpeta
var/cache(ocacheen versiones antiguas), elimina todo su contenido (no la carpeta). - Error de conexión a la base de datos: Revisa que los datos en
parameters.phposettings.inc.phpsean correctos. Asegúrate de que el usuario tenga todos los privilegios. - Páginas en blanco: Activa la depuración de PrestaShop editando
config/defines.inc.phpy cambiando_PS_MODE_DEV_atrue. Te mostrará los errores. - Imágenes rotas: Es posible que las rutas de las imágenes no se hayan actualizado. Ve a Parámetros de la tienda > Rendimiento y haz clic en Regenerar miniaturas.
- Módulos o temas incompatibles: Si usabas módulos específicos del servidor antiguo (ej. caché local), puede que necesites reinstalarlos o configurarlos de nuevo.
Paso 6: Apunta el dominio al nuevo servidor
Una vez que todo funciona correctamente, es hora de hacer el cambio definitivo.
- Accede al panel de control de tu registrador de dominios (donde compraste el dominio, ej. Namecheap, GoDaddy, etc.) o al DNS de tu hosting actual.
- Modifica los registros DNS (A, CNAME, etc.) para que apunten a la IP del nuevo servidor.
- Importante: Si tu nuevo hosting tiene cPanel, te habrán proporcionado una IP o un nombre de servidor (ej.
ns1.nuevohosting.com). Configúralo en los nameservers si es necesario. - La propagación DNS puede tardar de 1 a 48 horas. Durante ese tiempo, algunos usuarios verán el sitio antiguo y otros el nuevo. Es normal.
[INFO] Para minimizar el tiempo de inactividad, puedes reducir el TTL (Time To Live) de los registros DNS a 300 segundos (5 minutos) un día antes de la migración. Luego, cuando todo esté listo, cámbialo al valor original.
Paso 7: Verificación final y limpieza
Después de que el dominio apunte al nuevo servidor, verifica:
- Funcionamiento completo: Navega por toda la tienda, realiza un pedido de prueba (puedes poner un método de pago en modo test), revisa el panel de administración.
- SSL/HTTPS: Si usas certificado SSL, asegúrate de que esté instalado y funcione correctamente. En cPanel, puedes usar AutoSSL o instalar uno manualmente.
- Redirecciones: Si cambiaste la estructura de URLs (ej. de
/tiendaa raíz), configura redirecciones 301 en el archivo.htaccess. - Elimina los archivos del servidor antiguo: Una vez que todo esté estable, no dejes los archivos en el servidor antiguo para evitar accesos no autorizados.
Preguntas frecuentes (FAQ)
¿Puedo migrar PrestaShop sin perder datos de clientes o pedidos?
Sí, siempre que hagas un backup PrestaShop cPanel completo (base de datos + archivos) y lo restaures correctamente. No se pierde nada si sigues los pasos.
¿Cuánto tiempo tarda la migración?
Depende del tamaño de tu tienda. Una tienda pequeña (pocos productos, sin muchas imágenes) puede tardar 30-60 minutos. Una tienda grande (miles de productos, muchas imágenes) puede llevar varias horas, sobre todo en la descarga/subida de archivos.
¿Qué hago si aparece un error "No se puede conectar a la base de datos"?
Revisa el archivo parameters.php o settings.inc.php. Asegúrate de que el nombre de la base de datos, usuario y contraseña sean exactamente los que creaste en el nuevo servidor. También verifica que el host sea localhost (a menos que tu hosting use un host remoto).
¿Necesito cambiar la versión de PHP?
PrestaShop requiere versiones específicas de PHP. Verifica en el nuevo servidor que la versión de PHP sea compatible con tu versión de PrestaShop (por ejemplo, PrestaShop 1.7 necesita PHP 7.1 a 7.4; PrestaShop 8.x necesita PHP 7.4 o 8.0). Puedes cambiarlo en cPanel > Seleccionar versión de PHP.
¿Puedo migrar desde un servidor que no sea cPanel (por ejemplo, Syspanel)?
Sí, el proceso es similar
