I answered this question on a forum the other day, “How do I build a SaaS platform on WordPress?”
I wanted the person to succeed in realizing their vision – whatever their vision may have been. So I invested 10 or 15 minutes in banging out a quick list of the first 10 technical requirements to build a SaaS platform on WordPress. This is one of the obscure skills I acquired over the years. I was psyched to share the knowledge with someone who was looking for it! I decided to take my short response to her question on the forum and expand a bit for this post.
The first section of this post outlines the UX component of a project of this magnitude. I help you think through questions like “what problem are you solving with your platform?” and “who are you solving this problem for?”
The second section is the list of 10 first steps that teach you the most efficient way to build a SaaS platform on WordPress.
How do I build a SaaS platform on WordPress?
I would first think through the architecture of your system. Architecture is critical. This can be mapped out by hand on paper long before the use of tech. You don’t really know what tech you need at the beginning of a project.
Assuming you already went through discovery, validated the market to prove that your specific persona understands the problem they have, and you have designed a business model which you will test…then I would start by going through a customer journey mapping exercise. The purpose of this is for you to flesh out the idea completely. Get your entire vision out and on paper.
On the left side of the paper is the beginning of the journey. This is where your customer is right now. She has this unsolved problem that you’re going to help her solve. On the right side of the paper is the end of the journey – when your customer has solved her problem by using your platform.
Specifically define the beginning and the end of the journey. (1) Describe the problem your customer is presently faced with. If there is no problem, there is no product. Nobody is going to pay you to solve a non-problem for them. (2) What does it look like when your customer solves her problem using your platform?
Think through each step of the journey starting from the beginning. I typically break the purchase process down into three phases: (1) awareness, (2) consideration, and (3) decision. How will you bring the customer from phase one through phase three?
The point of sale is only the beginning of the relationship. Now map out the journey for the customer as they go from purchasing your product or service to onboarding to becoming a satisfied customer to having you solve their next problem.
What will each step look like for your users as they go through the signup and onboarding of your platform? Map out all the steps and have a comprehensive idea of the flow.
The first 10 steps (or so) to build a SaaS platform on WordPress
In terms of specific UX assets, I would have complete the following list prior to diving into any product development:
UX Assets for a Saas Platform on WordPress
VISION: Whiteboard session to unpack the existing problem, who has the problem, how they solve it, and use this to think about how you’ll solve this problem in a new way
CUSTOMER JOURNEY MAP (Two versions)
(a) the journey your user goes through currently as they attempt to solve the problem w existing solutions available
(b) the ideal journey they will go through when using your platform to solve their problem
NOTE: if you’re building a multi sided platform with different users that have different roles on your platform then you should go through mapping exercises for both users. This should let you figure out most effective way to connect them
USERFLOW: As a result of the previous step you can extract a high level flow of steps a user goes through.
SITEMAP: Using the USERFLOW as a foundation, outline your sitemap of all pages you can think of
CONTENT TYPES: Using your sitemap as a foundation, figure out the different types of content you’ll have throughout: list of leads, individual lead, edit lead profile, registration, etc.
LO FI WIREFRAMES: Using your content types as a foundation, sketch on paper some quick and dirty wireframes to illustrate how you want to display each content type to users
REQUIREMENTS: Using your wireframes as the foundation, make a list of requirements needed under each wireframe. This means you’ll know exactly what is needed for you to develop each individual page. You may not know how to develop it or what the right terminology is, but you should be able to communicate in normal people terms what each page of your system needs to be able to do.
With this information, you can ask a qualified expert to help you – this also let’s you stay in the driver seat when hiring someone to help you.
Granted, there is a lot I don’t know about the specifics of your project. However, the following list will help you get started in the right direction. I answer this question assuming you already validated the need in your market and have customers ready to use your solution.
How to build a SaaS platform on WordPress (technically speaking)
SUBDOMAIN: I recommend setting up your multisite network as subdomains over subdirectories.
WILDCARD: setup your wildcard subdomain with your domain registrar by managing the domain name’s DNS records. Add an A record and point it at your hosting IP address and type ‘*’ as the subdomain. This is known as a wildcard subdomain. It will allow your clients to create their sites on your network on the fly without needing your help for anything. This scales your product.
HOSTING: in order to use wildcard you’ll need to use a proper host. I recommend the professional plan offered by WP Engine for $99/month – you can’t do multisite for the lowest plan (affiliate link included)
DOMAIN MAPPING: I agree with your thought of offering the domain mapping plugin. Once your clients are logged into their subsite, they can manually add their domain name into the domain mapping plugin settings.
NOTE: you can offer access to using your domain mapping plugin for customers who pay you more money. Perhaps you offer the subdomain for free, and if they want access to domain mapping they can pay you $ per month.
BLOG TEMPLATES: assign a template to each subsite that we built in the previous step which turns the subsite into a product. This gives you complete control over the product offered to customers in scalable way. It also allows users to start using their site immediately.
SEO: Headway Themes takes care of the SEO requirements at the individual post level as well as sitewide keyword level. You’ll need something else for sitemaps (XML and HTML), broken link checking, crawling, etc. I’m sure you’re aware of how WPMU DEV offers a few great options for this.
SECURITY: This is mostly handled by WP Engine, but if you don’t use them then you’ll def want to use something like Defender by WPMU DEV.
FORMS: Gravity Forms, hands-down no other form system competes with it (comes with a price):
MEMBERSHIP: This is handled properly when you use Gravity Forms + their native User Registration Add-on:
You’re able to tap directly into the native WordPress membership system by simply connecting a specific Gravity Form with the registration process so as a visitor fills out the form they are automatically registered as a WordPress user. If you don’t have Gravity Forms, then I recommend the great options you already have access to with WPMU DEV.
Another option is to copy and paste the PHP code that represents the native WordPress registration form so that you can offer the registration/login on a page of your choice branded and integrated in the same user experience as the rest of your site.
Well, there’s the first 10 steps I can think of for now. Hope some of it is helpful!