WordPress - Changing the Site URL and Home Settings
If you need to migrate your WordPress website, or change the location of your WordPress installation it's good to keep in mind how WordPress keeps track of itself via the WordPress Address and Site Address settings.
WordPress WP_HOME and WP_SITEURL settings
There are 2 WordPress options that you can adjust to change the behavior of how WordPress works.
- WordPress Address / WP_HOME The address where your WordPress core files reside.
- Site Address / WP_SITEURL The address typed in a browser to reach your WordPress blog.
|WordPress Address / WP_HOME||Site Address / WP_SITEURL|
As you can see from the example above, I have my WordPress core files stored inside my /public_html/wp directory so that they aren't clogging up my root directory.
However I still want people just to type in http://example.com to get to my WordPress site, so I've left that set as my Site Address so WordPress knows this is what I want displayed instead of the core files location.
This is just one example of what can be done with WordPress URL settings. You might also need to modify these settings after moving your WordPress website to a new server, or testing a new structure for your website.
Change WordPress address with wp-config.php file
The easiest way to modify your WordPress URLs is via the wp-config.php file. If you've moved your WordPress site or are trying to test it from a temporary URL, this also might be the only method that works for you.
- Edit your wp-config.php file.
- Define your WP_HOME and WP_SITEURL settings by inserting these lines towars the top:
define('WP_HOME','http://yourdomain.com'); define('WP_SITEURL','http://yourdomain.com'); // ** MySQL settings - You can get this info from your web host ** //
Change WordPress address in admin dashboard
You can also adjust your WordPress URL settings directly from the admin dashboard. This method will typically work if you haven't moved your WordPress installation and aren't having any issues access it.
- Login to WordPress admin dashboard
- Click on Settings >> General
- Fill in your WordPress Address and Site Address and click Save.
Change WordPress address directly in the Database
You can also diretly modify your WordPress URL settings in the WordPress database using the phpMyAdmin tool.
- Backup your database in cPanel prior to making changes.
- Use phpMyAdmin to manage your WordPress database.
- Select your WordPress database from the left.
- Then select your wp_options table.
Your wp_ prefix may differ depending on your install settings.
- Click Edit beside either the siteurl or home entries.
- Enter in your new value in the option_valuie field, then click Go
Detect and change WordPress address with RELOCATE
If you're having issues accessing your WordPress dashboard, you can have WordPress automatically try to figure out what the correct WordPress Address should be using the RELOCATE flag in your wp-config.php file.
- Edit your wp-config.php file.
- At the top of the file add a define('RELOCATE',true); line:
define('RELOCATE',true); // ** MySQL settings - You can get this info from your web host ** //
- Now visit your http://example.com/wp/wp-login.php page in your web browser.
Be sure to type in the path of your WordPress core files before wp-login.php
- Log into your WordPress dashboard as you would normally.
- If you navigate to Settings >> General, you should now see that WordPress has automatically populated the WordPress Address (URL) field for you, with the path to your WordPress files.
We value your feedback!
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
2013-06-06 1:25 pm
I would like my display URL to read www.example.com, not example.com. I've changed this in the past, in the General Settings, and my website went away with errors everywhere. All I did was add the "www" to the beginning of each. I couldn't even load the login page. So I'm reluctant to mess with these setting again.
Even with your explanations here, I'm still not sure how these 2 setting work or what their real purposes are. There are two setting WordPress URL and Site URL, you referred to a "Home" URL... is this a third option or is Home the same as WordPress?
Also, If I change these two settings and my site crashes again, do I recover by editing the the wp-config file, or the functions.php file?
I know this shouldn't be this difficult, I just want to add the WWW. Thanks for your help.
2013-06-06 1:48 pm
Sorry to hear that you're confused and having problems with this issue. I looked it up through the Wordpress.org Forums and found this suggestion:
1) Login to the Wordpress Administrator
2) Click on SETTINGS
3) Click on GENERAL
4) The forum post I read suggests that BOTH of those URLs should be set to use WWW.
Here's the link to the post if you need it: Force WWW in WordPress.
I hope this answers your question! Please let us know if you require any further assistance.
2014-04-13 1:54 am
I have having problem connecting to my admin loginon wordpress, I tried the step above, but I was redirected to my home page instead of my login page
2014-04-14 9:06 am
Take a look at the address bar. Did it redirect to another domain from before you changed the site URL?
2014-04-14 2:33 pm
I follow the step above, the issue has been fixed, All I had to do was just to wait for sometime, the wordpress login page was overided with the site login page. All is working fine. Thanks for the help
2014-04-17 1:31 pm
I built a test website using an extension :
now I want to move the extension "test" to Website.com
I want the contain of website.com to be what I build under "test"
2014-04-17 5:05 pm
Hello Rausty, and thanks for the comment.
You would have two options in order to move WordPress from a subfolder such as example.com/test to just example.com.
You can either move all of your files from the /test directory up one level to your main site's document root. This is the recommended method to ensure that everything with WordPress continues to function properly.
Or you can also just tell WordPress to utilize the files in the /test directory and just copy over 2 WordPress files if you'd like to keep your document root clear of all the WordPress files. This can complicate matters a bit, but you just have to keep in mind when trying to access things like /wp-admin to login to WordPress, you'd still need to use example.com/test/wp-admin.
The first option of simply moving your entire WordPress site from a subfolder to your document root could be completed with these steps:
The second option of making your WordPress site accessible from just the document root of your website, while still retaining the bulk of the WordPress files in a /test folder. Could be setup following these steps:
Please let us know if you had any further questions at all.