You are on page 1of 10

Moving WordPress « WordPress Codex 08/06/18, 17)29

Moving WordPress
Interested in functions, hooks, classes, or methods? Check out the new
WordPress Code Reference!

Languages: English • WordPress Français • Nederlands •


Português do Brasil • Русский • Slovenčina • ( ) • (Add your language)

Whether you are moving WordPress to a new server or to a different


location on your server, you don't need to reinstall. WordPress is flexible
enough to handle all of these situations.

If you are moving WordPress from one server to another, begin by backing
up your WordPress directory, images, plugins, and other files on your site
as well as the database. See WordPress Backups and Backing Up Your
Database.

Keeping Your Domain Name and URLs

Moving your domain without changing the Home and Site URLs of your
WordPress site is very simple, and in most cases can be done by moving
the files.

If database and URL remain the same, you can move by just copying
your files and database.
If database name or user changes, edit wp-config.php to have the
correct values.
If you want to test before you switch, you must temporarily change
"siteurl" and "home" in the database table "wp_options" (through
phpMyAdmin or similar).
If you had any kind of rewrites (permalinks) setup you must disable
.htaccess and reconfigure permalinks when it goes live.

https://codex.wordpress.org/Moving_WordPress Pagina 1 di 10
Moving WordPress « WordPress Codex 08/06/18, 17)29

Changing Your Domain Name and URLs

Moving a website and changing your domain name or URLs (i.e. from
http://example.com/site to http://example.com, or http://example.com to
http://example.net) requires the following steps - in sequence.

1. Download your existing site files.


2. Export your database - go into MySQL and export the database.
3. Move the backed up files and database into a new folder - somewhere
safe - this is your site backup.
4. Log in to the site you want to move and go to Settings > General, then
change the URLs. (ie from http://example.com/ to
http://example.net ) - save the settings and expect to see a 404 page.
5. Download your site files again.
6. Export the database again.
7. Edit wp-config.php with the new server's MySQL database name, user
and password.
8. Upload the files.
9. Import the database on the new server.

When your domain name or URLs change there are additional concerns.
The files and database can be moved, however references to the old
domain name or location will remain in the database, and that can cause
issues with links or theme display. This site highlights the MySQL
commands and respective tables needed to be search-replaced.

If you do a search and replace on your entire database to change the URLs,
you can cause issues with data serialization, due to the fact that some
themes and widgets store values with the length of your URL marked.
When this changes, things break. To avoid that serialization issue, you
have four options:

1. Use the Velvet Blues Update URLs plugin if you can access your WP
Admin Dashboard.
https://codex.wordpress.org/Moving_WordPress Pagina 2 di 10
Moving WordPress « WordPress Codex 08/06/18, 17)29

2. Use the Better Search Replace plugin if you can access your WP
Admin Dashboard.
3. Use WP-CLI's search-replace if your hosting provider (or you) have
installed WP-CLI.
4. Use the Search and Replace for WordPress Databases Script to safely
change all instances on your old domain or path to your new one. (**
only use this option if you are comfortable with database
administration ** )

Note: Search and Replace from Interconnectit is a 3rd party script

Moving Directories On Your Existing Server


Moving the WordPress files from one location on your server to another -
i.e. changing its URL - requires some special care. If you want to move
WordPress to its own folder, but have it run from the root of your domain,
please read Giving WordPress Its Own Directory for detailed instructions.

Here are the step-by-step instructions to move your WordPress site to a


new location on the same server:

1. Create the new location using one of these two options:


1. If you will be moving your WordPress core files to a new
directory, create the new directory.
2. If you want to move WordPress to your root directory, make sure
all index.php, .htaccess, and other files that might be copied over
are backed up and/or moved, and that the root directory is ready
for the new WordPress files.
2. Log in to your site.
3. Go to the Administration > Settings > General screen.
4. In the box for WordPress Address (URL): change the address to
the new location of your main WordPress core files.
5. In the box for Site Address (URL): change the address to the new
location, which should match the WordPress (your public site)
https://codex.wordpress.org/Moving_WordPress Pagina 3 di 10
Moving WordPress « WordPress Codex 08/06/18, 17)29

