Website Migration Guides

A simple free resource for website migration

How to migrate PrestaShop 1.7+ to a new server

Quick Guide Steps

Below are the basic steps. Full detailed steps are listed further down the page.

  1. Backup your PrestaShop site's files/folders.
  2. Backup your PrestaShop database.
  3. Put site into maintenance mode.
  4. Create a new database on your new host and import your PrestaShop database backup.
  5. Upload your PrestaShop site's files and folders to the new host.
  6. Update app/config/parameters.php to reflect the new database connection details.
  7. Update nameservers on domain to point to new host.

prestashop Detailed Guide

If you would like to migrate Prestashop 1.7 to a new server then you are in the right place. This is a complete step by step guide on migrating PrestaShop to a new host. Whilst most guides online assume you have experience moving a PrestaShop site, this guide will list every step in detail so even a PrestaShop 'newbie' can move from their current host to a new one.

Ok, let's begin.

Back up

Before you do anything, the first step is to back up your PrestaShop website. Often hosting companies will provide a 1 click backup feature and whilst these are great, this guide will use the 'old fashioned' tried and tested methods using FTP and PhpMyAdmin (don't worry if you don't know what these are). The reason for this is virtually every host offers FTP and PhpMyAdmin access and it's very unlikely that anything could go wrong using this method.

Backing up your PrestaShop files

To back up your PrestaShop files / folders, you will require a FTP client. There are many FTP clients available online but in this guide we will be using FileZilla as it's free and opensource.

You can download FileZilla free from https://filezilla-project.org

Whilst you are intalling FileZilla, contact your current host and ask them for the following information:

1. Your FTP host
2. Your FTP username
3. Your FTP password
4. Your FTP port (this is usually 21).

Before continuing with this guide, create a new folder on your computer called 'old-host' and remember where it is. This is where you will be downloading the PrestaShop back up to.

Once you have installed FileZilla open it up and enter your FTP login information in the boxes at the top, then click the Quickconnect button.

PrestaShop FTP login

Once connected you should see a public folder on the right pane (under the remote site section). This will often be called public_html or htdocs. Open this folder.

public_html folder

Once opened, you should see your PrestaShop install. You can tell if you are in the right location by the files that are displayed. You should see folders called 'admin', 'app', 'bin' (plus many others) and files such as 'images.inc.php' and 'init.php'.

TIP : If you have your prestashop in a sub folder e.g. yourdomain.co.uk/shop, then you will need to open the 'shop' folder to load your prestashop site. When restoring the site in the second half of this guide, you will also need to re-create the 'shop' folder and restore the site into it.

prestashop file structure

In the left hand menu (local site), locate and open the 'old-host' folder that you made earlier.

prestashop backup folder

Next, select all your PrestaShop 1.7 files / folders in the right hand pane to turn them blue then right click on them and select 'download'.

download prestashop

You should now see the PrestaShop files / folders being downloaded at the bottom in the transfers box.

downloading prestashop backup

Once complete, you can close FileZilla.

TIP : If any files fail, they will show up in the failed transfers tab at the bottom. You can then simply re-add these to download again.

Backing up your PrestaShop database

To back up the database you will need to gain access to PhpMyAdmin. Virtually all hosts provide this access and usually it can be found in your hosting control panel. However, if you can't find it, ask your current host how to access it.

