Migrar Prestashop 1.6 o posteriores

Hola, me llegan correos de gente preguntándome como poder migrar su tienda online, es decir, su prestashop, creo que hay muchas dudas de como hacerlo, pero decir que migrar prestashop, es fácil y aquí os lo voy a explicar. A mi cuando empece con prestashop también me causo dolor de cabeza, migrar prestashop, pero bueno es como todo cuando ya lo sabes hacer es mucho mas fácil las siguientes veces. Así que sin mas os explicare paso a paso como migrar un prestashop de local a servidor o migrar un prestashop de servidor a local, También explicare en el caso de que sea un prestashop multienda a migrar prestashop multitienda.

Tutorial migrar Prestashop

En este tutorial haré una migración de un prestashop 1.6, pero este tutorial  funciona perfectamente para migrar prestashop mas antiguos, sin ningún problema, ya que por ejemplo la estructura de base de datos en prestashop 1.5 y el 1.6 es exactamente la misma, por lo tanto migrar prestashop 1.5 y 1.6 es exactamente lo mismo.

Primero de todo, nos dirigimos a nuestro ftp y copiamos todos los archivos del Prestashop para migrarlos. Después de haber pasado todos los archivos (podría tardar unos minutos, dependiendo de la dimensión de tu tienda), nos dirigimos a la carpeta config  de nuestra raíz de Prestashop y a continuación buscamos el archivo settings.inc.php.

En el archivo settings.inc.php  tenemos que añadir los campos específicos para conectar a la nueva base de datos, es decir el nombre de la base de datos, el usuario, pasword… Aquí os dejo una imagen donde explica mejor como editarlo, podéis darle click y podréis verlo en pantalla completa.

migrar prestashop 1.6

Aquí os dejo también todo los detalles de cada define del archivo settings.inc.php

define(‘_DB_SERVER_’, ‘dominioservidor.com’); Es la dirección de nuestro servidor donde queremos migrar prestashop .

define(‘_DB_NAME_’, ‘prestashop’); El nombre de la base de datos del nuevo servidor.

define(‘_DB_USER_’, ‘user’); El nombre de usuario de la base de datos.

define(‘_DB_PASSWD_’, ‘pass’); La contraseña del usuario de la base de datos.

Una vez  terminado con este archivo, exportamos la base de datos del antiguo Prestashop.

 

Aquí hay dos maneras de migrar prestashop, (la primera forma no la recomiendo, pero también funciona) la primera que voy a explicar es la que utilizaba siempre, cuando las tiendas que migraba eran pequeñas, Abrir el archivo exportado, es decir el .sql y buscaríamos dos campos que son el PS_SHOP_DOMAIN y el PS_SHOP_DOMAIN_SSL.

migrar prestashop

Como podéis ver en la imagen (pulsar para ampliar) lo que he hecho yo es buscar  PS_SHOP_DOMAIN, el dominio que esta en azul subrayado lo sustituyo por el sitio nuevo. Con el siguiente campo haríamos lo mismo. Y ahora solamente tenemos que ir a nuestro mysql y importar el archivo.

La otra forma que es la que actualmente utilizo para migrar prestashop, para mi es mejor, no tienes que estar toqueteando el .sql. Lo unico que deberíamos hacer es importar la base de datos mysql en el nuevo servidor o donde quieres migrar prestashop.

Ahora ya podemos entrar al panel de administración (con la mismo carpeta de administración que estaba en local) y el mismo usuario de local.

Vamos a Preferencias -> SEO y URLsy buscamos el apartado Establecer enlace de la tienda.

