Any Business Questions?

At WordCamps and WordPress meetups, I come prepared to talk code but other developers seem more interested in my thoughts on business. It helps that I went to school as a finance major and have a few startup experiences under my belt.

I’d like to do more blog posts and conference talks on business/freelancing, but not sure exactly what I should talk about.

Do you have any topics or questions you’d like covered?

Bill Erickson

Bill Erickson is the co-founder and lead developer at CultivateWP, a WordPress agency focusing on high performance sites for web publishers.

About Me
Ready to upgrade your website?

I build custom WordPress websites that look great and are easy to manage.

Let's Talk

Reader Interactions

Comments are closed. Continue the conversation with me on Twitter: @billerickson

Comments

  1. Jon Brown says

    Here’s a thought as I suffer through a failed computer. What are your backup strategies? I don’t mean data backups, I mean what are things you’ve learned to setup as contingency plans for when things go wrong that affect your business.

    For example, my 22 month old MBP died this weekend (video failure of some kind, it’s off to Apple) . So while I DO backup data in duplicate (onsite offsite). I have a 2009 Mac Mini that I keep around as a file/media server and spare computer just-in-case. I spent a few hours troubleshooting my MBP, but once I knew definitively it was dead, I swapped my SSD into the mini and was productive again in a matter of minutes. If hadn’t had the mini, or had for example a windows machine as a backup it’d have been a HUGE disruption to my business.

    Additionally I keep at least 1-2 months income around in cash (not paper, in my bank or invested somewhere very liquid). That’s the buffer I need to know I can always weather the variability of income that occurs in my life. Projects sometimes go sideways and require extra effort I might not get paid for, or I spend some extra time on a passion.

    Curious if anyone has bussiness insurance?

    My renters insurance specifically excludes work assets (IIRC I think it’s actually just capped at $1k) unless those items are specifically enumerated on my policy. For about $6/m extra I have an extra $10k in loss and peril coverage that specifically covers all my computer and camera gear. What’s great is that it actually covers it everywhere from theft AND damage. If I spill coffee on my MBP at the cafe, it’s covered. If my luggage disappears in baggage claim, covered…. etc…

    • annie says

      I use a portable hard drive with 500 GB and back that up regularly. And BackupBuddy. I move and copy site “shells” all the time with BackupBuddy.

    • Bill Erickson says

      I have a bunch of computers floating around the house (old minis, airs, and macbook pros) so if something goes wrong with my primary computer I can quickly switch.

      I learned this the hard way when my old Macbook Air became unusably slow (overheating, so the system reduced the processing power by like 80% to try to decrease heat). After a week of barely getting my work done, I bought a mini to use while my computer was in the shop.

      I keep all my working files (PSDs and notes for active projects) in Dropbox so I can access it on any computer. I have a home server that my laptop backs up to overnight, and a portable SSD with backup that I keep in my safe deposit box at the bank.

      Since I work from home and my computers are also personal computers, I’m pretty sure they’re covered by my homeowners insurance, although I should look into this.

      I used to keep 3 months of expenses in my business savings account earning nothing. A few weeks ago I looked through the data of the past 12 months and noticed I had never gone below 1/6 of that in my business account, so I’m reducing it to 1 month of expenses. This is strictly for business operations – I keep 6 months income in cash as personal emergency funds.

      • Jon Brown says

        In this same vien of business contingency plans for freelance/self-employed folks is what happens to your clients if you die or less morbidly are abducted by aliens or have some other emergency?

        Does your client have access credentials to take the work elsewhere? (I know Bill works mostly, deliver the product and move on, but what about mid project?)

        Is there anyone prepped to take over completing the project if mid-way through you end up in coma or someone you have you can refer emergency support if you happen to be on vacation for a month?

        • Bill Erickson says

          To be honest, I think that’s simply a risk of working with a freelancer. If I’m hit by a car in the 1-3 weeks I’m building their site, they’ll have to hire someone else to build their site. Luckily they won’t have spent too much so far (max of $2500, which is initial 25% payment of the largest project I’d take). They can sue my estate for their deposit back.

          When I’m on vacation, I prep my active clients a few months ahead of time and provide them with information on developers that might be able to help in an emergency. I also don’t go more than a few days without checking my email (even when I was in Europe for a month), so I can forward away emergencies as they happen.

          • Jon Brown says

            I totally agree! When do I ever disagree with you on this stuff…

            I know enough about your business that I think you’ve got all this well covered with your system and referral base. The short turn around time helps for sure too. Many of us though do work on many months long projects.

            I think a lot of people starting out don’t think about those things and there are a lot of people who’ve been doing it a long time don’t think about the _value_ of those things.

            From the freelancer perspective I think talking about setting up systems so that the logistics of making sure client’s or their representatives have access in your absence is best built into the project setup process. As is explaining the tremendous value of building a referral network of peers with work coming BOTH in and out.

            Steve Zehngut has done a great WordCamp talk on “How to hire and mange a developer” a couple times that is great talk for both clients and developers that is a good watch on this subject: http://wordpress.tv/2011/09/08/steve-zehngut-how-to-hire-and-manage-a-developer/

            From the client perspective, I think these are important things to consider when deciding whether to hire the $50/hr person or the $150/hr person. I could work much cheaper if I played fast in loose without version control, working on live sites, etc… I don’t because that’s a disaster waiting to happen.

          • Bill Erickson says

            If you’re working on multi-month projects, then yes, you definitely need backups and contingency plans in place.

            For me, my sysadmin does daily backups of my development server, and when I finish the initial build of a site I export the database, upload it to wp-content, and then tarball the wp-content directory so I have a complete backup (in case the client messes something up somehow).

            It might be a good idea for me to share that link with the client. If something happens to me, the client could provide that to any other WordPress developer and get it up-and-running.

            But it does seem like preparing for an extreme tail risk. Like putting the money you plan to spend next month in 30 day treasuries because you’re worried your bank might go under and FDIC insurance is under-insured. While a possibility, most would think it remote enough not to justify the additional work.

  2. Annie says

    Bill,
    So the largest project you took was $10K of which you required 25% down before starting? Wow, I’m not charging anywhere near that, but my projects have thus far been pretty simple. I guess I am still a newb. 🙂 What would a $10K project entail?

    • Bill Erickson says

      Liquor.com was a $10k project, and there’s a few others in my portfolio. But what I found is that once I get to projects of that size, I’m absolutely horrible at quoting and always underquote. I probably made $20/hr on Liquor.com (put in 500 hours).

      I have an informal project max of $10k because I personally can’t reliably estimate my time for projects of that size. I know many places who have minimums higher than that.

      • Annie says

        I’m assuming you did it from scratch? I see 74 pages of “drinks” at liquor.com. Did you train someone on how to upload their data? Or did you take a file and upload most of it for them? When I see sites that require a large number of products I usually send them elsewhere. Another question, do you start with a framework like genesis or just a shell from another successful project? I’ve avoiding doing anything completely custom because then the client can’t go elsewhere and can’t make changes themselves. My clients are smaller than yours, obviously.

        • Bill Erickson says

          They input all the data, I just built the theme and backend tools for entering that data (post types, taxonomies, metaboxes…).

          All the sites I build are custom Genesis child themes. Here’s the theme I base all the child themes on: github.com/billerickson/BE-Genesis-Child

  3. Amber @ Au Coeur says

    Bill, are most of your clients really tech savvy? Or do you have to train them on how to enter all the data/content necessary to fill out the website? How do you assess the amount of assistance they might need prior to project initiation and how many hours of training do you normally include in your flat rate? I’ve run into a few situations where the training has gotten completely out of control and I’m figuring out that I need to better assess and account for the time commitment when pricing projects.

    • Bill Erickson says

      I provide video tutorials through WP101 Plugin. When I send the site for review, I provide a bulleted list that describes how to edit every aspect of the site (ex: manage the content in the right side of header in Appearance > Widgets > Header Right). I also include up to one hour of phone training/support in my quote. If they need more than that, it is billed separately.

      I find the above satisfies 90% of clients, and the other 10% are willing to pay for the additional assistance. This way support doesn’t materially affect my estimate.

  4. Cliff Currie says

    You might want to touch on the subject of what kind of organization is right for Drupal and which is right for WordPress. There is a ton of consumer confusion around this and I think the WP devs need to highlighting the benefits of WP more in today’s market place.

    • Bill Erickson says

      Both WordPress and Drupal are technically equivalent – anything a top Drupal developer can build, a WordPress developer could also build. The main difference is the interface for managing content, and WordPress is much easier to manage.

      The only situation where I think Drupal is the right choice is if you have inhouse developers that are experienced in it. There’s no reason for your team to learn a new CMS when they can accomplish the same in the one they know.

    • Jason Resnick says

      Ask a developer who’s used Drupal and you’ll hear the rant about how much of a pain Drupal is to dev on. Plus Drupal for a client is difficult to comprehend. They have a ton of block and modules that make up a page, whereas WP just goto Edit Page and chances are, all your elements are right there.

  5. Richard Buff says

    What’s your daily schedule like to produce at the rate you do? How many days each week do you work and how many hours each day/week?

    • Bill Erickson says

      I usually start around 8am or 9am. From then until 10am I do emails. If the response or action will take less than 5 minutes, I do it right then. If not, I add it to my to-do list (these are typically change requests for current projects or reviewing large RFP so I can provide a quote). From 10am-noon I have phone calls scheduled most days (clients book 30 minute time slots using ScheduleOnce). Between calls I knock out what I can on the to-do list. After lunch, I put in a good 4 hours of work on client projects. In this time I can usually build a whole site if it’s fairly simple, or finish up change requests. Around 4 I hop back into emails and take care of them until I’m done or my fiancee gets home (typically around 6). Anything not done by then gets pushed to the next day.

      If I know I have a ton of work to do I’ll sometimes work in the evenings after dinner or on the weekend. But I do a pretty good job of keeping a work/life balance and only putting in a 9-5 day. I also try to go on a run a few times a week, and take the dog on a walk once or twice a day. I try not to sit at my desk for more than 2 hours at a time.

      Quite often work will get done fast and I’ll have a day or two free. I try not to pack my calendar too tightly with scheduled work since it’s difficult to predict when active projects will require changes.

      Here’s my workload for this week:
      – Starting one project that’s scheduled for 1 week (delivery this Friday)
      – Finishing the second week of a larger project scheduled for 2 weeks (delivery this Friday). I pretty much finished this last week so just need to do a bit more testing in browsers and mobile devices.
      – Starting a larger project scheduled for 2 weeks (delivery next Friday).
      – Have 25 active projects, including the 3 with initial dev scheduled this week (the ones listed above). The other 22 are sites that I’ve finished the initial build on but are still on my server. Clients can request changes on these, or ask me to migrate to finish the project. I think 2 or 3 will be migrated this week, and right now I have change request for two of them sitting in my email.

      • Jon Brown says

        How do you take in change requests, budget time and scheudle time for changes to sites that are already through the first phase? How do you respond when those incoming changes are out of scope?

        • Bill Erickson says

          Change requests are emailed to me, typically as a bulleted list of changes. I let them know that it typically takes 2-3 business days for each round of changes, and if I expect it to take longer I let them know.

          At the beginning of the week I’m more focused on my scheduled work, so I typically focus on change requests towards the end of the week.

          When I quote projects I always include time spent for changes (typically 20-40% of initial dev time). It doesn’t matter if they exceed this time – as long as their requests are within the original scope then I’ll make the changes.

          If it’s outside of scope, I’ll let them know why (ex: copy the part of our scope document that’s relevant), and let them know the best way to proceed. This either means quoting for that feature and scheduling it, or working on a time-basis and billing for time.

      • Jon Brown says

        Also looking at your schedule I don’t seem time for blog posts, blog post comments, emails to non-clients. Is that all in your morning block?

        • Bill Erickson says

          Emails to prospective clients (ex: people who contacted me using my form) fall into that 8-10am time and at 4pm.

          I don’t have any scheduled time for blog posts or comments. I do it whenever I have a chance. For instance, I’m migrating a site right now, so I have a few minutes to catch up on comments here).

          • Jon Brown says

            Thanks. I’ll slow down the typing on my iPad now and try proof reading my words before hitting submit, not after.

  6. Richard Buff says

    I know that you have someone else do the design and you don’t host the sites, but within your scope of things that you do, what areas of your business have you been able to standardize enough that you can get others to help with your business? For example, I thought I saw a reference somewhere that your significant other helps you with the business ( I could be wrong on that ). What part of your process could she do and would it require a high level of technical knowledge? I ask because I’ve often thought about trying to bring my own wife on board with my business, even though her degree/education is in an unrelated field.

    • Bill Erickson says

      I’ve standardized my development practices with the goal of allowing me to outsource parts if needed. I start by building all the functionality in a theme. At the end of this stage it looks like someone took a website and delete its stylesheet. The next stage is then to style the site. In the past I’ve experimented with outsourcing this second part to markup companies, but I ended up spending more time cleaning up their CSS than it would have taken me to build it. So while development is standardized and outsource-able, I don’t do it.

      It would be nice to outsource the communication and quoting, but I’ve found that’s just not doable. I tried standardizing my quoting process so my fiancee could handle initial client calls and quoting, but there’s just too much technical knowledge required for answering client questions and providing accurate quotes.

  7. Nick Birmingham says

    With the model It’s seems you have built you charge the client once and then you are done. How are you going about building residual income if the clients are only charge at the beginning? thank you for your time.

    • Bill Erickson says

      I’m not attempting to build residual income through my services. I get residual income by investing my excess revenue in stocks, bonds, and other income-generating investments.

      One of the most overlooked aspects of generating recurring revenue is the cost of doing so. Yes, I could offer to manage my clients sites (update WordPress, plugins, and fix issues as the pop up) for a recurring fee, but the time spent doing that is time I can’t spend building themes. It’s much more profitable for me to focus solely on theme development. I’ve yet to identify a possible recurring revenue source in my business that provides the same or better return than the service I currently provide.

      That’s not to say that all recurring revenue sources are sub-par, just that I haven’t found one that will work for me yet. Thomas Griffin built Soliloquoy, a premium rotator plugin, and it is generating enough recurring revenue to support himself. But that required a large investment of time upfront, and (most importantly) had a substantial risk of not providing a reasonable return if the plugin didn’t become popular.

      You should definitely look at all revenue opportunities, both one-time fees and recurring. But keep in mind the pros and cons of both and make sure you choose the one that rewards you the most.

      For more information, see my post In Defense of Consulting Businesses.

  8. Richard Buff says

    Regarding your business model of building it and then handing it off to the client, what about areas that might get blurred into being dependent on the client adding the content? For example, what if someone requests you to redevelop an existing site with a 1000 pages on it. You might finish your development in a week, but they haven’t necessarily got a 1000 pages setup yet, with content brought over. Who handles setting up the 301s? Is this built into your quote as part of your launch procedure, or do you just show them how to use a Redirection plugin and then let them do it? I really admire your super-standardized business model and am attempting to standardize aspects of my own, but I keep running into aspects where the clients require some hand-holding.

    • Jon Brown says

      Also in this vein… I’m curious if you’d share how many clients just completely drop the ball and never enter content and what if anywhere you point them in that scenario. The majority of my clients are woefully poor at inputing content and I’ve really struggled with what to do about it.

    • Bill Erickson says

      During the quoting process we’ll identify all the aspects of the site that they need help with, and find people to do it. I don’t do content entry except for that featured in the PSDs. If they plan to have 1000 pages of content, it’s up to them to write it. If they’d like help with it, I can introduce them to some writers familiar with WordPress (no need to pay a developer rate for copy/paste).

      If they already have a large site that’s not on WordPress (ex: Drupal), I can also bring in a database developer to port their content to WordPress. This is usually done concurrently with the design. It gets migrated to a clean WordPress install with the default Twenty Twelve theme. Once they confirm everything they want is there, I’ll build the theme on that installation, and then they can tweak the content as they like once dev is done.

      Jon brings up a great point about clients not finishing the content entry in a timely manner. I try to help where I can, but at the end of the day they are the ones who know their business and are qualified to write the content. Most sites launch within about 2 months, but I have one that’s been on my server since Feb 13, 2012 (5 more days until the one year mark).

      These types of clients really need more hand holding and content creation help than I can provide. If I can identify this early on, I’ll recommend they bring in a project manager or content editor for them to stay accountable to.

  9. Richard Buff says

    Do you insist that the site be built on your server? Or would you build it on a client’s Hostgator account if they wished? I’ve had situations where I built a clients site on my server, moved it to theirs, and key functionality broke. But I was able to point to the still-working development URL on my server to prove that my code was fine and that it was something outside my control that was now not working. I would think building on your own server would also give you more leverage if a payment issue arose before the site went live.

    • Bill Erickson says

      I’m happy to build on their server if they pay 100% upfront. I don’t release my completed code until all invoices have been paid.

      It’s important to have a good migration strategy so you don’t have issues when going live. If there is an issue, it’s usually because their server is missing something important and I recommend moving to a high quality host like WPEngine.

      • Annie says

        Wow, I just assumed everyone developed on their own server and then migrated. I only developed on someone else’s server once and it was pro-bono. She was paranoid about giving anyone access (which is probably why she couldn’t hire anyone) so I didn’t have enough access to back up anything. You can guess the rest. She wanted an immediate change and I was busy so she tried herself. Lost 30 hours of work in a heartbeat. It was heartbreaking but I learned a lesson–always on my server. I have always had everything prepaid. I can’t imagine not. I’d be spending too much time worrying if I’d get paid the rest. I don’t have the energy for that, too wasteful.

        This is really educational. Nice to see what other people are doing and what mistakes they’ve made (and no longer make).

        • Jon Brown says

          FWIW, I develop everything locally and under version control (so in addition to to the other benefits I always have a backup). I have a dev server I show clients work/progress on. By default I give clients access to their own cPanel on the dev server, and I’ll push development builds to their own server if they want (On new clients I’m prepaid if I do that, on-going clients with a good history I tend to trust).

          Also, I wouldn’t take any responsibility for working on or migrating a site to a server I didn’t have complete access to.

          • Bill Erickson says

            To your last comment, my contract only includes 30 minutes spent migrating unless it is to my recommended host, WPEngine. So I get compensated for time spent troubleshooting their server environment

            • Jason Resnick says

              I think it’s really important to develop and migrate to familiar hosting providers.

              Bill, how do you put that in to your contacts though. Especially if they already have their own hosting services. I use a version of contact killer but don’t have anything in there about hosting. I would love to see a sample of one of your contacts just for all the terms. Maybe even more how you get people to agree to all of them 🙂

          • Bill Erickson says

            From my contract:

            Migration
            I will provide free migration to the following hosts: WPEngine and Bluehost. If your site is hosted with any other host, you will receive 30 minutes of time spent migrating and/or troubleshooting your host, after which it will be billed at my hourly rate.

  10. Annie says

    Hi Bill,
    Have another question. What do you do about spammers? Is there a particular plugin you use? I’ve used Akismet from the beginning and HostGator provides a nice stat page so I can research the IPs, but there are some pretty crafty spammers out there, especially from the eastern european and russian blocks. I have about a dozen sites that get constant hits from spammers. It puts a big burden on the bandwidth to constantly get that. Any suggestions? I use fast secure contact form plugin with captcha and domain/valid email checking and have all comments moderated. I’m looking for something to just enter their IPs and ban them completely from all of my sites.
    Annie

    • Bill Erickson says

      I haven’t had any issues with spammers. Akismet takes care of blog comments, and Gravity Forms does a good job of preventing spam emails from my form.

      • Annie says

        After I asked that I remembered you don’t do maintenance for your customers; you design and leave the maintenance for the customer. I have some who need the maintenance and then spam can be an issue.

        • Bill Erickson says

          I’m not sure how providing maintenance would result in spam. There shouldn’t be any spam regardless of the service you provide.

          • Annie says

            So you continue to monitor their sites after you release them? If you’re not monitoring them or maintaining them, how would you know if they were getting spam?

        • Bill Erickson says

          1. If they were getting hammered with spam, they’d come back to me to fix it (has happened when they disable Akismet)
          2. A lot of the time I forget to change the email in Settings > General, so I get notified of new comments and user registrations. If they were getting spammed, I’d know it.
          3. I’ve built and maintain many WordPress websites, including popular ones like my site right here. I don’t get spam very often. Maybe one or two comments a month, and those are human written spam trying to get backlinks on my site.

          • Annie says

            I have at least one site that gets about 300 akismet spam per month. It’s a movie review site. She doesn’t want to accidentally delete someone’s legitimate comment, so she browses through the spam before she deletes it. I have another site that gets about 2,000 hits a month and about 2 contact form spams (where they are looking for backlinks). They are usually from a spamming IP in the Ukraine. That’s why I asked the question. Have you built something into your Genesis child theme or maybe it’s something from way back when that you’ve adopted into your basic site build that you’ve forgotten? I’ve attended ithemes and other webinars and have heard others with similar problems so I doubt it’s something unique.

          • Bill Erickson says

            Ah, we have different definitions of a “spam problem”. To me, if spam shows up in Akismet then that’s not a problem – Akismet did the job and I didn’t have to mark it as spam. I’m not sure what the false positive ratio is, but I assume it is pretty low.

            But, good comments do slip in there, especially if they contain a lot of links. I’ve had people email me saying their comments don’t show up. I look in spam, find it, mark it as not spam, and then they don’t end up there again (your comment is automatically approved if you already have an approved comment).

            To your specific question about blocking IP addresses, no I don’t know of a plugin that does that. But that’s a pretty poor spam protection approach. Spammers can easily have dynamic IPs, and if simply blocking the IP worked then Akismet would do that.

            With regards to contact form spam, I recommend using Gravity Forms as it has spam protection built in. I do remember getting spam when using other plugins, like Contact Form 7, but since I started using Gravity Forms I receive no automated spam.

            • Annie says

              Yes, I was afraid of that–there wasn’t really one. I don’t really want to block IPs as that is a slippery slope and could get time-consuming, but it’s also time-consuming to go through the spam folder. I’d rather just have her empty the spam and hope there are no legitimate comments in there. I have been using Fast Secure Contact Form with captcha, but that doesn’t stop a human. The spammers in the Ukraine all have the same IP prefix so they are consistent. This is one of my time wasters. I have yet to try Gravity Forms.

          • Philip Downer says

            Hi Annie,

            Folks who receive a large amount of spam is certainly nothing new. I think what Bill is getting at is that there’s only so much you can do during the web development process to address spam. You can certainly ensure that the site is developed in a manner that will help the administrator identify and delete spam (installing Akismet, etc), but by it’s very nature spam prevention is something that must be done on an ongoing basis.

            If you’re interested, check out the following link on Perishable Press. Jeff Starr has done quite a bit of research on the subject and uses the .htaccess file to eliminate some of the most common sources of spam.

            http://perishablepress.com/5g-blacklist-2012/

            Spam is a pretty common topic in the WordPress community, so you might also want to check out the following links:

            http://codex.wordpress.org/Combating_Comment_Spam
            http://mashable.com/2008/02/10/fighting-spam-wordpress/

            • Annie says

              RE: Spammers. Thanks to both of you. The .htaccess will be my last resort. Already did everything on the other link. I did not realize that spammers can get their comments in your RSS feed before they’re approved. Akismet is catching all the spam. I was looking for her to not have to wade through the spam folder. I installed Stop Spammers Plugin on the movie site on 2/6 and just checked. It’s caught 268 so far. Only 5 comments in spam. That’s much more manageable. I think I will stick with that for now.

          • Jon Brown says

            Hehe… I thought it might be a “definition of spam” issue.

            All sites, like all email, will get some spam. Good filters will auto-categorize/block much/most/all of it. Akismet is remarkably good.

            CloudFlare can help block some spammers and malicious traffic (by ip). I’m a huge fan of CloudFlare.

            Or you could just disable comments and contact forms entirely…

          • Jon Brown says

            CloudFlare is free for basic service which includes security….

            You only need to pay if you need SSL, brand-able captcha pages (only shown to spammers), advanced cache control, etc…

            I’ve never needed paid service for anything other than SSL

            • Annie says

              Thank you. I will give it a shot. I assumed “optimized for mobile” meant it might not work on responsive sites, but I think I was reading too much into it. I’ve been working 26 hrs straight with a 4 hr break and I’m tired. 🙂