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.
- 71% of customers express some level of frustration when their shopping experience is impersonal. Based on a report by Segment.
- 52% of customers expect offers to always be personalized as reported by salesforce.
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
- Use a Dummy Database
- Clone their Database
- 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:
Header set X-Robots-Tag "noindex, nofollow, noarchive"
Header set X-Robots-Tag "noindex, noarchive, nosnippet"
1. Use a Dummy Database
This is the easiest option as you can have the dummy database already set up ahead of time.
|No setup time||Client needs to use imagination|
|Show style/format in a structured manner||Doesn't show client's content|
- 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.
|No need to imagine||Small setup time|
|Show new changes with personalized content||Won't be the latest content|
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.
|No need to imagine||Small setup time|
|The latest content to show off the changes||Dev database changes can cause issues on the live site|
- 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?