Lessons Learned Building a SaaS with WordPress

Jul 31 2012 by Brian Casel | 17 Comments

Lessons Learned Building a SaaS with WordPress

WordPress has been dominating the content management system landscape for the past few years. WordPress is used by over 50 million sites; among them are ubiquitous web properties and companies like Mashable, TechCrunch and CNN[1].

In this article, we’ll talk about some of the lessons I learned while developing my latest startup, Restaurant Engine, a web design service for restaurants built on top of WordPress.

Introduction

WordPress had humbling beginnings: It started out as a blogging tool. Now, WordPress has grown into a very capable web publishing platform, and we’re continually seeing innovative ways it’s being used.

Some examples? PressTrends offers analytics tracking for WordPress product creators. WPAppStore just launched, offering an app store built into the WordPress dashboard. Browsing all of the advanced functionality that can be achieved using Gravity Forms opens up amazing possibilities. These are just a few of my favorite innovations happening in the WordPress ecosystem.

And it’s not just about dreaming up new tools. When you start thinking about specific groups of people, industries and sectors — and how WordPress can be used to solve their specific problems — we find many opportunities. But, as with anything else, there are challenges and questions that need to be thought through, dissected and reconstructed.

Essentially, my goal with Restaurant Engine was to automate (to an extent) the process of designing, building, hosting and populating a new website built with WordPress, and design this as a solution to a specific group of people (restaurant owners) who have a common set of problems that need solving.

Working with Constraints

In the case of Restaurant Engine, the decision to use WordPress was a no-brainer. In my opinion, there’s no better CMS than WordPress.

But there are certain drawbacks to using WordPress that are worth considering.

One of the disadvantages of using a CMS instead of building a web app from scratch is your ability to customize. If we built from scratch, we’d have the freedom to dream up the best possible solution for every feature. But, when working with WordPress, we must consider questions like "If we modify this feature of WordPress, how difficult will it be to maintain when WordPress is upgraded?" This can lead to more complexity, which may or may not be worth the effort.

Should You Use WordPress for Your Project?

WordPress is fantastic and can do many things. But it can’t do everything. It’s important that we accept this fact and not force WordPress to be our solution if the shoe just doesn’t fit.

It’s quite common these days that a client approaches you with big ideas for a web app, laying out a list of features that clearly will require custom web development. Sure, an eBay-inspired auction system with the ability to pull crowdsourced data from third-party feeds while auto-posting to Pinterest is possible. But is it wise to use WordPress for this?

My opinion is if the central focus of your project is related to publishing some form of content online, then WordPress could be a great choice.

Understanding Your Users

It’s important that we understand who our users are. Choosing to build our solution on top of WordPress introduces an interesting question we must resolve from the outset: Are new users of our web app already familiar with WordPress?

The answer to that question will heavily inform several things: Our marketing communication about the product, the way we communicate features within the product (labels, documentation, etc.) and the extent to which we need to customize the WordPress dashboard.

For example, below is a section of our marketing home page. In this section, we mention WordPress, but didn’t make it the central focus of our marketing because it’s only relevant to some visitors.

Customizing the WordPress Dashboard

Although WordPress has evolved into a very powerful and user-friendly piece of software, we must still question how its usability applies to our target user-base. In my case, I took the approach of "if it ain’t broke, don’t fix it", but added "if it can be better, improve it."

Labeling post types, taxonomies and other features goes a long way to making the tool easier for our users to understand.

For some things, like editing posts and pages, I decided to leave the WordPress interface intact. Same with the dashboard menu design and the general visual aesthetic of the dashboard. I wanted users who already use WordPress to feel right at home when using the app. But for those who’ve never heard of WordPress, the interface still works nicely for them.

However, there were certain WordPress features that our users repeatedly found confusing or could use improvement. One example was the WordPress Featured Image, which requires a series of steps to initiate, upload, assign and save. We customized this to be a one-click action and relabeled it to say "Food Item Image".

Another example was the admin bar, which normally contains quite a few items and dropdown menus. We removed most of these and left only the most relevant items, like "View My Site" and "Log Out".

Every project and application will have its own set of requirements, goals and user groups to satisfy. That may mean fully redesigning the WordPress dashboard or leaving it alone.

Plugins

One advantage of using WordPress is the amazing selection of plugins; and some of the best ones are often free. While some things in your app may require custom development, don’t rule out using plugins.

Here are a few plugins we use:

  • Hide Welcome Panel for Multisite – since we use WordPress Multisite, this little tool proved helpful
  • Simple Page Ordering – it turns your Pages list (and other hierarchal post types) into a drag-and-drop order interface
  • SB Uploader – when we modified the ‘Featured Image’ function, this plugin helped us do that

