Why I’m writing this post
Starting up a business is no easy feat. You’ve got to work out what you’re wanting to offer, how you’re going to do it differently to separate yourself from your competitors, and then, lastly, get it all set up and working. A web agency – gah! Hosting, domains, website software, plugins, support ticketing, billing, accounting, themes… a web agency is no easy feat. Not only do you have to work out the necessary software needed to run your business, but you’ve also got to keep the price of these software in equilibrium with your wallet and expectations. And then you have to get them all talking to each other so everything makes sense and your clients don’t feel that by signing up to your company they’ve inherited the burden of learning hundreds of systems! *sigh* All the Software you need to run a web agency can be overwhelming.
I previously worked for two of Australia’s largest web agencies in roles ranging from strictly web design, to mixed roles where I was eventually briefing, designing, developing and supporting the clients, and along the way I have used some great (and not so great) software. Each of these two companies were running strictly WordPress websites, yet they were both using different software for their business’ clients and operations.
In this post I want to outline what software I finally decided to run my WordPress web agency with. Hopefully it saves someone the research I had to do, or even better, sparks some discussion and highlights better ways we can all be doing things. Automation is key!Automation is key!Click To Tweet
IMPORTANT: There is never going to be a best solutions as there’s always different software coming out. I find these software to be ideal for how I want to run my business, but other software will also be good and better. The software discussed here are good for me because they matched my budget, contribute to automating my business as much as possible (very important for me as I am primarily a one-man team), and are reliable.
WordPress Multisite or single site installs?
This was probably the hardest decision I (and many others like yourself) will have to make when choosing the Software you need to run a web agency. The decision is basically final and irreversible. Scary, eh? Although you can in theory export a multisite website into a single install, I had not found a reliable plugin, so I decided to do the research and I decided on…
Single Site Installs
At the end of the day, I am not targeting only clients from a particular niche. My clients and their businesses vary dramatically, and as such so do their needs and the themes / plugins I need to run each of their websites and meet their business needs. This is where I realized Multisite would fail me. Having lots of plugins in a single WordPress install can cause conflicts and problems as it is, but having possibly hundreds of plugins while running hundreds of websites just scared me into tomorrow.
The agencies I worked for always saw a lot of my time spent offering support as we let our clients edit their own websites (a common practise among web agencies). We had around 400 clients when I left one of the agencies, and you knew about a clients website being down within a couple of days. Not surprisingly, they were quite distraught. Although we had backup systems in place, I couldn’t imagine having 100 client’s website go down at the one time (which would happen with Multisite). This, together will the clients that would leave (think cheaper hosting etc) meant that security and being able to export websites was a must and, again, why I decided to do Single Site WordPress installs for my clients.
I would only recommend WordPress Multisite for web agencies who are going to be doing websites for a particular niche only. For example, if you’re doing only Mechanic websites where most of the sites you do will share the same plugins, some examples being a booking calendar to reserve appointments for their car, contact form software and maybe a portfolio plugin for recent work (although Beaver Builder will do wonders here!).
Automation is key
One of the main reasons you may be drawn to using WordPress Multisite is its ability to automate things. You only have to update WordPress once, update the plugins once, backup one WordPress install, update all the themes once, and then all your websites are up to date.
You can replicate this pretty easily using single WordPress installs as I will explore below.
I host my Australian websites with VentraIP and have a WHM Multi PLUS account with them (basically meaning I can have 100 different hosting / cPanel accounts – technically it’s enough room for 100 clients). Their pricing is pretty competitive and their support is reasonable (I’d love it if they had live chat like some of the others), but the reason I chose them is that they are hosted in Sydney and Melbourne (where most of my Australian clients are from).
For my US / Canadian clients to come, I will be using InMotion Hosting. I used them at another agency I worked for (they had US clients) and they were great. Instant live chat support, very helpful (type common web related searched into google and you’ll commonly land on their knowledge base page) and they just seem to care. I heard they were owned privately by people who know the industry and not just business men, so that’s always reassuring, yeah? Not only that, I was also stoked to know they had an affiliate program that pays handsomely. I would definitely check them out for their service and commission structure if you are into recommending hosting services.
We recommend purchasing a VPS from InMotion Hosting, both for Web Agencies and also one-off personal websites
I’d been searching for ages for a great web host and I listed the three main things I needed, all of which I finally found in InMotion Hosting
- QUICK SUPPORT: I hate when you have to stay on the phone as I am usually doing something else at the time. I sought out a hosting company which offered Live Chat and InMotion Hosting offered this. Not only that, but their response times are instant and their support staff seem to all be US based which is even better.
- CHEAP: Everyone loves to save money and shopping around I found InMotion Hosting very competitive. There are cheaper hosts out there, but they either don’t do live chat, or I don’t really trust them – support overseas etc.
- ALLOW RUNNING INSTALLATRON: Lots of hosts will not allow you to run Installatron, however InMotion do allow you do if you purchase a VPS. They manage the VPS, meaning if there are problems, you Live Chat them and they fix it. VPS are better than shared hosting (such as Reseller Hosting) as you have your websites run on a server with less websites, which means they are quicker and less prone to problems.
To purchase fast Web Hosting with InMotion Hosting, click the link below.
Software I use and which will be discussed in this post
Installatron is a FREE app for WHM that automates all the tasks I need. It updates WordPress Core, themes and plugins, and also automates the Backups of my client websites (it also allows for one-click restores incase something goes wrong!). Not only that, before it updates WordPress files, Installatron takes a backup of the website and if the auto-update fails, it reverts back to the previous version and sends you an email to let you know there was an error. How cool is that! And…it doesn’t rely on the WordPress cron (which can be unreliable).
- RELATED: Client Websites: Quickly install WordPress using Installatron and its clone feature
Used for storing all my backups into cloud storage. I have purchased a 1TB storage option.
Plugins / Themes
- Beaver Builder page builder for WordPress (click here to try the demo)
- The Beaver Builder Theme that comes with 2/3 paid versions of Beaver Builder (I switched to it from the Genesis Framework by StudioPress).
- Beaver Builder Landing Page templates / Beaver Builder Child Themes from BeyondBeaver.com
- All other plugins I use with WordPress are listed further down in this article
For support tickets.
Gmail with Boomerang
Handles all the emails and keeps me overwhelmed
I use this and WooCommerce Subscriptions with Strip for WooCommerce to handle my monthly Website Care Plan payments.
How my web agency One Day Websites is set up
As an important note that needs to be considered when reading the below, I allow my clients the ability edit existing pages and existing modules / rows on their website but they are not able to add new modules or rows to the pages (i.e. they cannot build pages). This is because my Website Care Plans (required) include some design time where I add new rows and modules for them. For those that do not want any edits made to their site, they can select my lowest website care plan and are quoted per-hour when they need. Here you can review my website care plans http://onedaywebsitedesigns.com.au/pricing/
1. I have a Multi-WHM which allows me to install up to 100 hosting accounts
With VentraIP Australia, I have a plan where I get up to 100 cPanel/hosting accounts and I can create these through the WHM for my server.
Each new client goes into their own cPanel so that I can set up there emails / subdomains separately.
2. On this WHM, I have a master install that I clone for each new client project
I call it a master install and it is basically a cPanel account that I have WordPress installed in. This WordPress install contains all the plugins and reguarly used code that I always use. Currently, it contains the below.
RELATED: This post Client Websites: Quickly install WordPress using Installatron and its clone feature shows this exact process.
PLUGINS THAT ARE IN THIS MASTER INSTALL
- Beaver Builder Plugin (Agency Version): to build my pages. All my websites are based on templates from BeyondBeaver.com (some exceptions) so I always have this installed.
- Optimus: Image compressing software, basically it compresses my images when I upload them. https://optimus.io/en/
- User Switching: Allows me to easily switch between my account and
- Wordfence Security: Security for my clients, mainly used for preventing Login Attempts.
- WordPress Importer: Used for importing my Beaver Builder website templates and dummy data.
- WP Rocket: Caching to speed up my client’s website
- Yoast SEO: For doing SEO on the client’s website.
- Ultimate Coming Soon: I activate this while the website is in development so that the site is hidden while we craft the site.
- User Role Editor: A great, free plugin. I use this to create a new user role for my client if I need to limit them. Usually only used when they have extra plugins that add new capabilities etc.
- RELATED: WordPress user access: 100% FREE plugins to restrict user access in WordPress where I show you how to use Adminimize and User Role Editor.
- RELATED: See The Ultimate List of plugins 2016 we’ve put together for our readers.
- I allow shortcodes to execute in text widgets. I use this especially for the Beaver Builder shortcode to output Beaver Builder Templates into my website, such as outputting the blog sidebar template into the Primary Sidebar widget area. This is a common feature of the Templates in BeyondBeaver.com templates.
- Each of my client websites has my One Day Websites (my agency websites name) in the footer that links back to my website. I want to track in Google Analytics how many clicks each of my client’s websites gets, so I have the below shortcode that I output in the Beaver Builder Them Customizer > Footer by default. It keeps my footer text standardized and I know I am always tracking this.
3. I use the Child Themes on BeyondBeaver.com to streamline my sales process
Selling websites based on templates has allowed my agency One Day Websites to do websites extremely efficiently, hence the name One Day Websites (hehe). More importantly, it has allowed me to strengthen the bond between the client and myself as the sale is closed on the basis that our expectations of each other are in agreement. The client literally knows 90% off what they are getting. Sure, they’ll have a different logo, fonts and images, but the structure will be the same and the end product will match the proposal they’ve confirmed with their deposit.
Not only that, but selling templates means you can create templates for your quotes. Templates everywhere! Time saved everywhere!
IMPORTANT THINGS I HAVE LEARNT TO INCLUDE IN MY QUOTES / PROPOSALS
- I list all the pages that I will design. The exact names.
- I reference the template I will use for the client website and outline anything beyond this is quoted separately
- I specify the number of revisions the client can make once I send them the design. For example, commonly I will say 3 design changes. This limits the back and forth so that the total I quoted them for, based on my time and effort, remains true.
- Never lie and always be specific. For example, if I’m ever thinking “that’s in my terms and conditions” but I know it will potentially cause problems, I will just write it here. That way I know there won’t be problems. For example, I could include that the client gets 3 revisions in my T’s and C’s, but it just seems sneaky not to tell them upfront. It can be quite a big deal for some people and I would rather not have the headache.
4. Once the deposit is paid, I create the hosting account for the client. I log in to WHM and create a new hosting account for the client and then I use the Installatron app in WHM to duplicate the master install into this new hosting account and get it ready for importing the chosen template
CREATE A HOSTING ACCOUNT USING WHM
Creating a hosting account in WHM is a fairly common practise that you’re probably familiar with so I won’t go into too much detail here.
DUPLICATE THE MASTER INSTALL WITH INSTALLATRON
The thing I like about the process here is Installatron, a software I was exposed to about 5 months ago.
Installatron is a software that you may or may not have available to you depending on your host, and it basically works like Softaculous, wherein you can install WordPress using a GUI and then set up WordPress to auto update its themes, plugins and WordPress core. You can install Installatron on a cPanel level, or you can activate it on your WHM. I activate it on my WHM and set globals so that every site I create with it has the same settings. For example, with Installatron and as described above, you can set it to auto update themes / plugins and the WordPress core. So in WHM, I edit the global settings and have it set so that this occurs for all my sites, which means all my client websites are always up to date – automatically!
To clone the master WordPress install into this newly created client account:
- I log in to my WHM and create the new hosting account.
- I go to Installatron and clone the master WordPress install I discussed above.
- Once complete, the client’s website is setup and, as we used the Installatron App to do this process, their website is now automatically backed up to Dropbox and the themes / plugins / core of this new install will begin the process of auto-updating. Just like that! Everything that is included in my Website Care Plan (maintenance plan) – minus the included monthly design time – is already automatically happening to the website before I even start coding.
ADD CLIENT DETAILS TO FRESHDESK FOR CLIENT SUPPORT
- I add the details for this client in Freshdesk to make answering support tickets easier and it saves me needing a CRM
- I create a new contact for the client in Freshdesk
- I have custom fields set up for contacts, including the below, which I add at this point
- WordPress Admin and Client WordPress login details
- FTP Details
- Email details
- Any additional notes
That way, if a client emails a support question, I can just get their details and log in to their website if needed. It also saves me needing a CRM, and currently how I am using Freshdesk is FREE!
5. I import the BeyondBeaver.com template I will be using for the client
Following the documentation for the website template I am using, I activate the child theme, import the dummy data and Beaver Builder templates and also import the theme customizer settings. After doing these quick steps, I have a site that looks exactly like the preview for that template in the BeyondBeaver.com shop. In under a minute.
6. I begin to customize the chosen website template. By designing based on templates, I have reduced my design time by 75%!
To put this in perspective, previously when I would sell a client website without basing it on a template, the first step post them paying their deposit would be to take a new design document and get going. As I clicked away I always had a slight feeling of uneasiness, a sense that this call to action I had just spent 5 minutes designing, or this form I had set there for minutes thinking of the best title to put there – could all be for nothing. Maybe the client won’t even want this here. Maybe they wont like this font and I will have to edit all the headings on the page. Uneasiness. Designer uneasiness – the feeling that what you’re doing is not going to be used in the end product.
Since using templates, I’ve significantly reduced this.
THE DESIGN PROCESS
- I always start by editing the settings in the Theme Customizer. If you think of a website as being a hierarchy of rules, the Theme Customizer is where you want to set your global settings. Then, you can override these global settings using CSS and the Beaver Builder module settings for each module. You want to work your way one-by-one through these settings and, by the end, you’ll have a completely different aesthetic already – depending on the colours and fonts you choose. By the end of these settings, you should have the general look and feel of the fonts and colours, have the client’s logo in there and the header of the site mostly complete.
- I then edit the home page headings. First, I go in and change all the headings on the page. Lots of customers to a website will be skim readers, so sometimes a website’s headings will be the only thing that is read. For this reason, I think headings are the most important thing on a page and should either provide all the important information a customer needs to buy your service / product, or intrigue them to keep reading the paragraphs below the heading. I also like to think of the headings as a sort of index page that you’d put on a review, which people can skim read and get an idea of what is happening.
- TIP! I actually learnt from lead pages that headings on a page should not be ambiguous, but rather straight to the point. Instead of having a heading “Our Experience” and then having a paragraph of text below which explains all the important stuff like 30 years of experience, award-winning etc, put these in the headings for skim readers. Make your heading “30 years experience and award-winning”
- I choose images from a stock library that work with the heading of each section to communicate the point. Editing the page in Beaver Builder, I upload watermarked versions of each image from the stock photo library and the images should tie in with the heading its matching section to convey the point. The heading and images should be able to tell a story and, when considered holistically with the other sections on the page, should tell the story you’re trying to tell for the client.
- IMPORTANT: I do not change any paragraphs of text / body copy. This is the clients job. I have found it incredibly beneficial to choose their images and fonts / colours because we’re the professional designers, and the headings I write in the sections will help the client spark the content for the paragraphs. But the copy itself is up to the client.
- I repeat steps 2 and 3 for all remaining pages. I continue to edit the headings of the template, and replace the background images and any other images in this section with images I feel work with the heading I have just given this section.
- I send the URL of the website to the client and also provide their login details. I outline that they can send me colour changes, font changes and image changes, but I also specify that they have access to edit anything on the page. Their use role in regards to Beaver Builder editing capabilities can only edit existing modules – they cannot build pages by adding new modules and rows to the page. Why? Because that would take it out of the template I quoted for in my proposal. I have not had any clients have a problem with not being able to add new rows and it allows me to best set up everything with global rows and keep the code of the website as clean as possible.
- I make any changes to the website that the client could not do themselves. Fingers crossed there won’t be many, and as I’m using the Beaver Builder Theme (okay you might not be but you should 🙂 ), I can make most changes in the Theme Customizer by changing some drop downs and colour pickers. Thats’s what I love about the Beaver Builder Theme!
- I revise the design based on their suggestions. However, sometimes you have to remind yourself that you’re the professional and you need to advise against some things the client wants changed. Also, sometimes their changes will take quite a bit of time and won’t make much difference, or as with A LOT OF THE TIME THE CLIENT DOES NOT EVEN REALLY CARE – they just thought it was cool because they had seen it somewhere else.
- The client signs off the design and I purchase the watermarked images from the stock photo library.
- TIP! As I have the plugin Optimus.io installed, any images I add here are compressed but I still crop them to size in photoshop before I upload them to this website.
- I then go into the WordPress dashboard and delete any media that is not being used, including any images that were not chosen by the client and also all the watermarked images that I have since replaced.
- The website is ready to go live!
7. Once the client is happy with the design and content of their website, I collect the balance owing, set up their monthly Website Care Plan and put their website live
This is the most exciting part for web agencies like yours and mine because we’re so close to the finish line and can see everything coming together. And with Installatron, the process is simple.
- I send the client a link to purchase the WooCommerce subscription product that matches their chosen Website Care Plan. I will send them a link in an email that goes directly to the cart and adds their product, so all they have to do is go through the checkout process, register during checkout (I force this) and pay with their credit card using the Stripe Gateway. How I do this is simple. In the WordPress admin, get the product ID and add it onto the url. So, in my case, my website is www.onedaywebsitedesigns.com.au and a product ID could be 77 for a 56 dollar a month subscription. So I send them an email with the link onedaywebsitedesigns.com.au/cart?add-to-cart=77 and automatically they land on the cart page with their Website Care Plan product in the cart for them to complete the checkout.
- Once the monthly Website Care Plan is set up, I uninstall the Ultimate Coming Soon plugin so that the website can be seen and indexed
- That’s it! As discussed above, when I created the WordPress install with Installatron, the backups to dropbox, auto updates of the themes / plugins / WordPress core are already happening.
9. I add the client to Freshdesk and email them letting them know to email support@ if they have any issues
I love Helpdesks where the client does not have to log in to lodge a ticket. I mean, what if they lose the link or password to the ticketing software – they are going to call you.
Freshdesk allows my clients to email me directly and a new ticket is lodged automatically. I am still building up my canned responses but so good so far.
10. And that’s it! The client is on my Monthly Website Care plan where I help them based on the package they choose
I would love to hear your thoughts on this article “Software you need to run a web agency”, including how you are doing things differently and how you think I could do things better.
Just leave a comment below 🙂 And remember, design with templates and your life as a web agency will be a WHOLE lot easier ;P