Professional WordPress Development Reduces Risk

Why Should I Care?

As a website owner you control how your site is developed.  Your choice is between quick, easy and risky or professional, reliable WordPress development.   You may not care much about the process your developer uses, all you want is that your site is built quickly, correctly and cheaply.  You’re sure the developer will get it right.  WordPress makes it easy for inexperienced developers to build beautiful sites with advanced functionality.

I frequently help out on the WordPress Troubleshooting Forum and see the results of the quick and easy process that many developers and designers use.  One person had made a simple change to some code in their client’s theme and had a site that now displayed as a blank page.  They couldn’t even get to the administration back-end, it was Monday morning and this was a business critical site for the client.  Luckily they had access to their hosting company’s file manager and were able to remove their change manually.

A Simple Development Process

The simple process provided by WordPress is great for updating content since WordPress provides an archive of all the versions of the content and you can undo a bad content change.  This does not apply to changes made to code, especially if the error is severe enough to block access to the back-end.  This process is fine for your hobby site or for a site that hasn’t gone live yet.  It’s a disaster waiting to happen for a live commercial site.

Simple WordPress Development Process

The steps in the simple WordPress development process are:

  1. Backup the Client Database.  I hope they did this. Many developers skip this step, or rely on a backup that your hosting company provides. If you haven’t subscribed to a daily backup service, the last backup by your hosting company could be a month old.  A separate backup should be taken immediately before making any code changes to the site.  Plugins and themes can be reinstalled, but the data is the meat of the site and it’s loss is not something you will enjoy. It’s a good idea to back up the code as well. Recovery from a backup taken by your developer is quick and easy; one taken by your hosting company will require a ticket to be filed and a fee to be paid. It’s sure to take a while to do as well.
  2. Get the theme and plugins. Loading a new theme or plugin can cause problems in an existing site. Some themes have incompatible features and some standard features, such as widgets are tied to the theme. This can bring your site down.
  3. Use WordPress to modify code.  This is one of the most hazardous practices available to the WordPress  developer.  The code is not backed up and changes cannot be undone after the site is viewed.  Some simple errors, like a missing semicolon,  can make the whole site including the administration back-end inaccessible.
  4. Use WordPress to update content. This is one of the reasons to use WordPress.  It’s very safe since WordPress keeps archives of content so that you can undo any change.
  5. Verification and sign-off by the client.  When the development is done, you get a chance to review the site and sign off.  Unfortunately, this vital step is very late in the process, the site is live, and visible to your customers. If you don’t like it, that backup from step 1 will come in handy.

A Professional Development Process

The professional development process described here extends the simple process described above by adding:

  • a local development version of the site for your developer
  • version control for code
  • a QA (quality assurance) or staging site for you to see the changes before the site goes live

It’s complex, but that’s your developer’s problem, not yours. They should be familiar with this if they have ever worked in the industry.  It involves twice as many steps, but is much safer, you get to see the site before your customers do, and it’s easy to undo changes.

 

Professional WordPress Development Environment

I will be covering these steps in the professional WordPress development process in greater detail in later posts directed specifically to developers:

  1. Copy client code and data. This is similar to the database backup in the simple process, but it’s more complete and  allows the developer to create a mirror image of your site in their local development environment.
  2. Develop locally.  The developer makes all changes to their local copy.  All plugins and any new theme are added here.  Changes made to code can be done using professional tools such as Integrated Development Environments and unit testing can be done. Your developer can test your site here before it goes up.
  3. Archive code.  A version control system such as SVN or Github is used to keep versions of the code so that any change can be undone easily.
  4. Copy to QA site.  When the developer is happy with the code and data on their local version of your site they copy it to a quality assurance or staging site on the internet where you can try it out.  This site should be running in an environment that is similar to your production site.
  5. Test with client on QA site. This is where you get to try it out without your customers or the search engines being able to see the site.  This gives you a good test drive of your new site and provides a chance to give feedback to your developer and designer. Steps 2 through 5 may be repeated until you are satisfied.
  6. Backup the client site. This is a full backup of the clients production site, sufficient to restore it if needed. The next step is the only high risk step in this process.
  7. Copy the code to the client site. The developer will copy the code from their development environment or the QA site to your site.  Normally the database is not copied at this time as changes made in production could be lost and unwanted changes made during development might get carried over.  In the case of a brand new site, the database may be copied as well.
  8. Test the client site. This test confirms that the new code works with the existing data.  It is best if there are no data-code dependencies, but some may be unavoidable.
  9. Use WordPress to update the content.  There may be new content that is required for the new version of your site.  This is added at this point using the normal WordPress facilities.
  10. Verification and sign off by client.  This is the same last step that we saw in the simple process.  The difference here is that you have had a chance to use the new site back at step 5, so there should be no surprises.

The Bottom Line

The simple process is quick, easy, and cheap. It is fine for hobby sites and  students.  It is risky for a commercial site.  The professional process requires more work, and more skill.  It will take longer and cost more, but it provides you with the peace of mind that the work is being done properly and it gives you an opportunity to see the result before your customers do.

All in all a professional WordPress development process is a better choice for a professional site.

Peter Wooster

Senior Developer at Silver Maple Web.

 

The following two tabs change content below.

Peter

Web Developer at Silver Maple Web
Peter is a partner and Web Designer and Developer on Silver Maple Web. Peter has been building websites since 1996. He has design experience and programming expertise in PHP, Java, APL, HTML, CSS, and Javascript.

Latest posts by Peter (see all)

4 thoughts on “Professional WordPress Development Reduces Risk

  1. I feel that is one of the such a lot important info for me. And i am glad reading your article. However want to commentary on few common issues, The web site taste is perfect, the articles is really great : D. Just right process, cheers

  2. Professional WordPress Development Reduces Risk- Silver Maple Web I was recommended this blog by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my difficulty. You’re wonderful! Thanks! your article about Professional WordPress Development Reduces Risk- Silver Maple WebBest Regards Veronica

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *