Cómo mover PrestaShop de un servidor a otro (Plesk o cPanel)
Mudar una tienda online puede parecer una tarea titánica, sobre todo si no eres un experto en sistemas. Pero tranquilo, respira. Migrar PrestaShop hosting es un proceso que, con la guía adecuada y un poco de paciencia, puedes realizar sin volverte loco. No importa si vienes de un panel como Plesk o cPanel, o si tu destino es uno de estos; el procedimiento sigue una lógica común: copiar, transferir y ajustar.
En esta guía extensa y paso a paso, vamos a desglosar todo el proceso para que puedas mover PrestaShop servidor de forma segura, sin perder pedidos, clientes ni configuraciones. Olvídate del estrés y vamos a ello.
Antes de Empezar: La Preparación es la Clave
Antes de tocar nada, necesitas tener un plan. No se trata solo de copiar archivos; se trata de hacerlo bien a la primera. La mayoría de los errores en una migración ocurren por prisas o por olvidar pasos críticos.
1. Haz una Copia de Seguridad Completa
Esto no es negociable. Es tu red de seguridad. Si algo sale mal, podrás restaurar todo en el servidor original y perder solo unas horas de trabajo.
Necesitas dos cosas:
- Copia de los archivos: Todo el contenido de la carpeta raíz de tu PrestaShop (normalmente
public_htmlohttpdocs). - Copia de la base de datos: El archivo
.sqlcon toda la información de tu tienda (productos, pedidos, clientes).
Para hacer la copia de archivos, puedes usar el administrador de archivos de tu panel (Plesk o cPanel) o un cliente FTP como FileZilla. Selecciona todo y descárgalo a tu ordenador. Para la base de datos, usa phpMyAdmin: selecciona la base de datos de tu tienda, ve a la pestaña "Exportar" y elige el método "Rápido" y formato SQL.
[WARNING] Asegúrate de que la copia de seguridad se haya descargado completamente a tu PC antes de continuar. Compara el tamaño de los archivos en el servidor y en tu disco duro. Un archivo incompleto es una fuente de problemas.
2. Prepara el Nuevo Servidor
Tu nuevo hosting debe cumplir con los requisitos mínimos de la versión de PrestaShop que tienes. Esto incluye una versión de PHP compatible, MySQL y suficiente espacio en disco.
- Crea una base de datos nueva y un usuario con todos los privilegios sobre ella. Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás más adelante.
- Asegúrate de que el dominio (o un subdominio temporal) apunte al nuevo servidor. Esto es crucial para poder probar la tienda antes de cambiar los DNS definitivamente.
Fase 1: Transferir los Archivos de PrestaShop
Con las copias de seguridad en tu poder y el nuevo servidor listo, es hora de mover los archivos. Este es el primer paso físico de la migración.
1. Sube los Archivos al Nuevo Servidor
Conecta con un cliente FTP al nuevo hosting y accede a la carpeta raíz (normalmente public_html o httpdocs). Sube todos los archivos que descargaste antes. Esto puede tardar un buen rato dependiendo del tamaño de tu tienda y tu conexión.
[TIP] Si tienes muchos archivos, es más rápido y fiable comprimir la carpeta en un
.zipdesde tu servidor original, descargarla, subirla al nuevo y descomprimirla allí. Ahorrarás tiempo y evitarás posibles cortes en la transferencia.
2. Ajusta los Permisos de Archivos y Carpetas
PrestaShop necesita permisos de escritura en ciertas carpetas para funcionar correctamente. Los permisos estándar suelen ser:
- Carpetas: 755
- Archivos: 644
Las carpetas que necesitan permisos de escritura (a menudo 775 o 777) suelen ser config, cache, log, img, mails, modules, themes, translations, upload, download y var.
Puedes cambiar los permisos desde el administrador de archivos de tu panel o con un cliente FTP haciendo clic derecho sobre la carpeta y seleccionando "Permisos".
[WARNING] No dejes los permisos en 777 en todas las carpetas de forma permanente. Es un riesgo de seguridad. Ajusta solo los necesarios y luego revierte a 755 cuando la tienda esté estable.
Fase 2: Importar la Base de Datos
Ahora viene la parte más delicada: transferir la información. La base de datos es el cerebro de tu tienda, así que hay que tratarla con cuidado.
1. Importa el Archivo SQL
Entra en phpMyAdmin del nuevo servidor, selecciona la base de datos que creaste y ve a la pestaña "Importar". Selecciona el archivo .sql que descargaste y haz clic en "Continuar". Si la base de datos es muy grande, puede que necesites aumentar el max_execution_time y el max_allowed_packet en la configuración de PHP.
[INFO] Si la importación falla a mitad de camino, no desesperes. A veces, dividir el archivo SQL en partes más pequeñas con herramientas como BigDump o un editor de texto puede resolver el problema.
2. Verifica la Importación
Después de importar, revisa que las tablas se hayan creado correctamente. Ve a la pestaña "Estructura" de tu base de datos en phpMyAdmin y comprueba que hay un número razonable de tablas (normalmente más de 200 para PrestaShop). También puedes hacer una consulta rápida para ver si los productos están ahí: SELECT * FROM ps_product LIMIT 10; (reemplaza ps_ con el prefijo que uses tú, que puede ser diferente).
Fase 3: Configurar la Conexión a la Base de Datos
Ahora que tanto los archivos como la base de datos están en el nuevo servidor, necesitas que PrestaShop hable con la base de datos. Esto se hace a través de un archivo de configuración.
1. Edita el Archivo parameters.php
El archivo clave es app/config/parameters.php. Ábrelo con un editor de texto plano (como Notepad++ o Sublime Text) y localiza las siguientes líneas:
'database_host' => 'localhost',
'database_name' => 'nombre_base_datos',
'database_user' => 'usuario_base_datos',
'database_password' => 'contraseña_base_datos',
Reemplaza los valores con los de tu nueva base de datos. Guarda el archivo y súbelo de nuevo al servidor, sobrescribiendo el existente.
[WARNING] Este archivo es extremadamente sensible. Asegúrate de no dejar espacios en blanco ni caracteres extraños al guardarlo. Un solo carácter de más puede romper toda la tienda.
Fase 4: Ajustar las URL y la Configuración
PrestaShop guarda las URLs en la base de datos. Si cambias de dominio, necesitarás actualizarlas. Si mantienes el mismo dominio, este paso puede ser más sencillo, pero aún así es recomendable verificar.
1. Actualiza las URLs en la Base de Datos
Si el dominio cambia, necesitas actualizar las URLs en las tablas ps_shop_url y ps_configuration. Puedes hacerlo con una consulta SQL en phpMyAdmin:
UPDATE ps_shop_url SET domain = 'nuevodominio.com', domain_ssl = 'nuevodominio.com' WHERE id_shop_url = 1;
Y para la configuración general:
UPDATE ps_configuration SET value = 'http://nuevodominio.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
[INFO] Si estás usando un subdominio temporal para probar (por ejemplo,
test.midominio.com), usa esa URL en las consultas. Luego la cambiarás por la definitiva.
2. Limpia la Caché de PrestaShop
PrestaShop guarda mucha información en caché. Después de mover los archivos y la base de datos, es probable que la caché esté corrupta o desactualizada.
- Borra el contenido de las carpetas
var/cache(ocacheen versiones antiguas) yvar/logs. No borres las carpetas en sí, solo su contenido. - Si tienes acceso al back office, ve a Parámetros Avanzados > Rendimiento y fuerza la compilación de plantillas en "Sí" y desactiva la caché. Luego vuelve a activarla y pon la compilación en "Nunca" para producción.
3. Ajusta el Archivo .htaccess
El archivo .htaccess en la raíz de PrestaShop contiene reglas de reescritura de URLs. A veces, durante la migración, este archivo se corrompe o no se actualiza correctamente. La forma más segura de regenerarlo es:
- Ve al back office de tu tienda (si puedes acceder).
- Ve a Parámetros Avanzados > URL y guarda la página sin hacer cambios. Esto fuerza a PrestaShop a regenerar el
.htaccess. - Si no puedes acceder al back office, borra el archivo
.htaccessdel servidor. PrestaShop lo regenerará automáticamente la próxima vez que cargues la tienda.
Fase 5: Probar Todo a Fondo
Este es el momento de la verdad. No puedes lanzar la tienda sin antes asegurarte de que todo funciona. Una prueba exhaustiva te ahorrará dolores de cabeza futuros.
1. Accede a tu Tienda
Escribe la URL de tu tienda en el navegador. Deberías ver la página principal sin errores. Si ves un error, anota el mensaje exacto; te dará una pista de qué está fallando.
2. Prueba el Back Office
Accede a /admin (o la URL que hayas configurado). Intenta iniciar sesión. Si no puedes, revisa que la tabla ps_employee esté correcta y que la contraseña se haya migrado bien.
3. Realiza Pedidos de Prueba
Crea un pedido de prueba de principio a fin. Añade productos al carrito, pasa por el proceso de checkout (sin pagar, o con un método de pago en modo test) y verifica que el pedido se registra correctamente en el back office. Prueba también el proceso de registro de un nuevo cliente.
4. Verifica los Módulos y Tema
Navega por todas las secciones de tu tienda: categorías, productos, páginas de contenido. Comprueba que los módulos se cargan correctamente y que el tema se ve bien. Si algo falla, puede ser un problema de permisos o de incompatibilidad con la versión de PHP del nuevo servidor.
Fase 6: Cambiar los DNS (Si Es Necesario)
Si has mantenido el mismo dominio, este paso no aplica. Pero si has cambiado de dominio o de servidor, necesitas apuntar el dominio al nuevo hosting.
1. Localiza los Nuevos Servidores DNS
Tu proveedor de hosting te habrá dado dos o más direcciones de servidores DNS (por ejemplo, ns1.nuevohosting.com y ns2.nuevohosting.com).
2. Actualiza los DNS en tu Registrador
Entra en el panel de control de la empresa donde compraste el dominio (tu registrador). Busca la sección de "Gestión de DNS" o "Nameservers" y reemplaza los antiguos por los nuevos.
[TIP] Los cambios de DNS pueden tardar entre 24 y 72 horas en propagarse por todo el mundo. No te asustes si ves la tienda antigua unas horas después del cambio.
3. Configura el Certificado SSL
Una vez que el dominio apunte al nuevo servidor, asegúrate de que el certificado SSL (https) esté activo. Muchos hostings ofrecen Let's Encrypt de forma gratuita. Actívalo y fuerza la redirección de HTTP a HTTPS en el archivo .htaccess o desde el panel de control.
Migraciones Especiales: De Plesk a cPanel (y Viceversa)
El proceso es esencialmente el mismo, pero hay algunas diferencias en la forma de acceder a las herramientas.
Migrar desde Plesk
- Archivos: Accede a "Administrador de Archivos" o usa FTP.
- Base de datos: Accede a "Bases de datos MySQL" y luego a phpMyAdmin.
- Backup: Plesk tiene una herramienta de backup integrada que te permite descargar un archivo de todo el sitio. Es muy útil, pero a veces el archivo es propietario y no se puede importar directamente en cPanel. En ese caso, es mejor hacer la copia manual como hemos descrito.
Migrar desde cPanel
- Archivos: Accede a "Administrador de Archivos" o usa FTP.
- Base de datos: Accede a "Bases de datos MySQL" y luego a phpMyAdmin.
- Backup: cPanel tiene un asistente de copias de seguridad que descarga un archivo
.tar.gzde todo el sitio. De nuevo, es más fiable hacer la copia manual de archivos y base de datos por separado.
[INFO] En algunos paneles de control como Syspanel (accesible a través del puerto 2106), la estructura es similar a cPanel. Busca las secciones de "Archivos" y "Bases de datos" para realizar los mismos pasos descritos anteriormente. La lógica de la migración no cambia, solo la interfaz.
Solución de Problemas Comunes (FAQ)
Aquí tienes algunas soluciones rápidas para los problemas más habituales que surgen al transferir PrestaShop:
Error 500 (Internal Server Error)
Esto suele deberse a un problema con el archivo .htaccess o con los permisos de archivos. Intenta borrar el .htaccess y regenerarlo desde el back office. Si no funciona, revisa los permisos de las carpetas var y cache.
Error de Conexión a la Base de Datos
Revisa el archivo app/config/parameters.php. Asegúrate de que el nombre de la base de datos, el usuario y la contraseña son correctos. Comprueba también que el servidor de base de datos es localhost (la mayoría de los hostings lo usan) y que el puerto es el correcto (normalmente 3306).
Página en Blanco
Esto puede ser un problema de caché o de archivos corruptos. Borra el contenido de var/cache y var/logs. Si sigue en blanco, activa el modo de depuración de PrestaShop (en config/defines.inc.php, cambia _PS_MODE_DEV_ a true) para ver el error exacto.
Imágenes Rotas
Las URLs de las imágenes se guardan en la base de datos. Si cambias de dominio, tendrás que actualizarlas. Puedes hacerlo con una consulta SQL:
UPDATE ps_image_shop SET image_url = REPLACE(image_url, 'http://olddomain.com', 'http://newdomain.com');
También es posible que necesites regenerar las miniaturas desde Parámetros Avanzados > Rendimiento.
El Carrito o el Módulo de Pago No Funciona
Esto suele deberse a que la URL de la tienda en la base de datos no coincide con la URL real. Revisa la tabla ps_shop_url y asegúrate de que el dominio y el dominio SSL son correctos.
Conclusión Final
Mover PrestaShop servidor es un proceso meticuloso, pero no es magia. Siguiendo estos pasos, con calma y verificando cada fase, puedes hacerlo tú mismo y ahorrarte el coste de un servicio profesional.
Recuerda los puntos clave: una buena copia de seguridad, transferir archivos y base de datos, ajustar la configuración y probar exhaustivamente. Con esta guía, tu tienda estará funcionando en su nuevo hogar en poco tiempo.
[TIP] Si en algún momento te sientes abrumado, no dudes en contactar con el soporte de tu nuevo hosting. La mayoría de ellos tienen experiencia en migrar PrestaShop hosting y pueden ofrecerte ayuda o incluso hacerlo por ti de forma gratuita.
¡Buena suerte con tu migración!
