Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I'm developing a Wordpress site for a website that already exists (that's not currently using Wordpress). The current website cannot be taken down until the new Wordpress site is ready to replace it. I've read the Moving Wordpress codex article and the Giving Wordpress it's Own Directory codex article but I cannot decide, and do not have enough experience to know, which method would be easier/more efficient when it's time to make the website switch?:

Option 1: Develop the website in a subdomain (ie: http:// wordpress.website.com)

Option 2: Develop the website on a 2nd, temporary domain (ie: http:// w3bsite.com)

Any advice from those who have done either would be appreciated.

P.S. The site has already been built locally, using Xampp, but now needs to be deployed online so others involved in the project can populate the site with content.

share|improve this question

1 Answer 1

I would prefer Option 1, that is deploy it on a subdomain. Once contents are filled up you just need to do 2 things.

  1. Move the files to root directory of main domain. Using hosting's File Manager, it would take 1-5 sec.
  2. Change the WordPress Site URL to your main domain. You can following method to change it without running a SQL Query (fetched from Moving WordPress)

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) update_option('siteurl', 'http://domain.name' );

update_option('home', 'http://domain.name' );

If you have internal links (links in your post/page contents that links to your temporary subdomain URL), you can either update them manually or run a SQL query to update them all.

Update: To update the internal links you can run following SQL queries.

To update the links in page contents

UPDATE wp_posts SET post_content=(REPLACE (post_content, 'sub.domain.name','domain.name'))

To update the new domain name in post meta

UPDATE `wp_postmeta` SET `meta_value` = REPLACE( `meta_value` , 'sub.domain.name','domain.name'); 

Above Step 2, can also be accomplished with following query.

UPDATE wp_options SET option_value = 'http://domain.name' WHERE option_name IN ('siteurl', 'home')

if you have Database prefix other than "wp_" please change the table names with your prefix.

share|improve this answer
    
That information is from the "If you have accidentally changed your WordPress site URL" section - wouldn't I want to avoid any "accidents"? –  codeview Nov 18 '13 at 18:39
    
Well, that heading follows the method above it. We are not following the long method it describes. In our case, I outlined above, this will work without accidents. –  M-R Nov 18 '13 at 19:53
    
Would links to photos (uploaded through Wordpress) also be broken, same as links within pages/posts? The goal is to not have anything broken when the Wordpress website replaces the current website, so SQL queries are the scary part, I guess. –  codeview Nov 18 '13 at 20:33
    
Updated the answer to fix the internal links. Most SQL queries are not that scary, I use the above queries every next day. –  M-R Nov 18 '13 at 21:27
    
Does the update query on wp_posts include custom posts? I will have 4 custom post types to worry about too. There must be a better way than having to do a bunch of SQL queries :( –  codeview Nov 18 '13 at 22:57

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.