This article will take you through the process of moving your WordPress website from the subfolderyourdomain.com/wp to the domain root – yourdomain.com:
for cPanel paper_lantern theme
for cPanel x3 theme
for cPanel paper_lantern theme: Re-installation edirection
File migration and Database update
Re-installation
If you just installed your website and have done no or little development, WordPress re-installation will be the easiest way out.
You just need to go back to cPanel > Softaculous Apps Installer menu:
Create a new one, make sure the In Directory field is empty and proceed with the installation:
Do not forget to uninstall /subfolder website by hitting the red cross in All Installations menu:
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 (replacingyourdomain.com with your actual domain name and subfolder with your subfolder):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?yourdomain.com$
RewriteCond %{REQUEST_URI} !(/|\.[^/]*)$
RewriteRule (.*) http://www.yourdomain.com/$1/ [L,R=301]
RewriteCond %{HTTP_HOST} ^(www\.)?yourdomain.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteRule ^(.*)$ /subfolder/$1
1. Navigateto Files section > File Manager:
2. Move to the root folder for your WordPress installation – public_html in case it is the main domain for your account.
Once there, make sure that Show Hidden files (dotfiles) option is enabled in Settings menu:
< br>
3. Locate .htaccess file, right-click > Edit:
4. If there is no .htaccess file located in your File manager, feel free to create a new one using File option:
You are ready to add the redirect rule and save it.
File migration and Database update
If the option above does not work for you, and you would like to make sure there is no /subfolder on your website, you can go this way.
1. File migration
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_subfolderto 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:
Re-installation
Redirection
File migration and Database update
If you just installed your website and have done no or little development, WordPress re-installation will be the easiest way out.
You just need to go back to cPanel > Software/Services section > Softaculous > WordPress, make sure the In Directory field is empty and proceed with the installation.
Do not forget to uninstall the /wp website in Softaculous once done:
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 (replacingyourdomain.com with your actual domain name and wp with your subfolder)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?yourdomain.com$
RewriteCond %{REQUEST_URI} !(/|\.[^/]*)$
RewriteRule (.*) http://www.yourdomain.com/$1/ [L,R=301]
RewriteCond %{HTTP_HOST} ^(www\.)?yourdomain.com$
RewriteCond %{REQUEST_URI} !^/wp/
RewriteRule ^(.*)$ /wp/$1
File migration and Database update
If the variants above do not work for you, and you would like to make sure there is no /wp on your website, you can go with this option.
We highly recommend to back up website files and the database before proceeding.
1. File migration
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 topublic_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.
Once opened, click Ctrl+F and choose the tab Replace. Fill out the fields below correspondingly > Replace All:
Go back to your website and refresh the page to check the results:
That’s it!