NOTE: Before proceeding with any changes, make sure that you generate a full backup of your website. If you've created your site using Softaculous script installer, feel free to refer to this guide as well (step #4 – Backup software).
If the website is pretty much done and re-installation is not acceptable, you can set up a hidden redirect – the installation will remain in the subfolder, but your website homepage will be yourdomain.com.
Take into account that this redirect will make /subfolder disappear only on the homepage, links will still have it – e.g., yourdomain.com/subfolder/contactus.
If it sounds alright to you, add the following redirect to .htaccess file in the domain web root (replacing yourdomain.com with your actual domain name and subfolder with your subfolder):
Go to your website folder using FTP or File Manager:
Select All files > Move them to the domain document root (in our example, from public_html/wp_subfolder to public_html):
Once done, go back to the domain document root to make sure all files have been moved:
2. Database update
You can update old URL references with the new ones in the database either using search and replace scripts or using text editors. Below we provide the guidelines using the latter:
1. To begin with, you will need to locate the database associated with your website. Right-click on the file > View or Edit option:
You will see the database name in this line:
3. The next steps is to download the backup of the database. It can be done in your cPanel > Files section > Backup menu:
4. Unzip the downloaded file. Now you can open .sql file with some text editor and update all the URL references.
Hit Ctrl + F and select Replace option. Fill out the corresponding fields, Find – your old domain, Replace – your new domain) and hit Replace All:
5. Once done, you should get the output like this:
Make sure that you save the changes.
6. Now you can upload the updated database to your cPanel account. To be on the safe side, we suggest creating a new database (instead of dropping the existing one) and connect it to your WordPress side.
To do so, move to Databases section > MySQL Databases menu:
7. Follow the steps below to create a new database and user for it:
Keep these details, you will need to use them a bit later.
8. After that you can upload the database using phpMyAdmin menu in Databases section:
9. Select the newly created database from the list on the left and use switch to Import tab. There you will need to use Browse option to pick up the database .sql file from your local device:
NOTE: If your database is more than 50Mb, import the database following the steps in this guide.
10. Once done, you will need to update wp-config.php file in your installation root folder:
The fields to be changed are:
define 'DB_NAME' line – the name of the new database you've created in MySQL Databases menu.
define 'DB_USER' line – the name of the new user you you've created in MySQL Databases menu.
define 'DB_PASSWORD' line – the new password you've set for database user in MySQL Databases menu.
Save the changes and feel free to check your website.
If everything is working fine, you may delete the old database you used for the website.
11. It is also advised to re-generate the permalinks to make sure they have the new URL. You can do it in your WordPress dashboard in Settings menu > Permalinks.
So if you had Post name, you need to switch it to Plain, for instance, save the changes and then revert everything back:
If the website is pretty much done and re-installation is not acceptable, you can set up a hidden redirect – the installation will remain in the /wp subfolder, but your website homepage will be yourdomain.com.
Take into account that this redirect will make /wp disappear only on the homepage, links will still have it – e.g., yourdomain.com/wp/contactus.
If it sounds alright to you, add the following redirect to the .htaccess file in the domain web root (replacing yourdomain.com with your actual domain name and wp with your subfolder)