Cómo migrar PrestaShop de hosting

La migración de una tienda online o de una página web de un hosting a otro, es una situación común a medida que nuestro proyecto madura. Entendemos que pueda ser un proceso con ciertos matices técnicos, pero debemos intentar no evitarlo ni demorarlo ya que nos podría ocasionar más problemas en el futuro. En está guía podrás encontrar los pasos necesarios para realizarla.

Antes de proceder con la migración de PrestaShop debemos tener en consideración algunos puntos y requisitos. Sin ellos no nos será posible realizar la completa migración de la aplicación:

  • Disponer de un cliente FTP como Filezilla o similar en nuestro ordenador para conectarnos al espacio web del actual hosting y del nuevo.
  • Tener acceso al FTP en el proveedor actual para poder descargarnos los archivos de la aplicación.
  • Tener acceso a phpMyAdmin en el proveedor actual para exportar la base de datos a nuestro ordenador.
  • Tener acceso al FTP del nuevo hosting para que podamos subir los archivos de la instalación.
  • Tener acceso al phpMyAdmin del nuevo hosting para que podamos importar el .SQL de la base de datos.

Pasos a seguir para migrar Prestashop

Activar el modo mantenimiento

Para empezar con la migración, activaremos el modo de mantenimiento de la tienda, para que ningún otro usuario pueda realizar peticiones o cambios y que estos no sean guardados en nuestra copia de seguridad.

Desde la administración de PrestaShop, en los parámetros de la tienda, accederemos a la configuración y desactivaremos la tienda.

Configuración de la tienda PrestaShop

Una vez desactivada la tienda podemos iniciar el proceso de respaldo para descargarnos una copia actual de nuestra tienda.

En nuestro ejemplo, explicaremos cómo mover la tienda de un hosting a otro hosting, dentro de DonDominio. En todo caso, los pasos y procesos serían los mismos y únicamente cambiaría el panel de gestión desde donde localizar los accesos a phpMyAdmin o los datos de conexión al FTP. El resto de pasos son idénticos, independientemente del proveedor.

Copia de los archivos

Una de las partes que necesitamos exportar para realizar la copia de seguridad, son todos los archivos de la instalación de la tienda. En el caso que tengamos el dominio y hosting en DonDominio, podremos localizar los datos de conexión al FTP desde la pestaña de «Cuentas FTP» en el panel de gestión del dominio:

Pestaña «Cuentas FTP» en el panel de gestión del dominio

Con estos datos, podremos configurar un perfil de conexión en FileZilla para descargarnos los archivos a nuestro ordenador. Accedemos a FileZilla y desde el icono de arriba a la izquierda, creamos un nuevo perfil de conexión escogiendo estas opciones:

Perfil de conexión en FileZilla

Una vez conectado, nos descargaremos todos los archivos de la instalación de PrestaShop a nuestro ordenador, en un lugar donde podamos localizarlos fácilmente.

En el caso que este PrestaShop se encuentre instalado en uno de nuestros alojamientos, en el panel del dominio podrás ver en qué directorio está instalado si revisas la pestaña «Aplicaciones«.

Exportación de la base de datos desde phpMyAdmin

El siguiente paso sería exportar la base de datos usando la herramienta phpMyAdmin.

En nuestro caso, estamos exportando la tienda desde un alojamiento de DonDominio por lo que podemos acceder a phpMyAdmin desde el panel de gestión del dominio, en la pestaña de «Bases de datos«. Allí veremos un listado de nuestras bases de datos. De nuevo, si accedemos a la pestaña de «Aplicaciones«, veremos que base de datos usa nuestro PrestaShop para que podamos acceder a la base de datos correcta.

Con el número de la base de datos concreta, accederemos desde la pestaña de «Bases de datos» a la herramienta phpMyAdmin a través del enlace «Admin» de la derecha:

Pestaña de «Bases de datos» en el panel de gestión del dominio

Al pulsar en «Admin«, nos cargará la herramienta phpMyAdmin y podremos gestionar la base de datos. Vamos a la pestaña superior de «Exportar«.

Página principal de phpMyAdmin

Desde dicha pestaña tendremos varias opciones de descarga y formato de archivo. Recomendamos no realizar ningún ajuste en este sentido, manteniendo el formato «.SQL» que viene elegido por defecto y pulsar en «Continuar«:

Se nos descargará un archivo en formato SQL a nuestro ordenador con una copia completa de la base de datos de la aplicación PrestaShop. Ahora mismo tenemos todos los medios necesarios para migrar nuestra tienda online a otro alojamiento.

Importación de los archivos al nuevo hosting

Con los archivos de la tienda descargados y el SQL de la base de datos, podemos proceder a realizar la importación de la aplicación al nuevo hosting. Necesitaremos contactar con el nuevo proveedor de hosting para que nos faciliten los datos de acceso al FTP y a la gestión de la base de datos, a través de phpMyAdmin.

En nuestro caso, importaremos la aplicación a otro hosting en DonDominio, por lo que los pasos a seguir serían tal como hemos realizado en la exportación, cambiando algunos detalles. Localizaremos los datos de acceso al FTP desde la pestaña de «Cuentas FTP» en el panel de gestión del nuevo dominio y nos conectaremos con FileZilla con un nuevo perfil de conexión.