Once you have PhpMyAdmin open, you may need to click your database from the left (if it doesn't open automatically).

select prestashop database

You should now see a list of tables with names such as 'X_access', 'X_accessory' and 'X_address' (the X will vary and depends on how PrestaShop was installed.

prestashop database tables

Click the 'Export' tab at the top of PhpMyAdmin.

export prestashop database

You should now see the export database page. Scroll down and click the 'go' button then save the file it gives you to your computer.

Go export

You now have a back up of your PrestaShop database. If your database is large, you may wish to download it again in a zipped format (this will be quicker to import later). To do this, click the 'custom' button, next to 'Compression', select 'zipped' from the dropdown then click 'Go'.

Restoring your PrestaShop database on the new host.

Now that you have a backup of your database, you can start the process of restoring your PrestaShop 1.7 site on your new host. The first step is to restore the database. In order to do this you will need to set up a new database with your new host. Usually this can be done via the hosting control panel but if you have any issues, contact your host who should be able to help.

You will need to collect the following details from your new host.

1. The database host (usually localhost)
2. The database username
3. The database password.
4. The database name.

Once you have these, open your new database in PhpMyAdmin (again your host will be able to help you if you can not locate PhpMyAdmin with them) and if it has not already logged you into your new database, select it from the menu on the left.

select new prestashop database

Next, click the 'Import' button at the top.

import Prestashop database

Click the 'Choose File' button and select the database back up you downloaded earlier.

choose database file

Then click the 'Go' button at the bottom to start the PrestaShop database import.

go import database

Once complete, you should see a message displayed saying "Import has been successfully finished" in a green box.

Import has been successfully finished

That's it, you can now close PhpMyAdmin as your PrestaShop database has been restored.

Updating your Prestashop /app/config/parameters.php file

Now that you have restored your database, you will need to update your PrestaShop parameters.php file. This file tells PrestaShop the important database connection details. In your backup folder ('old host') you should see a folder called 'app'. Open this folder.

prestashop app folder

Now open the 'config' folder.

prestashop config folder

You should now see a file called 'parameters'. You will need to open this file with a plain text editor such as Notepad or notepad++.

Warning : Do not open it with a rich text editor such as WordPad or Microsoft Word as this will corrupt the file.

You now need to replace some text in this file with your new database details.

Locate the line:

'database_host' => 'CCCCCC',

(yours will have something other than CCCCCC) and update the CCCCCC to match your database host (usually 'localhost').

Locate the line:

'database_name' => 'DDDDDD',

(yours will have something other than DDDDDD) and update the DDDDDD to match your database name.

Locate the line:

'database_user' => 'EEEEEE',

(yours will have something other than EEEEEE) and update the EEEEEE to match your database username.

Locate the line:

'database_password' => 'FFFFFF',

(yours will have something other than FFFFFF) and update the FFFFFF to match your database password.

Once you have made the above changes, save the file and close it.

Uploading your PrestaShop backup (files/folders) to the new host.

As you now have a restored database and an updated parameters.php file, you can move onto the stage of uploading the PrestaShop files/folders to the new host.

You will need the following details from your new host.

1. FTP host
2. FTP username
3. FTP password
4. FTP port (usually 21).

Usually these can be found in your new host's control panel (and often in your new host's welcome e-mail). However, if you are unable to find them, ask your new host who will be able to provide these for you.

Open up FileZilla again and enter your new host's FTP details in the top, then click 'Quickconnect'.

new host ftp login

Once connected, open your new host's public folder (usually called public_html or htdocs).

public_html open

In the left hand pane, open your backup folder (old host).

prestashop backup old host

Select all of your PrestaShop 1.7 files/folders then right click and select 'Upload' (or drag them over into the public folder).

upload prestashop backup

You should now see the backup of your PrestaShop files being uploaded to the server.

uploading prestashop backup

Once all the files/folders have uploaded, you have fully restored your PrestaShop 1.7 site.

Tip : You can use the 'failed transfers' tab at the bottom to view any files that have not uploaded correctly.

Pointing your domain to the new hosting

At this point you should have a fully restored backup of your PrestaShop 1.7 site on your new hosting. All that is left is for you to tell the domain to look to the new hosting instead of the old one. To do this you will need to update either your domain's nameservers to your new host or the domain's DNS. Your new host will be able to provide these details and the company you purchased the domain name from will be able to set them up for you (you can often do this yourself via the domain control panel).

Due to the thousands of companies online who offer domain registration, it is not possible for us to show this step but if you google search for "your registrar+change nameservers" it will likely bring up your registrar's own guide on how to do this yourself.

Once you (or your registrar) has made the above change, it will take up to 24 hours for it to become active. Once it does, you should now see your restored prestashop site!

Common Problems

The first thing you should do if you get any error messages is to check if the app/config/parameters.php file has the correct database details.

Prestashop Admin white / blank page

If you have a blank page in your admin, using a FTP program, try renaming the public_html/var/cache/prod and public_html/var/cache/dev folders to public_html/var/cache/prod_OFFLINE and public_html/var/cache/dev_OFFLINE

PrestaShop Admin loads in debug mode but not in normal mode

This can be resolved using the same method as above (renaming the dev and prod folders).

Catalog Blank / White Page

This can occur in PrestaShop due to a variety of reasons but there will usually be an error in your host's logs (your host should be able to help you with this). Often this is a simple fix (e.g. changing the php version to match what your old host was using or increasing the host's 'memory_limit' setting).