address.
6. Click Save Changes.
7. (Do not try to open/view your site now!)
8. Move your WordPress core files to the new location. This includes the
files found within the original directory, such as
http://example.com/wordpress, and all the sub-directories, to the
new location.
9. Now, try to open your site by going to yourdomain.com/wp-admin.
Note, you may need to go to yourdomain.com/wp-login.php
10. If you are using Permalinks, go to the Administration > Settings >
Permalinks screen and update your Permalink structure to your
.htaccess file, which should be in the same directory as the main
index.php file.
11. Existing image/media links uploaded media will refer to the old folder
and must be updated with the new location. You can do this with the
Velvet Blues Update URLs or Better Search Replace plugins, WP-CLI's
search-replace if your hosting provider (or you) have installed WP-
CLI, manually in your SQL database, or by using the 3rd party
database updating tool Search and Replace Databases Script * Note:
this script is best used by experienced developers.
12. In some cases your permissions may have changed, depending on
your ISP. Watch for any files with "0000" permissions and change
them back to "0644".
13. If your theme supports menus, links to your home page may still have
the old subdirectory embedded in them. Go to Appearance > Menus
and update them.
14. Sometimes you would need to restart your server, otherwise your
server may give out an error. (happens in MAMP software (Mac)).

It is important that you set the URI locations BEFORE you move the files.

If You Forget to Change the Locations

https://codex.wordpress.org/Moving_WordPress Pagina 4 di 10
Moving WordPress « WordPress Codex 08/06/18, 17)29

If you accidentally moved the files before you changed the URIs: you have
two options.

1. Suppose the files were originally in /path/to/old/ and you moved


them to /path/to/new before changing the URIs. The way to fix this
would be to make /path/to/old/ a symlink (for Windows users,
"symlink" is equivalent to "shortcut") to /path/to/new/, i.e. ln -s
/path/to/new /path/to/old and then follow the steps above as
normal. Afterwards, delete the symlink if you want.
2. If you forget to change the WordPress Address and Blog Address, you
will be unable to change it using the wordpress interface. However,
you can fix it if you have access to the database. Go to the database of
your site and find the wp_options table. This table stores all the
options that you can set in the interface. The WordPress Address and
Blog Address are stored as siteurl and home (the option_name field).
All you have to do is change the option_value field to the correct URL
for the records with option_name=’siteurl‘ or option_name=’home‘.

If You Have Accidentally Changed your WordPress


Site URL

Suppose you accidentally changed the URIs where you cannot


move the files (but can still access the login page, through a
redirection or something).

wp-login.php can be used to (re-)set the URIs. Find this line:

require( dirname(__FILE__) . '/wp-load.php' );

and insert the following lines below:

//FIXME: do comment/remove these hack lines. (once the database is


updated)

https://codex.wordpress.org/Moving_WordPress Pagina 5 di 10
Moving WordPress « WordPress Codex 08/06/18, 17)29

update_option('siteurl', 'http://your.domain.name/the/path' );
update_option('home', 'http://your.domain.name/the/path' );

You're done. Test your site to make sure that it works right. If the change
involves a new address for your site, make sure you let people know the
new address, and consider adding some redirection instructions in your
.htaccess file to guide visitors to the new location.

Changing The Site URL also provides the details of this process.

If Your WordPress Site Has a Customized


upload_path Value

It's possible, but unlikely, that the upload_path option value may be set on
some very old WordPress sites, or on sites where the designer needed to
customize this path. In this case, you should verify that the path is still
valid after the move, and adjust it as it needed. If an absolute rather than a
relative path was used, the path may be incorrect for use on the new server.
An incorrect upload path will result in problems with media uploads and
possible filesystem errors when WordPress attempts to create upload
directories on the wrong path. (See ticket ticket #41947.)

The upload_path option cannot be modified on the WordPress admin


settings screen, it must be edited in the options table in the database.

Normally, the upload_path value may be blank and WordPress will use the
default path. If the value is not blank and contains a value other than the
default upload location, you may need to do further research to determine
how to handle uploads on the site after the move.

Managing Your Old Site


Shutting It Down

https://codex.wordpress.org/Moving_WordPress Pagina 6 di 10
Moving WordPress « WordPress Codex 08/06/18, 17)29

1. Download a copy of the main wordpress files from your OLD site to
your hard drive and edit wp-config.php to suit the new server.
2. Go back to your OLD site and go to Administration > Settings >
General and change the URL (both of them) to that of your new site.
3. Login on your server, go to phpMyAdmin, export as file, and save your
database (but keep the old one just in case). Now, upload this new
database and the copy of the wordpress core files with the edited wp-
config.php to your new server. That's it!