Una vez conectado, tendríamos que subir los archivos descargados anteriormente en la carpeta donde apunte nuestro dominio o subdominio de nuestra nueva tienda. Recuerda que por norma general, la versión de las www de los dominios registrados con nosotros, apuntan a la carpeta /public/ del espacio web, por lo que tendrías que subirlos dentro de dicha carpeta si deseas que cargue en las www. Al terminar, continuaremos con la importación de la base de datos.

Importación de la base de datos desde phpMyAdmin

Necesitaremos una nueva base de datos para importar el SQL de nuestra aplicación. En el panel del dominio, en la pestaña de «Bases de datos» podremos crear una nueva base de datos. Al crearla, podremos acceder como antes al phpMyAdmin desde el enlace «Admin» de la derecha. Esta vez, nos dirigiremos a la pestaña superior de «Importar«:

Página principal del gestor phpMyAdmin

En este nuevo apartado, veremos el botón de «Examinar…» para poder escoger el archivo SQL que hemos exportado anteriormente. No sería necesario modificar ningún apartado o detalle en esta sección. Simplemente escogemos el archivo SQL y lo importaremos pulsando en «Continuar«:

Este proceso puede tardar algunos minutos dependiendo del peso del archivo SQL importado. En todo caso, no deberíamos tener ningún problema en terminar la importación sin ningún error y poder visualizar todas las tablas de la aplicación en el lado izquierdo.

Configurar la aplicación con la nueva base de datos

Al haber importado la base de datos anterior a una nueva los datos de acceso (Host, usuario, nombre de la base de datos y contraseña) habrán cambiado, por lo que tendremos que configurar nuestro PrestaShop para que se conecte a la nueva base de datos con sus respectivas credenciales.

PrestaShop usa un archivo de configuración «parameters.php» donde guarda esta información. Lo localizaremos en los archivos del FTP que hemos importado, dentro de la carpeta «/app/config» . En este archivo, buscaremos las siguientes líneas de configuración y las modificaremos para que usen las credenciales de conexión a la nueva base de datos:

define('_DB_SERVER_', 'servidor_base_de_datos');
define('_DB_NAME_', 'nombre_base_de_datos');
define('_DB_USER_', 'usuario_base_de_datos');
define('_DB_PASSWD_', 'contraseña_base_de_datos');

Te recomendamos contactar con tu proveedor de alojamiento si no logras localizar estos datos. En el caso que tengas el hosting con DonDominio, los podrás localizar desde el panel de gestión del dominio, en la pestaña de «Bases de datos«. Una vez localizados y sustituidos por los anteriores guardaremos los cambios para que la nueva instalación haga uso de ellos.

Eliminación de la cache para una primera carga limpia

Ya casi hemos terminado la migración de nuestra tienda online y lo primero que queremos es que la carga de la página sea correcta. Para ello debemos eliminar la caché interna que genera PrestaShop automáticamente. Para realizar esta acción, necesitaremos vaciar las carpetas siguientes:

/cache/smarty/compile/
/cache/smarty/cache/
/var/cache/

Es importante que al eliminar las carpetas de caché, no borremos el archivo index.php que contienen. Este paso nos servirá para forzar una nueva reindexación y asegurarnos que todo funcione adecuadamente. De esta forma no veremos datos de la página anterior y evitaremos estar ocultando posibles errores de la migración.

¿También hemos cambiado el dominio o URL de la tienda?

En el caso que durante esta migración, también hayamos cambiado el dominio o la URL de acceso a nuestra tienda online, necesitaremos actualizados esta información en la base de datos, de forma que PrestaShop no realice ninguna redirección hacia nuestra anterior URL de la tienda. Para ello, accederemos de nuevo al PHPMyAdmin de nuestra nueva base de datos y buscaremos la tabla «ps_configuration». En esta tabla debemos localizar los campos «PS_SHOP_DOMAIN» y «PS_SHOP_DOMAIN_SSL«. Modificaremos su «value« por la nueva URL de nuestra tienda online.

Una vez modificados estos dos parámetros, buscaremos la tabla «ps_shop_url» y allí localizaremos las columnas de «domain» y «domain_ssl» para también modificar la URL por la nueva. Veremos la columna «physical_uri» desde donde podremos indicar una carpeta, en el caso que nuestra tienda no cargue en la raíz de nuestro dominio/subdominio. Por ejemplo, si nuestra tienda carga en «www.eldominioquequiero.com/tienda», en esta columna indicariamos «/tienda».

Desactivar el modo mantenimiento

En este punto, la tienda online ya estaría migrada y nos faltaría abrirla de forma pública a los visitantes. Uno de los primeros pasos ha sido activar el modo mantenimiento para evitar que nuestros clientes realizasen algunas gestiones en nuestra tienda y que estas gestiones no fueran migradas. Ahora que ya tenemos la tienda online en el nuevo hosting, podemos desactivar el modo mantenimiento.

Al realizar este proceso, es posible que algunos enlaces no funcionen correctamente. Para ello, desde «Parámetros de la tienda«, en el menú de «Tráfico & SEO» desactiva la opción de «URL amigable» del apartado de «Configuración de URLs» y guarda los cambios. Tras esto, vuelve a activarlo y guarda nuevamente los cambios. Comprueba que todo se encuentre en orden en las diferentes secciones de la web.

Sección en la configuración sobre las urls amigables

¿Buscas un hosting para tu Prestashop?

Consulta todos nuestros planes