Website Migration Guides

A simple free resource for website migration

Migrate Concrete5 Version 8 to a new host / server

This guide will take you through all the steps required to migrate a Concrete5 8+ website to a new server/hosting company. It has been written so that anyone can follow it (no matter what your technical experience). However, due to this it is quite long (since it lists virtually every step on migrating Concrete5 version 8+ with images) but if you are familiar with web hosting then you will likely be able to skip a lot of the details.

Please note, this guide assumes your Concrete5 version 8 website is running off the domain (e.g., which is the most popular setup) and not a sub domain (e.g. If you are running off a sub domain, you can still follow this guide but you will need to make sure you set up the sub domain on the new hosting first and upload the files into the required structure.

Ok, so let's gets started

Turn off caching and clear cache.

Concrete5 caches sections of your website to help speed up the load time for the user. However, when moving to a new host, these files are not required and can cause issues if they are copied over.

Open your Concrete5 admin and click the dashboard icon in the top left to reveal your dashboard menu.

concrete5 dashboard icon

In the popout menu, click the "system & settings" link.

system and settings

This should now bring up your system and settings page. Under "Optimisation", click the "Cache & Speed Settings" link.

cache and speed settings

Next set Block Cache, Theme CSS Cache, Compress LESS Output, CSS and JavaScript Cache, Overrides Cache and Full Page Caching all to "Off".

concrete5 caching off

Then click the "Save" button.

Now you need to clear the current Concrete 5 cache. To do this, click the dashboard icon again.

concrete5 dashboard icon

Then click the click the "System & Settings" link.

system and settings

Under "Optimisation" you should see a "Clear Cache" link. Click this to load the Clear Cache page.

Clear cache in concrete 5

Next tick the "clear cached thumbnails" box and then click the "Clear Cache" button.

clear cache button

Back up your Concrete5 version 8.x files/folders

Now that the cache is clear, the next step is to take a full back up of your website. In this guide we will show you how to do this using FTP. Whilst many hosting companies do offer a 1 click backup solution, virtually every hosting company offers FTP.

Before you proceed, create a new folder on your computer so that you have somewhere to store the backup. In this guide, we will call this folder "Concrete5 version 8 backup" but you can call it anything you like.

To use FTP you will need a FTP client. There are many FTP clients online (some free, some require payment) but a good popular free client is FileZilla. This can be downloaded from

As this is one of the most popular free FTP clients, it is the one we will use in this guide.

Once you have downloaded FileZilla, you will need your current host's FTP login details. These include:

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

These can usually be found in your hosting control panel but if not, copy and paste the below into an e-mail to your current host.

Hello, can you please confirm my FTP login details including the FTP host, username, password and port?

Once you have these details, open up your FTP client and enter the connection details in the box at the top. Then click Quickconnect.

ftp login details

Once connected, find your "Concrete5 version 8 backup" folder on your computer using the left pane and open it.

Concrete5 version 8 backup folder

Next on the right hand pane, locate your public folder. This is usually called htdocs or public_html. If you do not see either of these, contact your host and ask them what the name of your public folder is.

Once you have located the folder, open it up.

public_html folder

Once opened, you should see your concrete 5 version 8 files and folders. If you are in the correct location, you should see folders such as "application", "concrete" and files such as "index.php" and composer.json".

concrete5 version 8 files / folders

Select all of the files and folders then right click on them and select "download".

download concrete5

You should now see the files and folders downloading at the bottom.

downloading concrete5 backup

Leave your FTP client to complete the downloads and make sure all the files have been downloaded correctly. If any files have been missed or failed, they will show up in the "failed transfers" tab. If they do, re-set them to download again and process the queue.

Back up your Concrete5 version 8.x database

Now that you have a back up of your Concrete5 website files/folders, you will need to take a backup of the database (this is where all your page text plus various other vital information is stored). To back up the database, you can use PhpMyAdmin. This is a web based admin for managing MySQL databases. Virtually all hosts offer PhpMyAdmin (which is why we will use it in this guide). Usually this can be found in your hosting control panel (under a databases section) but if not, ask your host how to access it.

Once you have located PhpMyAdmin, open it up and if your Concrete5 database is not already selected, click it from the menu on the left.

concrete5 database

Tip : If you do not know the name of your Concrete5 database, open up the file "application\config\database.php" in your "Concrete5 version 8 backup" folder and look at the line "'database' => 'YYY',". The YYY will be the name of your database.

Once your database is loaded, click the "Export" tab at the top of the screen.

export concrete5 database

Then click the "Go" button and save the file to your computer.

Go export

Tip : We would also suggest exporting a compressed version of your database. This is usually quicker to restore later on and may be required if your database is large. To do this, click the "Custom - display all possible options" radio button, next to "Compression" select "zipped" from the dropdown. Then click the "go" button.

Restore your database on your new host

Now that you have a backup of your Concrete5 files/folders and database, the next step is to start restoring them on to your new hosting.

On your new host, create a new MySQL database. If you are unsure how to setup a database, contact your new host (or check out our additional non CMS related guides for steps on doing this with the most popular control panels).

When you create a new database, make a note of the following:

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

Once you have set up a new database, open this up in PhpMyAdmin. If the database is not already opened by default, select it from the menu on the left.

new database

Click the "import" tab at the top.

import database tab

Under the "File to Import" section, click the "Choose File" button and select the MySQL database back up you made earlier.

Choose File

Then click the 'Go' button.

go button

Once complete, you should see a green message appear stating "Import has been successfully finished.."

 Import has been successfully finished

Edit application\config\database.php in your back up.

Before you can upload the Concrete5 files/folders from your "Concrete5 version 8 backup" folder, you will need to edit the database.php file. This file contains the MySQL database connection information required for Concrete5 to communicate with your new database. At the moment, this will still have your old database connection details and as such if you uploaded it now, it would still try to communicate with your old hosting.

To correct this, open your "Concrete5 version 8 backup" folder and then open the "application" folder.

concrete5 application folder

Then open the "config" folder.

config folder

You should now see a file called "database" (the ".php" extension may be hidden on a Windows system). Open this file using 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 will now need to replace some text in this file with your new database details.

Locate the line:

'server' => 'AAAAAA',

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

Locate the line:

'database' => 'BBBBBB',

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

Locate the line:

'username' => 'CCCCCC',

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

Finally, locate the line:

'password' => 'DDDDDD',

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

Then save the file.

Upload your Concrete5 backed up files/folders

Now that you have a restored database and a correct application\config\database.php file, you can upload your backed up concrete5 files/folders to your new hosting.

Again, in this guide we will explain how to do this using FTP.

Contact your new host and ask them for the FTP connection details. These include:

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

Usually the FTP details can be found in your hosting welcome e-mail or your hosting control panel.

Once you have these, open up FileZilla and enter your connection details into the boxes at the top, then click "Quickconnect".

ftp new host connect

Once connected, open up your "Concrete5 version 8 backup" folder in the left pane.

Concrete5 version 8 backup

Then open your hosting's public folder on the right. This is usually called htdocs or public_html.

concrete5 public_html

Select all the files in the "Concrete5 version 8 backup" folder, right click on them and click "upload".

upload concreet 5

You should now see your Concrete5 files and folders being uploaded at the bottom.

uploading files

Once all the files have been uploaded (make sure to check the "failed transfers tab"), you can close FileZilla.

Update nameservers

That's it, all that's left is for you to update the nameservers on the domain with your registrar to point to your new hosting. This step can vary depending on the registrar you use but in brief you do the following:

1) Contact your new host and ask them for their nameservers.
2) Contact your registrar (The company you purchased/renew the domain with) and ask them to update the nameservers on your domain to the ones your new host provided.


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

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.