Catalog looks strange / doesn't look correct

This can often be due to an old cache that is not loading correctly. Load up your PrestaShop admin area and go to Advanced Parameters > Performance, then click the "clear cache" button in the top right. Also, make sure to clear your own browser's cache (see https://www.refreshyourcache.com/en/home/ for details).

Comments

If this guide has helped you or if you feel it could be improved, please let us know in the comments below.

Can't reach admin panel after Moving PRESTASHOP 1.7+ TO A NEW HOST
Mon Apr 16 17:43:51 2018 · Like · Dislike · Total +2 · Reply
WMG: Do you have any errors in your error logs?
Thu May 3 02:55:45 2018 · Like · Dislike · Reply
WMA: After moving to new host, the site redirect me in localhost/prestashop, cache is clear, database in configures in parameters.php, i'm need to edit some files who respond for coockies and cache, but I don't know who is and where is that files, in Ps 1.5 is was setting.php but in 1.7 that file is deprecated. How to move prestashop 1.7 to new host is still active question for me. Thanks
Wed May 9 08:31:48 2018 · Like · Dislike · Total -1 · Reply
Olaf: I have moved my PS1.7 website to a new host, but can't login the backoffice. It's getting redirect to the old host. Any idea's?
Sat Jun 30 10:45:25 2018 · Like · Dislike · Total +1 · Reply
Dan: change the entrys in DB ps_configuration: PS_SHOP_DOMAIN , PS_SHOP_DOMAIN_SSL,
Fri Aug 24 09:48:42 2018 · Like · Dislike · Reply
Dan: and ps_shop_url
Fri Aug 24 09:51:31 2018 · Like · Dislike · Reply
Paul: Can't access admin panel after moving to new host. Keep getting http error. Can you Help?
Thu Apr 11 20:24:38 2019 · Like · Dislike · Reply
[lsapi:error] Backend fatal error: PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalErrorException: Compile Error: Declaration of AdminDashboardControllerCore::setMedia() must be compatible with AdminControllerCore::setMedia($isNewTheme = false) in /public_html/prestashop/controllers/admin/AdminDashboardController.php:539nStack trace:n#0 {main}nnNext LogicException: Request stack is empty in /public_html/prestashop/app/bootstrap.php.cache:3231nStack trace:n#0 [internal function]: Symfony\Component\HttpKernel\HttpKernel->terminateWithException(Object(Symfony\Component\Debug\Exception\FatalErrorException))n#1 /public_html/prestashop/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php(606): call_user_func(Array, Object(Symfony\Component\Debug\Exception\FatalErrorException))n#2 /public_html/prestashop/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php(668): Symfony\Component\Debug\ErrorHandler->handleException(Object(Symfony\Component\Debug\Exce in /public_html/prestashop/app/bootstrap.php.cache on line 3231n
Thu Apr 11 20:52:24 2019 · Like · Dislike · Reply
WMG: What version of PHP are you running? Try switching to 7 or 7.1 (not 7.2) and see if you get a different error
Fri Apr 12 00:04:14 2019 · Like · Dislike · Reply
Original host was 5.6. New host is 7.0. Changed the PHP on the new host to 5.6 but PS doesn't operate properly.
Fri Apr 12 00:29:59 2019 · Like · Dislike · Reply
WMG: Have you tried turning caching off in admin > performance? Also click clear cache at top and select force recompile
Fri Apr 12 12:39:32 2019 · Like · Dislike · Reply

Hi, did this site help you?

I'm John and this little website is my online side project. It isn't sponsored by any company and I rely solely on donations to pay the hosting fees. If this site has helped you please consider making a small donation using the link below.

Thanks again and happy surfing.