Keeping it Running

Caution: Make sure you have a backup of your old site's WordPress
database before proceeding!

Part A - Activating Your New Site

1. Download your entire WordPress installation to your hard drive.


Name the folder appropriately to indicate that this is your OLD site's
installation.
2. Download your database.
3. Go back to your OLD site and go to options and change the url (both
of them) to that of your new site.
4. Again, download your entire WordPress installation to your hard
drive. Name the folder appropriately to indicate that this is your NEW
site's installation.
5. Download your database once again (but keep the old one). Upload
this database to your new server. It will be easiest if you use the same
database name and you create a user with the same login credentials
on your new server as on your old server.
6. If you used a different database name and/or user (see previous step),
edit wp-config.php in your NEW site's installation folder
appropriately.
7. Upload the NEW site's installation folder to your new site. Presto,

https://codex.wordpress.org/Moving_WordPress Pagina 7 di 10
Moving WordPress « WordPress Codex 08/06/18, 17)29

your NEW site should be working!

Part B - Restoring Your Old Site

1. On the original server, delete your OLD site's database (remember,


you should have a copy on your local computer that you made at the
very beginning).
2. Upload your OLD site's installation folder to your original server,
overwriting the files that are currently there (you may also delete the
installation folder on the server and simply re-upload the OLD site's
files).
3. Upload your OLD site's database from your local computer to the
server. That should do it!

Another procedure for making copies of posts, comments, pages,


categories and custom field (post status, data, permalinks, ping status, etc.)
easy to follow:

1. Install a new WordPress site


2. Go on old site Administration Screen. Here, in Manage > Export select
"all" in menu Restrict Author.
3. Click on Download Export File
4. In new site go on Manage > Import, choose WordPress item.
5. In the page that will be shown, select the file just exported. Click on
Upload file and Import
6. It will appear a page. In Assign Authors, assign the author to users
that already exist or create new ones.
7. Click on Submit
8. At the end, click on Have fun

Note: using this method, if there are some articles in the new site (like
Hello World, Info Page, etc.), these will not be erased. Articles are only
added. Using the former procedure, the articles in new site will be
deleted.

https://codex.wordpress.org/Moving_WordPress Pagina 8 di 10
Moving WordPress « WordPress Codex 08/06/18, 17)29

Moving WordPress Multisite


Multisite is somewhat more complicated to move, as the database itself has
multiple references to the server name as well as the folder locations. If
you're simply moving to a new server with the same domain name, you can
copy the files and database over, exactly as you would a traditional install.

If, instead, you are changing domains, then the best way to move Multisite
is to move the files, edit the .htaccess and wp-config.php (change
DOMAIN_CURRENT_SITE and, if the folder name containing Multisite
changed, PATH_CURRENT_SITE), and then manually edit the database.
Search for all instances of your domain name, and change them as needed.
This step cannot yet be easily automated. It's safe to search/replace any of
the wp_x_posts tables, however do not attempt blanket search/replace
without the Search and Replace for WordPress Databases script (aka the
interconnectit script).

If you're moving Multisite from one folder to another, you will need to
make sure you edit the wp_blogs entries to change the folder name
correctly. You should manually review both wp_site and wp_blogs
regardless, to ensure all sites were changed correctly.

Also, manually review all the wp_x_options tables and look for four fields
and edit them as needed:

home
siteurl
upload_path
upload_url_path

The upload path and URL will be empty if the default media paths are
used.

If you are moving from subdomains to subfolders, or vice-versa, remember

https://codex.wordpress.org/Moving_WordPress Pagina 9 di 10
Moving WordPress « WordPress Codex 08/06/18, 17)29

to adjust the .htaccess file and the value for SUBDOMAIN_INSTALL in your
wp-config.php file accordingly.

Related Links
eduChalk: How to Move WordPress to a Different Server and Web
Address, 2-part video series
How to move WordPress site to another server with zero downtime
Moving a blog from wordpress.com to self-hosted blog
Moving WordPress to a new domain or server
Italian version of this article - Versione italiana dell'articolo
Search and Replace for WordPress Databases
Cloning a live WordPress site to a local Mac test environment
PHP script to replace site url in Wordpress database dump, even with
WPML
The Duplicator plugin helps administrators move a site from one
location to another

This article is marked as in need of editing. You can help Codex by editing
it.

https://codex.wordpress.org/Moving_WordPress Pagina 10 di 10

You might also like