Conclusion

I just shared with you some of my experiences working with WordPress to build my startup. WordPress is easily customizable, open source, and a terrific platform for publishing web content. However, keep in mind that it has limitations and isn’t the perfect tool for every job.

References

  1. WordPress.com Stats

Related Content

About the Author

Brian Casel is a web designer and the author of Design For Conversions, a book to help startups design a better marketing site. Check out Brian’s personal site, casjam.com and connect with him on Twitter @CasJam.

17 Comments

Jonathan Wold

July 31st, 2012

Excellent work, Brian! It’s exciting to see folks putting WordPress to use in creative ways. Do you have a single installation of Multisite for all of the sites or are you running multiple installations (with perhaps a maximum number of per sites)? Did you run into any major technical hurdles in working with Multisite? Also, did you decide to go with managed hosting or are you rolling your own managed solution?

DrewAPicture

July 31st, 2012

I think you meant “It’s a bad idea to rule out plugins”.

Besides that, I think the WP UI folks might be interested to see how you’ve modified the workflow for Featured Images and the Toolbar. Particularly in the case of the accessibility folks with making Log Out link standalone.

I’m curious about how you decided to handle user creation on Multisite. Is this a managed solution where a Super Admin creates new users or are you letting admins create users only to have to jump through activation hoops?

Andy

July 31st, 2012

Great tips Dude, restaurants owners and other businesses will surely get help from this. BTW I think it can be possible for any business vertical in the world. Right Brian?

Jacob Gube

July 31st, 2012

@DrewAPicture: Great catch, thanks. I edited it for clarity.

Tim

July 31st, 2012

Do you mind sharing the method on how you customized the featured image?

Nate

August 1st, 2012

I’ve just build an ecommerce site using WordPress and have found it great overall but there has been some very frustrating moments and I’m sure more to come. The functionality it allows is great and it is very user friendly. Still plenty of things I need to learn but haven’t come across a better CMS yet.

Saya

August 1st, 2012

I liked your article, I think is shows how far WP can go, how creative it can be and also be aware that it won’t be the answer to all problems

Rocky Walls

August 1st, 2012

Great post! Good to know there are others out there feeling and thinking along the same lines we are ;)

Building Candidido.com on WP has been a tough choice for all the reasons you mention above, but so far we’re happy with the choice.

Brian

August 1st, 2012

Hi guys – thanks for reading :)

@Jonathan – 1 multisite installation (at this time). My other site, HotelPropeller (same idea for Hotels) is another multisite network. No major issues… Using a managed VPS hosting provider.

@Drew – Happy to chat about any of that sometime… For signup/site/user creation, we used a custom-developed solution. But Gravity Forms has an add-on which does the same thing.

@Andy – yes – I think the key with this kinda thing is to focus on a tight niche, where most/all customers have the same set of needs.

@Tim – I worked with Sean Barton on a modified version of his (great) plugin: http://wordpress.org/extend/plugins/sb-uploader/

Eric Tyler

August 1st, 2012

Very interesting post. It would be interesting to know more detailed examples of hurdles you experienced and how you solved for them.

Olivier

August 2nd, 2012

Why didn’t you consider Drupal instead of WP as CMS.
A lot more flexible to develop plateform, Saas, webapp, …
More like a framework !

Rafael Montilla

August 2nd, 2012

WordPress is the best CMS, but as you said it is not gopd for every website.

Rustin Low

August 3rd, 2012

Such a great article, inspires me to develop my own SaaS platform, thank you for sharing!

Jeff

August 7th, 2012

Thanks for posting this Brian. I’m working on a similar project in another industry and you’ve got some good info here.

Syed Balkhi

August 9th, 2012

Great article Brian. This is the second restaurant specific site that I’ve seen that is built on top of WP.

http://www.happytables.com/ << Saw this a long time ago.

Tatjana

August 10th, 2012

Hi there,

Great post and just the insight I was looking for, thanks! I wnat to create a simular setup as yours, but for creative artist.

I have a hard time figure out if I should use ManageWP or Multisite, to handle all client sites. You mention using a managed VPS hosting provider instead of Multisite, can you let me in on why this is?

I am also looking at whmcs.com, As all-in-one client management, billing & online user creation – Any experiences with them?

Once again great site/network you have created and a super niche.

Tnanks,
Tatjana

Scott Bolinger

August 30th, 2012

Great article Brian, you’ve built some beautiful sites, I’d love to hear more about the details of your setup.

Leave a Comment

Subscribe to the comments on this article.