From Development to Deployment, My WordPress Dev Workflow

It’s not always easy to develop a WordPress site. Specially a complex site. I have switching and changing my workflow. Each and every site is unique and not every workflow is suitable for every case. I always try to get things done as soon as possible. Not because i have to, or because i’m a productivity nuts. But i lose focus very easily, specially when i develop my own site.

Right now i i use a very simple workflow to develop WordPress site, WordPress Theme, or Plugin. This is step by step what i did.

# 1. Wireframing

I think it’s the most important step. I just use pen and paper for most site. Everything need to be fixed before going to the next step.

# 2. Setup Subdomain in XAMPP lite

It’s easier to deploy all site (+content) when we delevop it using subdomain in XAMPP. Just because you don’t need to change .htaccess file. I already wrote tutorial for it: Use Multiple Subdomain in XAMPP. Next is to install WordPress, etc, etc…

# 3. Develop Theme + Plugin

To Speed up development i just use my super theme: Genbu, cause it have 11 layout + 10 blog archive template and a hook to easily create metaboxes and theme settings. Other theme i use is Prototype (no longer maintained). The most important is to use child theme to modify it.

For plugin, i don’t really write a complex plugin, just functionality plugin, mostly to register custom post type and taxonomy.

I use SVN for versioning. Currently i use SVN Hosting from Devzing and Springloops. Sometimes i use GitHub, but i plan to move all my repo cause lately Github is slow. I just start using SVN last year, and it’s addictive. I used to create dozens of copy for backup. Now i don’t need to do that.

# 4. Database and Content

I love to create a huge site with thousands of pages. And because i have a not-so-fast internet connection, building content and database on live site is painful. Uploading hundreds or thousands of images can take forever. I develop everything locally. At least for initial content.

I used to sell WordPress Databases. Recipes, Lyrics, PLR Article, etc. At first it’s hard to build and convert MySQL, CSV , or Plain text data to WordPress. But overtime it’s easier. Plus with WordPress there’s a lot of plugin to modify it. For example i use Drafts Scheduler Plugin to schedul post / content.

# 5. Staging / Demo Site

For client site i move all content to live site, so the client can login and try it before final revision. For demo/staging site i register an account in my Hostgator Reseller Plan with my subdomain.

Moving from local to live site is simple. i just zip everything and upload it to the server. For database i use WP Migrate DB to find and replace all URLs and paths. With WP Migrate DB you need to check custom link menu item, sometimes it’s not always sucessfuly replaced.

# 6. Deploy

Within cPanel i just add a domain. And set up DNS. Cause i already upload everything on my server i just need to copy all to new domain public html folder using cPanel file manager.

If needed I use deployment feature from Springloops for custom theme and custom plugin. But most of the time i just use semi-automatic plugin+theme update script. it’s easier this way, if i make any changes, i just upload it to my server and client can update it from wp-admin. Just like plugins and themes hosted @ wp.org repo.

# 7. All Done

I check every pages, reset / purge cache, etc.

Resources:

Private SVN and Git Hosting with Deployment feature

  1. Springloops: free for 100mb
  2. Assembla: from $9 / month for 3GB
  3. Beanstalk app: from $15 / month for 3GB
  4. SVN2FTP: £1 / month for 500mb.

SVN and Git Deployment Script (never use it)

  1. Svn Ftp Deploy
  2. Capistrano

Self Hosted / GitHub Plugin+Theme Auto Update

  1. Automatic Theme Plugin Update Script – @GitHub (need fixing, several error, maybe i’ll publish my mod)
  2. WordPress GitHub Plugin Updater (previous version is buggy, never try the latest version)
  3. GitHub Theme Updater Plugin – @wp.org (buggy, don’t use it)
  4. Easy Digital Download Software Licensing Ext. (haven’t try it yet, pricey)

3 Comments

  1. Jeremy Clark

    I’m the author of the Automatic Theme Plugin Update Script I’ve recently worked out serval of the latest issues. I’d love it if you could point out the errors you ‘ve seen. I’d be glad to get them fixed.

Comments are closed.