Luego, reemplazamos (Dominio de tienda y Dominio SSL  pos su nuevo dominio (newdomain.com).

 

Migrar Prestashop de servidor a localhost

Hay casos que queréis migrar prestashop de un servidor a localhost, entonces tendrías que ponerlos como en la imagen inferior

migrar prestashop a otro servidor

localhost en el dominio de la tienda y en el SSL y el directorio raíz pones la carpeta donde esta alojado prestashop y ya tendrías hecha la migración de tu prestashop a local.

 

Migrar Prestashop multitienda

Migrar Prestashop multitienda es parecido pero en vez de irte a seo y url’s, vamos a parametros avanzados-> multitienda, vamos a la tienda en concreto y cambiamos las url el domain y el ssl, y así con el resto de tiendas.

si fuera el caso de querer exportar una multitienda a localhost, tendríais que añadir el prefijo /prestashop1.5/. En mi caso las tiendas, solamente se diferenciaban por localhost/prestashop1.5/es y la otra localhost/prestashop1.5/en entonces solo tenia que borrar localhost del ssl y domain y poner el dominio actual y en directorio raíz poner solo /.

Después de esto tenéis que regenerar el htacces para ello, vamos a SEO & URLs y cambiamos rutas amigables a si o no depende como lo tengáis y con esto regeneraremos el htacces.
Actualización: puede ocurrir que la multitienda en el otro idioma no funcione, es debido a que las rutas amigables no están activadas, yo las he activado y me ha funcionado sin ningún problema.

Si necesitáis mas información respecto a Prestashop aquí o aquí

Si necesitáis ayuda con migrar Prestashop, comentar y sin ningún compromiso os ayudaré para poder migrar prestashop.

Saludos y espero que os haya servido de ayuda y podáis migrar prestashop.

pd: si sabéis de alguna mejor manera de migrar prestashop, no dudéis a comentar.

 

 

Summary
Review Date
Author Rating
51star1star1star1star1star

Comentarios:

  1. Raúl Garcia

    Muchas gracias por el tutorial sobre como migrar prestashop.
    Me ha servido de ayuda para poder migrar mi tienda de prestashop 1.5, ya que estos pasos también funcionan.
    Sigue así! Muy buena pagina.
    Saludos:)

    Responder
    1. David Gutiérrez Autor

      Muchas gracias Raúl por tu comentario, me alegro que te haya servido para migrar prestashop 1.5, siempre es de agradecer estas publicaciones, ya que son motivadoras para seguir escribiendo.

      Saludos

      Responder
  2. mallen gonzalez

    primero que todo muchas gracias por el tutorial,
    -solo una consulta ¿que consideraciones debo tener si deseo traerla desde el hosting a una replica a localhost?

    he seguido otras guias, y no me funcado correctamente.
    de todas formas intentare con la edicion del sql que mencionas.
    muchas gracias

    Responder
    1. David Gutiérrez Autor

      Recientemente he encontrado una manera mas fácil de migrar prestashop 1.6. He actualización el articulo para que resulte mas fácil migrar prestashop, y he incluido un apartado donde migrar prestashop de servidor a localhost, espero que te funcione.

      Saludos.

      Responder
  3. Netcom

    Buen día, he estado trabajando en Prestaashop en mi computadora en localhost, he terminado y lo pase a mi hosting, hice lo que se tenía que hacer para migrar prestashop que seria.

    Acceder a la carpeta /config y edita el archivo settings.inc.php. y poner en las líneas

    define(‘_DB_SERVER_’, ‘localhost’);
    define(‘_DB_NAME_’, ‘xxxxxxxxxx);
    define(‘_DB_USER_’, ‘xxxxxxxxxx’);
    define(‘_DB_PASSWD_’, ‘xxxxxxxxxxxxxxxxxx’);
    define(‘_DB_PREFIX_’, ‘ps_’);

    Cambiar los valores al de mi hosting. LISTO

    También se hizo lo siguiente:

    Editar los registros PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL por el ahora dominio donde estarán alojados en el hosting, aquí probé poniendo antes del dominio http:// y www. o ambos juntos (http://www.), con www. no me funciono la tienda, ambos tampoco, si no le pondo nada más que el dominio si abre la página pero no carga las imagines de los productos, y le pongo http:// abre la página y carga todo bien (imágenes ilustraciones de productos y pagina).

    Pero hay un problema al momento de irme a la ruta del backend o panel de administración después de logearme me regresa a la página de la tienda principal o frontend con un mensaje de error 404 en el cuerpo de la página.

    También edite la table ps_shop_url donde los campos domain le puse el dominio .com de mi tienda al igual en el campo domain_ssl y en el campo phsycal_uri puse “/” ya que todo va estar en la raíz del dominio y no en una carpeta dentro del dominio.

    También corrobore que en el nuevo hsoting se tengan los privilegios que piden.

    • Archivos con permisos 644.
    • Carpetas con permisos 755.

    Tambein iva a vaciar el cache en la carpeta /tools/smarty/compile y /tools/smarty/cache

    Pero estos aun no existen en prestashop 1.6 no se si porque está recién creada la página en mi localhost PC, por lo que pues no vacié carpeta ya que no existen.

    Cheque en la BD la tabla ps_pagenotfound y esta no tiene valores aun, aunque algunos dicen que cuando se instala con algún cpanel o de manera limpia desde la web se crea en el campo request_uri se llena con el dto /admin que es la carpeta default del panel de administración de prestashop y en el campo http_refer la ruta del dominio donde está la carpeta INSTALL/index.php pero en mi prestashop pues no aparece nada de eso la table ps_pagenotfound está limpia.

    Mi pregunta entonces es.
    ¿Se hizo bien la migración en prestashop 1.6?
    ¿Por qué no puedo entrar al panel de administración de prestshop 1.6?
    ¿Están bien todos los valores, ya que si cambio algún valor?

    Responder
    1. David Gutiérrez Autor

      Hola Netcom,

      Para migrar prestashop de local a servidor, lo que realizo es copiar todos los archivos y subirlos al hosting, como tu bien dices modifico el archivo settings.inc.php con los datos correctos, ahora voy a mi phpmyadmin y copio exactamente igual la base de datos de local a servidor. Ahora mismo si pones la url de tu panel de administración ya te funcionara el panel de administración ahora solamente te tienes que redirigir a seo y urls y vamos al apartado Establecer enlace de la tienda y alli modificamos el dominio de la tienda, en un principio estos dos campos son los que tocan los registros ps_shop_domain y ps_shop_domain_ssl, yo es todo lo que he realizado siempre y sin ningún problema, si no le consiguiera podría ayudarle a migrar prestashop.

      Espero que le sea de ayuda.

      Responder
      1. David Gutiérrez Autor

        Exactamente, no se cual es el problema, en principio migrar prestashop, no ha habido ningún problema. Puede ser por el htacces, que tengas una redirección o otro problema. Al no tener los archivos no puedo ayudarte, pero volvería hacer los pasos de nuevo, que te he comentado anteriormente, por si fuera algún problema tonto de haberte dejado algo. Si no te funcionara migrar prestashop dime algo y miramos la manera que pueda ayudarte.

        Saludos.

        Responder
  4. Jorge Cantin

    Hola David y gracias por tu auda y tu trabajo.

    En mi caso no era una migracion sino que queria mover mi tienda de un directorio al raiz. Los pasos son muy parecidoa a los que has puesto en el tutorial:

    1- Mover los archivos del directorio /prestashop/ al raiz /. Despues he borrado el directorio prestashop ya vació. 2- Cambiar en la base de datos en la tabla ps_shop_url el campo physical_uri de /prestashop/ a / y comprobar que el PS_SHOP_DOMAIN y el PS_SHOP_DOMAIN_SSL. estaban apuntando a mi web http://www.pizzabelle.es. 3- Borrar la cache de prestashop (borrando los archivos de /cache/smarty/compile. 4- He cambiado en el back office en SEO+URLs la dirección del raíz de /prestashop/ a /.

    La cosa es que si intento acceder a mi tienda escribiendo en el navegador mi dominio, aparece la pagina en blanco, no carga nada, incluso que si intento acceder a mi tienda desde la pestaña “mi tienda” del back office se queda tambien en blanco .

    Mi version de prestashop es la 1.6 y el dominio es http://www.pizzabelle.es
    A ver si me puedes echar una mano. Muchas gracias y un saludo

    Responder
    1. David Gutiérrez Autor

      Hola Jorge,
      Si la verdad es que es parecido la migrar prestashop de una carpeta a otra, que la migración que he explicado.
      Puedes activar el modo debug, así en la pantalla blanca te saldrá algún error y podemos ver lo que pasa. También regenera el htaccess que si no lo has generado pueda estar dando problemas.

      Saludos y muchas gracias por comentar.

      Responder
  5. Joaquin

    Hola. Ante todo gracias por tus aportaciones.

    Tengo el siguiente problema. Hemos actualizado una tienda a multitienda la cual ya posee los productos, los cuales hereda de la tienda principal, aparte de su diseño y funcionalidad de los módulos. La tienda está ya completamente funcional y solo nos queda un último punto para ponerla en producción: los clientes.

    La antigua tienda ya tiene unos 500 clientes registrados los cuales no queremos incomodarlos teniendo que volver a registrarse. No nos importan los mensajes ni los pedidos anteriores. Lo único que queremos es migrar los clientes y que estos no tengan problemas con su contraseña.

    Hemos intentado hacer una exportación/importación desde el backoffice de nuestros clientes pero esa mierda no funciona. Aparte hemos visto un tutorial que explica como migrar los clientes desde PHPMyAdmin el cual te dice las tablas implicadas, pero tenemos el inconveniente de que estamos hablando de multitienda y por lo tanto las tablas implicadas cambian y no queremos meter la pata.

    En fin, a ver si puedes ayudarnos y darnos un poco de luz por favor.

    Muchísimas gracias de antemano.

    Responder
    1. David Gutiérrez Autor

      Hola Joaquin,

      Perdona por tardar no lo había visto.
      Prueba a migrar las tablas que te comentan en el post, lo que todas las contraseñas llevan encriptación md5, deberías copiar la cookie key si no me equivoco, la encuentras en config/settings.inc.php, ese número debería coincidir con el de la web antigua para que se desencripten bien las contraseñas antiguas, sólo sería migrar las tablas y ya lo tendrías.

      Saludos.

      Responder
  6. Pedro

    Hola David

    Me puedes ayudar tenemos comprado un servidor propio, y quería copiar mi pagina prestashop a nuestro servidor propio.

    Me puedes echar una mano para hacerlo, aunque te tuviera que pagar.

    Saludos Pedro

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada.