3 “Customer First” Tips to Developing a Live WordPress Theme

It can be tricky developing a new theme or making changes to the existing theme. Sometimes clients just want to see the latest content when reviewing changes.

Some will say you should be able to convey to a client that it isn’t practical or necessary. I lean toward the mindset of giving my client a few options. Informing them of what each option involves. I also ask them if they have a method they would prefer to use. Then I let them decide how we proceed. Nearly every time I’ve taken this approach I’ve had a happy and satisfied client. I can’t think of a time it didn’t work out well.

You don’t have to take my word for it, there have been studies from the marketing side of it.

One of the great parts of getting to do updates is that the personalization element has been done. Unless they want to completely revamp their content and not just the website visuals. In that case, I’d see if you can get them to prioritize the content update so they can see the visuals with the new content.

Live WordPress Theme Development Methods

  1. Use a Dummy Database
  2. Clone their Database
  3. Modify Core WordPress (Dev) Files

I’m sure there are more than 3 ways to go about it. These are what I’ve used successfully. I found taking a bit of a sale or marketing approach with the topic works out well. I’ll present each with a benefits list as well as a pros/cons list. This is where getting to know your client first is important as you’ll be able to better decide which route is best.

Quick Note: Be mindful that options 2 and 3 run the risk of flagging for duplicate content.

To reduce the risk in the header.php file for the dev theme add this:

<meta name="robots" content="noindex,follow">

Another option is in the dev .htaccess add this:

<IfModule mod_headers.c>
Header set X-Robots-Tag "noindex, nofollow, noarchive"
<FilesMatch "\.(doc|pdf|png|jpe?g|gif)$">
Header set X-Robots-Tag "noindex, noarchive, nosnippet"
</FilesMatch>
</IfModule>

1. Use a Dummy Database

This is the easiest option as you can have the dummy database already set up ahead of time.

Lego crash test dummy

 

ProsCons
No setup timeClient needs to use imagination
Show style/format in a structured mannerDoesn't show client's content

Benefits

  • Your client can see the style/format changes due to the already laid out content
  • You can present an ideal layout/structure for posts without a client content bias

2. Clone their Database

This creates an instance of their database.

Spidermans pointing at each other

 

ProsCons
No need to imagineSmall setup time
Show new changes with personalized contentWon't be the latest content

Benefits

The client can see changes with their content

3. Modify Core WordPress (Dev) Files

All it takes is making a small change to wp-config.php and the functions.php of the theme of the dev WordPress. Add this code to the end of the wp-config.php on the dev WordPress:

define( 'WP_HOME', 'http://example.com' );
define( 'WP_SITEURL', 'http://example.com' );

Add this to the functions.php file:

//
// DEV HACK REMOVE ON LIVE
//
update_option( 'siteurl', 'http://example.com' );
update_option( 'home', 'http://example.com' );
//
//
END DEV HACK
//

Yes with the big comments! Don’t forget to remove both before you wrap up your work.

Replace example.com with the dev domain. You might have to log in again but beyond that, you’ll keep the connection to the live database. All while being able to work on the new theme or update your copy of the current theme. It’s hacky I’ll admit and not my preferred way to develop but it still beats developing in production.

Be Careful!

 

Picture of Uncle Ben from Spiderman saying "with great power comes great responsibility."

 

ProsCons
No need to imagineSmall setup time
The latest content to show off the changesDev database changes can cause issues on the live site

Benefits

  • Not only is it their content, but it is also their latest content.

So… which is best?

That’s simple. The one that your client likes most. I implied it earlier, give them a personalized experience. Let them decide what that manes and you’ll make them happy. At the end of the day, that’s the right answer.

Do you have any other ways to approach the issue of live WordPress theme development?

Share your thoughts!

Hi I'm Elizabeth!

My passions are learning and helping others. I combine my passions and expertise in Digital Marketing, Web Development, and Project Management to help people solve problems and create awesome projects. I love to share the knowledge I learn. Learn more about me...

Oh and I love tacos.