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?

Business General

Receive New Posts by Email


  1. I’d love to hear how you handle project/scope creep. I read that you tend to quote flat rate projects. Which is ideal since the client is paying for value rather than time. But how do you handle the “can you also do this…” type requests? Even the ones that take 5 minutes can add up, but you don’t want to be the “that’ll be extra” guy either. How do you handle the process?

    1. Great question. The short answer is: keep the projects simple enough where this isn’t an issue. I require finalized designs and a scope document (which I write) that describes all the functionality. If the request isn’t in one of these, it’s outside of scope and extra. I’ll usually throw simple things in, but I try to be as clear as possible so I can reserve the right to draw the line once they go too far.

      From the scope document: “Implementation of any complex functionality not already present in WordPress and Genesis, not easily implemented by available plugins, and not described here is outside the scope of this project.”

      But at the end of the day, you’ll always end up with clients that are just more difficult than others. Quote high enough so on average it works out.

      1. In relation to the scope creep question, what’s the average time from when someone comes to you and says “I want you to give me a website” until development begins. Seems that if you have to get the design and then create that scope document, that you would spend a ton of time providing quotes

        1. About 50% of people come to me with designs already, so from initial email to development time just depends upon how booked I am (typically 3-5 weeks).

          For the others, I provide a sample quote based on what we’ve discussed, and tell them I’ll provide an updated one once the designs are finalized. Hopefully a lot hasn’t changed, but if they have I have a chance to update the quote.

          1. Oh ok, so you pretty much have these “sample quotes” on hand ready to go and can fire them off at will without too much editing, correct?

            I know that you said that you have canned responses, terms, contracts, in emails that you’ve built up so that you don’t always have to re-write them. It’d be awesome to see a list of those titles (not saying give up the whole content – unless you want to of course 🙂 ) – but I’ve got a list of canned responses as well, but most are for landing projects, quotes, and being out there in the social network game. But not so much for things inside the workings of a project.

          2. In the same vein, how do you handle the timeline of scope creep? If you’re 3-5 weeks booked and the client wants something outside of scope, do you continue working on it even though you have other projects scheduled? Do they go to the end of the line?

          3. If it’s relatively small and I have the time in my schedule, I’ll try to get it done with the project. But typically it will wait until I have availability. I’ll say “my first availability for a project of that size is 3 weeks from now. Should we schedule it?” It’s up to them if they want to launch without that feature and then add it in, or leave it in dev for a while longer while they wait for me to get to it.

            One thing that also helps is what I require to “get on the schedule”. I require a 25% payment of the project made before we can schedule a time. Before doing this, I’d have a lot of people who would book and then cancel with me later, leaving holes in my schedule. This way they’re more committed before booking a project and less likely to cancel. It also means I’m not booked up as much as I would have been (that 3 week wait they have now would’ve been 6-8 weeks if I didn’t require payment to book).

  2. Well, you obviously know some of the questions that you’ve answered for me. But I’m sure that others have had similar questions as me. Such as what sort of business structure and why? Maybe how to grow your business while maintaining a heavy workload, personal/business life balancing act, if it’s needed to get a lawyer/accountant/etc to help your business.

    1. More great questions. Difficult to answer the work/life balance part in a comment, but great idea for a blog post.

      (Consult a lawyer, accountant, financial advisor, and anyone else you can think of before making business decisions like this. This is what worked for me) I worked for my first 5 years using a DBA, but at the prodding of my father (a lawyer), I moved to an LLC about two years ago. Biggest benefit has been the ability to get a SEP IRA, which lets me put away 20% of my income tax-free. This is only a good one if you don’t have employees because you have to give each employee the same amount for their retirement.

  3. Self-employed/Freelance business knowledge is by far the most valuable thing I’ve gotten out of the WordPress community and particularly the OCWP meetup group.

    Code review/advice are certainly valuable as is help finding a the right plugin. However, having come into this carrer from a much larger corporate entity the transition to self-employment (personally I have a pet peeve against mixing this concept with freelancing) has been a huge challenge eased tremendously by my WordPress peers. In that vien the thing I’m still most vague on is contracts, billing and payement schedules. Accounting advice is always helpful as well, even if it’s just “I gave up doing account and hired someone for $X, it’s saved me a fortune by allowing me to focus on work”.

    Scope creep is a perennial issue in every bussiness I’ve operated in, so handling THAT actually hasn’t been too much of a challenge. Write a clear scope, be clear when someone wants something outside it, write a change-order/extra and get back to work. The challenge I find is explaining to clients what that interruption/change will do to the schedule.

    1. If you’re not good with numbers and don’t like keeping track of your personal spending, it might be a good idea to hire an accountant to handle it for you.

      As a finance major, all accounting software bugs me and I just do it all manually in a spreadsheet. I have my General Journal where you write the date, account (ex: Revenue, Office Expense), description, document, and amount. I keep a running SUM() on the side so I can see how I’m doing for the month. At the end, I sort by account, then date, sum up each category and put it in an income statement.

      That will make a great blog post, and I’ll share a sample spreadsheet with it.

  4. Financing the business
    Brick and mortar shop versus at home business.
    Shared space similar to what you have done (required space and features that would interest people to use the shared space)
    There’s plenty m

    1. I didn’t/don’t really need any financing for the business. I work from home on my laptop. Anything I need (ex: got a new computer this month) is financed through revenue. Web design is a low cost / high profit business 🙂

  5. Would love to see more posts from you about how you run a successful freelance business. I know in your presentation to the Houston WordPress Meetup you mentioned that you use canned email responses in Gmail to manage the phases of a project – it would be great to hear more about that.

    I also know you don’t do maintenance and I’m wondering how you approach that with clients. I am assuming best practice would be to “future-proof” your code as much as you can so that updates to WordPress, etc., won’t make things go wonky – but if you ever are in that situation, how do you handle it?

    1. Here’s a list of all the headlines in my quote:

      Other canned responses I have:
      – Re: WordPress Development (description of the services I offer, how much they cost, and when I’m currently available to start)
      – Designer and Developer recommendations, for when I want to pass on a project
      – Project Start, which tells the client why they’re receiving an invoice (my payments are tied to project start), when they can expect the site to be ready, and some video tutorials to watch while I build it

    2. I don’t have a project minimum for changes to past projects, so I technically do allow maintenance/small changes, but I try to avoid that work. I build the site so it won’t need much work (put on WPEngine for updates, build custom plugins that have the functionality client needs…).

      When I am needed for changes, it gets added to the queue. Short changes can usually be squeezed in within a week or two. Larger changes are booked right along with site development, so it could be a few weeks before I can start on them.

      I also have developers I recommend that don’t have project minimums, which might be better fits for small changes.

      1. That makes sense. I have been thinking about recommending WPEngine more strongly to clients, so that if a plugin update, etc., causes their site to go wonky, they can restore it easily and then contact me to say “How soon could you take a look at this?”

    1. The best free advertising is client referrals, but if you’re just starting out you won’t have that 🙂

      What’s worked best for me is finding a niche where I can be one of the few experts. About 5 years ago I started building sites using Thesis, and I got a ton of traffic from their site. Later I switched to Genesis, and I still get most of my leads from them. It’s a great cycle: I build a site using Genesis => they put it on their site to show “what Genesis can do” => this sends me lots of prospects looking for the same thing => … the cycle repeats.

      Find a company or type of company that would benefit from sending work towards a trusted developer. You might focus on a theme (Genesis, Sandbox, Thesis), a plugin (bbPress, BuddyPress, Gravity Forms), or a hosting company (WPEngine, Pagely, ZippyKid).

      1. That’s very helpful. I just started using Genesis and love what it can do. Incidentally, the first one was a lawyer’s site and it looks beautiful. He’s happy with it and a peach of a client. Hopefully that will generate some referrals. My first clients were all non-profit which I did pro-bono and the referrals were all, pro-bono. 🙁 Craigslist has generated some, but not enough. And although I’m working with Genesis now there are a lot of Genesis developers out there. I love the niche idea. Genesis + something… Any more advice?

        1. Take a look at I send people who have changes too small for me to take on over there. Not sure how many Genesis developers they have, but it’s definitely less than You might be the only one experienced with the theme so you get all the ones I send 🙂

          1. Thank you, that’s very kind. 🙂 Someone recommended Guru to me; I went there and found a lot of middlemen taking jobs dirt cheap who were not developers at all who then farmed the jobs out to people in India. It was a rude awakening. I’m sure the clients had no idea who actually did their sites, or why they were constantly breaking. Hopefully Tweaky will be different.

  6. Bill, for the ones that don’t have a design already, are you requiring a deposit based upon the sample quote or are you creating the design without taking a deposit? I do most of my designing as the website takes shape and find the design and development process to be very interwoven. Do you do your designs offline in photoshop or online in the dev site?

    1. If a design isn’t ready, I’ll provide a preliminary quote based on what I know (typically this is for my project minimum). They will then pay 25% of that amount to get booked. Once the design is finalized, I’ll update the scope and price to cover all the functionality in it.

      I don’t do design at all. I request that the designs for the site be provided to me as Photoshop files.

  7. Hi Bill,

    Great topic for a post, and judging by the number of comments so far, something people need to know. I just took up blogging about our business development and it’s been a good way to both get advice and help people, and also to flesh out the thinking of how we’re approaching things.

    I especially like your comment above about setting up an LLC and associated IRA, I’ll have to ask my lawyer about that. Our LLC is going to comprise of two managing partners, so the IRA may be out of our scope for the moment, but definitely food for thought, thanks!

  8. Hi Bill,

    Thanks for taking the time to manage and curate this discussion! I’d love to learn more about any general business “ah-ha” moments you’ve had during your career as a freelancer. You mentioned converting to an LLC and the IRA, which I’ll certainly be looking into. Any other thoughts from a methodology, finance or strategy perspective that, looking back, were game changers?

    1. I go into detail on how I manage my business here:

      I can’t really think of any “ah-ha” moments. It’s a constantly evolving process. Every time you complete a project, look back at what you’ve done well and figure out how you can incorporate that into more projects.

      Also look at what went wrong and how to prevent it (ex: calling it out in your contract). For instance, after a project where I spent 6 hours on the phone, I added a 1 hour limit to phone calls to my contract.

  9. 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…

    1. 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.

    2. 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.

      1. 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?

        1. 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.

          1. 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:

            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.

          2. 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.

  10. 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?

    1. 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 (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.

      1. I’m assuming you did it from scratch? I see 74 pages of “drinks” at 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.

        1. 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:

  11. 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.

    1. 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.

  12. 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.

    1. 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.

    2. 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.

  13. 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?

    1. 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.

      1. 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?

        1. 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.

      2. 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?

        1. 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).

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

  14. 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.

    1. 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.

  15. 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.

    1. 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.

  16. 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.

    1. 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.

    2. 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.

  17. 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.

    1. 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.

      1. 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).

        1. 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.

          1. 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

          2. 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 🙂

          3. From my contract:

            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.

  18. 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.

    1. 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.

      1. 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.

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

          1. 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?

        2. 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.

          1. 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.

          2. 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.

          3. 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.

          4. 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.


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


          5. 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.

          6. 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…

          7. 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

          8. 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. 🙂

  19. Bill, thanks again for putting this together, I must have shared this with everyone I know, really useful.

    I wondered what your technical setup was like for developing sites, particularly client sites? For example, what software you use? How much you use things like Git in the process? If you have a local development environment etc etc

    I know there’s a million different ways to do it and probably no ‘best’ way but I’d be really interested to know more about your way of doing things.


      1. Hi Annie – I just started using Git and while I’ve still got a lot to learn it’s been useful so far (and finally feel like I’m doing things ‘properly’)

        I had a lot of help in the setup though because I’m hosted with WP Engine and their support basically talked me through everything or I’d probably still be stuck now so if you’re with them I’d definitely give them a shout.

        Otherwise I’d offer to help but I’m not sure how qualified I am yet! I’d be happy to share my tiny bit of experience so far if it would though

        1. Well my assumption from what I’ve seen so far is that it’s a collaborative effort of people sharing WordPress and other code. So I guess I’d like to know if that’s correct, or wrong, and what you use it for. Do you get pointers from others? Collaboration? Or is it more of a repository where you put code? Is there a testing environment? Those kinds of questions. I really don’t know much about it except that a lot of WordPress peeps put their code out there. No I don’t use WP Engine, at least not yet. Not cost effective. At some point hopefully it will be.

          1. Hi Annie

            I think Bill probably explains it better than I could below 🙂 but what I’ve personally been using it for really is just a way to join together a local development environment, two different computers and have a way of sending things to a production area and a staging area fairly neatly. Not any collaborative stuff as yet (though that is a possibility for me in the future)

            As Bill says it’s probably not necessary for every project (I don’t use it on the ‘tiddlers’) but I really just wanted to force myself to get an understanding of it.

            Taking a step back it might be overkill for my process right now but like I say I wanted to try it out and I do feel it has been of benefit.

            If what you’re doing is working for you right now and you’re not doing huge sites with lots of different contributors then you could probably leave it as Bill says. I still have a loooong way to go before I really understand it properly so my experience is very limited right now but hope sharing it with you has been of some help!


    1. Here’s a brief walkthrough of how I personally build out sites:

      On my dev server I have a folder called /latest which has a standard WordPress installation with my base themes and plugins (akismet, gravity forms, debug bar, core functionality…)

      I also have a folder called /dev, and in there is a folder for each site under construction. When I’m starting a new site, I create a new folder in /dev, then copy the contents of /latest into it (so I have an up-to-date WP, theme, and plugins), and then change the table prefix to be [client-name][date]. So if my client was Google and I was starting today, the table prefix would be google03202013_ .

      I build almost all sites without version control, as the projects just aren’t big enough to justify it. I use version control on really large sites, or on ones where I’m working with multiple developers.

      Sometimes I develop locally, but not very often. I usually only dev locally if I’m planning to travel (I’m going to build a site on my flight to San Diego on Friday).

      Annie, there’s two different things you’re asking about. Git is a version control language, similar to svn and mercurial. It allows you to keep track of changes and distribute development (multiple people can work on a project simultaneously and merge their changes together).

      GitHub is a social coding website where a lot of developers share their code. It’s powered by Git, but adds a lot of extra stuff on top like a social network. GitHub makes it really easy for others to contribute to your code, which is why a lot of us developers post our code up there. All my plugins are on GitHub for development, and then when I’m ready with a new version I push it to (which uses svn).

      1. Bill – thanks for the insight I really appreciate you taking the time to explain – as you can probably tell I’ve been experimenting a bit recently with local development and Git so was curious to know what you do – Cheers, Nick

      2. Hi Bill, hope you are well

        when you copy or clone your “latest” wp install to start a new project, do you need to give the database a new name as well, or just the prefix?

        For example, i use cpanel, and can easily “clone” a wp install through the application installer, it allows me to rename the database and table prefix.

        thanks so much

        1. On my old development server I kept everything in the same database and so changed the table prefix.

          On my current development server (provided by Synthesis) creating a subsite also creates a new database, so I just clone the wp-content directory (wp-config.php uses the auto-generated DB credentials).

  20. Awesome post. I learned a lot from the post but also the comments. You spend a lot of time replying. Also enjoyed and learned a lot from reading your post on the defence of consultation business. I was wondering if you could point me to some resources, free or premium, on how to learn WordPress PHP.

    Thank you in advance

    1. For a book, Professional WordPress: Design and Development is the best one I know of. It might be a little advanced, but you can search online for more information on the concepts you need help with.

      Working with a framework like Genesis has a bit more of a learning curve than a standard WordPress theme, but once you get to know it you’ll be much faster at building themes. You can purchase StudioPress’ Pro Plus package is a great way to get started as you can look at the code for all of their themes and see how they implemented that design and functionality.

      1. Appreciate both replies. Thank you. Will order the book and check out that website. I already have the pro package from Studiopress but thank you for suggesting it.

  21. Hi Bill,

    I know John just above asked about PHP, but I’m wondering if that’s the best place to start.

    I’ve used WordPress for a couple years now but if I wanted to get into it deeper and learn coding for the purpose of being able to really modify or even create themes, plugins, etc. is starting with learning PHP the best way? If so, what’s a good, as-basic-as-possible “beginner route” to start?

    Or is it better to get a grip on coding languages in general? Like a more basic coding primer?

    Hope that makes sense. Great blog, plugins and code help – really appreciate all of it.

    1. What worked for me was to just start digging into WordPress themes. I had known HTML/CSS already, but I learned PHP through WordPress.

      Open up some theme files, see what’s in there, google, the function names to learn more about them, make changes, and see what happens.

      Also, remember to always have debug mode on. In your wp-config.php file, set this to true: define('WP_DEBUG', true); Without debug mode, when you make a mistake you’ll get a blank screen (the “white screen of death”). With debug mode, you’ll get an error message that points you to the line of the error. It makes troubleshooting so much easier.

      I recommend starting with standard WordPress themes like TwentyTen, TwentyEleven… Once you have a grasp of WordPress functions, consider looking at theme frameworks like Genesis or starter themes like _s. If you just started with Genesis, you’d have a hard time knowing what is WordPress and what is Genesis.

      1. Thanks Bill. Good idea on the reverse engineering and particularly on the debug mode. I can see how that would help quite a bit.

  22. Hi Bill,

    When you install WordPress on a temp site for the client to play around with during the development of their project, do you create a temp site for each client or do you have one temp site that all clients play around on?

    1. I have one temp site with WP101 videos for them to watch. If they want to play around more (ex: maybe start creating content), then I’ll create a separate subsite for them

  23. Hi Bill,
    Since you don’t host or maintain any of your sites after launch, whenever there’s a service that requires registration, for example connecting the Jetpack plugin to, do you have the client sign up for that or do you have an account you use for all of them? If you do have the client do it, at what point does that occur in your process? Since you build the whole site in just a week, do you get stuff like this knocked out before starting, so that you aren’t held up waiting on the client?

    1. If it’s a project where the service isn’t essential (Akismet, Jetpack…) I’ll have the plugin installed but not activated, and provide them instructions on how to do it. If it’s essential for the buildout (ex: I need stats from Jetpack) then I’ll register an account for them using my email address, give them the username/password and ask them to change the email.

  24. Bill,

    This is a great thread, thanks so much for putting it together!

    I have a business/code/plugin question. I’m curious if you have standard plugins you use/recommend for specific tasks outside of your core functionality plugin. For example, do you have a specific plugin you prefer for shopping cart and eCommerce, mailing list & marketing plugins, et cetera. I know you have gravity forms on your site, but I’m curious about others you might have on your short list.


    1. I don’t work on projects that require ecommerce or membership sites, so that eliminates those types of plugins 🙂

      Here’s the plugins included in my base install. I remove those which are not needed:
      – Advanced Custom Fields
      – Akismet
      – Black Studio TinyMCE Widget
      – Core Functionality
      – Debug Bar
      – Debug Bar Console
      – Debug Bar Extender
      – Gravity Forms
      – WP101

      I also use my own plugins a lot:

      1. Hey Bill – thanks again for what’s turning out to be a extremely useful post not only for me but obviously a lot of others too!

        I was curious about your ‘default’ plugin list and was interested to see your reply.

        You mention Advanced Custom Fields, does this mean you’re using this instead of the Custom-Metaboxes-and-Fields-for-WordPress project (which I love btw) on Github now?

        Or do you have situations where use both?

        I’m really interested how you implement these kind of things. (I first started out using ACF and then moved to Custom Metaboxes and Fields when I discovered that and I just wondered what your process is for this kind of functionality).



        1. Our Custom Metaboxes class is a much leaner and simpler implementation, so I use it when I’m building something that will be publicly distributed (themes and plugins that are sold or given away).

          Advanced Custom Fields takes a bit more work but allows me to craft a better user interface for the client, especially with repeating fields. So for most client projects, I end up using ACF.

  25. Thanks for the reply, a couple of follow-up questions. Do you avoid ecommerce/membership sites on purpose? If so, any specific reasons why?

    I know you mentioned somewhere that you’re an LLC now – I’m guessing that is largely for other reasons outside of liability, right? This seems to me to be a low-liability type career. On that vein, do you have business insurance?

    And last question – is your “Now Scheduling Projects For” notice connecting to your CRM & automated, or do you manually update that?

    Thanks again!

    1. 1. I avoid them because I don’t have enough experience with them to be willing to take on those projects. I’m not comfortable having a client hire me to learn something and not knowing how long it will take.

      I have a few membership sites coming up where I’m hiring a top developer to handle that aspect. Once I see how they put it together, the issues they have, and dive through their code, I might be comfortable taking on those projects.

      2. LLC isn’t so much for liability as was to allow me to set up business bank accounts and a SEP IRA. I don’t have business insurance.

      3. “Now Scheduling” is something I manually set in the backend of It would be nice if it was automated, but I don’t think I’d be able to programmatically determine my next available date – it depends upon a lot of fuzzy factors (ex: how many projects currently active that might need changes, travel plans…)

  26. Hi Bill,
    I’ve seen you mention that you use Toggl for time tracking, which I also use. I’d love to know more about how you’ve setup your tags (or tasks) to track various aspects of a project. I started using Toggl about 6 months ago or so to track total project time but I haven’t been tracking the different aspects of a project (phone calls, mockup, theme dev, launching, etc..) but would like to start doing so. I’m curious to know how you break down your tracking for each project (or if you do at all)? And do you then copy this information out of Toggl and into a spreadsheet upon project completion?

    1. I have a pretty minimal setup. My main tags are “initial dev”, “changes”, and “hourly”. Hourly is things I’m being paid for by-the-hour. Sometimes I track phone calls too but I usually forget to do that (most of my calls are with prospective clients and so I don’t have a client to associate them with).

      Periodically I copy this data over to my CRM. Since it’s a manual process, I don’t do it often. I’ve been meaning to find a time to update all my 2013 projects with their time logs but haven’t done it yet. This is mostly to see how accurate my estimates are, which projects are most profitable, and across what types of tasks the time is spent.

  27. Hi Bill,

    I’d love to know more about which tools you consider core, which associations and conferences you would not miss. I come here for the great tutorials and snippets, but I’d love to hear more about how you weigh your budget for those items beyond code.

    1. I try to make it to as many local WordPress meetups as possible, but haven’t been too good at that recently. My main conferences every year are WordCamp Austin (local) and Pressnomics. I also try to fit one or two other WordCamps in other cities as an excuse to travel and meet people I’ve only known online.

      To be honest, it’s hard to justify the cost of traveling to a WordCamp in business terms – I’ve never landed a project due to attending or speaking at a WordCamp. Pressnomics, on the other hand, allows me to connect with all the top developers, agencies, and service providers in our industry. The relationships I’ve developed there have definitely led to benefits to my business (new clients, other developers to forward work to, actionable discussions about our businesses…).

      Beyond travel, there’s a few expenses I’d consider necessary for my business:

      • Synthesis web hosting. I use Synthesis as my development environment for all projects. I get SSH access to the server (unlike other managed hosts), and they have a great support team to handle any issues that come up.
      • Freshbooks for invoicing. I haven’t explored other invoicing services so there might be another that’s a better fit for you, but this one has served me well for many years
      • BrowserStack for device testing. Every site I build now is mobile responsive. And while I do have a good collection of devices to test on, it’s so useful to be able to test on any possible device. When a client says they have an issue with your site on their iPhone 3 or Kindle Fire, you can quickly see what they are seeing.
      • Adobe Creative Cloud, for Photoshop and Illustrator.
      • FitBit and a gym membership. Since I sit at a desk all day, I have to actively seek out activity. Working out or taking the dog on a walk keeps me awake and working efficiently.
      • A comfortable chair. I recently got an Aeron chair which has been great. Again, if you’ll be sitting for many hours a day, make sure you’re comfortable and not causing health problems.
      1. Agreed. I think that it’s natural when bootstrapping to aim for DIY and low-cost tools. Such a waste of time. Each time I stepped up to better tools, hosts, life was so much simpler, I wondered why I EVER wasted my time doing without.

        In retrospect, I know I wondered if bloggers were swayed by affiliate fees in their recommendations. Not in an evil way, but I thought they were being just a little over enthusiastic.

        You just have to learn the hard way whose recommendations you can trust. So, if there is anyone newer than I reading this far down in the comments… THIS is one of the sites you can trust. No joke.

        1. I think there are three kinds of affiliates and it’s usually pretty easy to tell them apart.
          1) Content driven sites that have affiliate links for everything as a way to monetize. They make no/little effort to curate what they’re shilling.
          2) Niche marketing sites. They write reviews of very specific products to drive affiliate sales of a specific product. Hosting review sites, product review sites, etc. These tend to be very low value.
          3) People like Bill ( and myself) and a lot of people in this community who have affiliate links for things they love and recommend ALL the time anyway. They’re recommending the product first, and monetizing that recommendation as an afterward.

          There is no bias in category 1, they’re just linking everything. Usually the content isn’t high value in terms of making decisions (think cnet, gizmodo, etc…), the content is basically entertainment. Category 2 I never trust. Their sole goal is advertising a link and sales through that link. Category 3 however I trust highly, with a small caveat. The caveat is because the recommendation isn’t meant to be a exhaustive review of the marketplace.

          I have plugins, hosts, etc… that I’ve come to trust and recommend. I also have those that I’ve learned to avoid, but there are thousands out there I’ve never touched that could be much better. A journalist would review many/all of them, a blogger wouldn’t it’s personal experience, so you need a little of both. Regardless I don’t know anyone in category 3 that makes a decision to tout hosting A over hosting B because A offers a better commision. It’s about monetizing a recommendation already being made.

          Just my 2 cents.

  28. Bill,

    I’m curious what sort of items you subcontract out? I know you mentioned large or custom database work, SQL experts, but are there other aspects that you have occasionally or frequently sub ou? For instance, java/query, Ajax, flash, et cetera. If so, do you “have a guy” or is it typically something you would have to find if/when the need arises?

    Again, this is an awesome post and thread, greatly appreciated!


    1. The main type of work is jQuery if there’s something that’s very custom. I’m not that great at jQuery myself – I can tweak FlexSlider but that’s about it.

      If a project requires deep integration with a third party system, I’ll recommend we bring in someone who has experience with that system. And if we’re moving from another CMS to WordPress, I recommend they hire a database developer to migrate the content.

  29. I’ll echo Joshua’s sentiment that is a fantastic post/thread, I’ve learned a tremendous amount from it. Regarding Joshua’s question, I have always been confused on how best to handle a lead who has a request for a project that would require bringing in another developer:
    1) How do you quote it? Do you give a ballpark guesstimate early on and if they have the budget, then do you reach out to the other developer to get a finalized quote? I could see a lot of legwork being involved just in quoting the project.
    2) Once the pricing is decided, do you then collect the full amount and pay the other developer from your pocket? Or does the client pay them directly?

    1. It depends on the size and type of the work. If it’s a custom jQuery rotator I’ll need to hire someone for, I’ll estimate it myself or ask a jQuery dev what their quote is, and include it in my bid.

      If it’s larger than that, like the other developer will be building a membership section using MemberMouse, I’ll have the developer speak directly with the client and provide his own quote for that aspect.

      I try my best to stay out of the project management role because I’m not very good at it. If another developer will be handling a large portion of the project, I make sure the client knows that and interacts directly with that developer.

      If they want a single point of contact to manage everything, they should go to an agency (which will then hire me to build it and mark it up 🙂 )

  30. Bill,

    Have you written any blog posts about the history of your business or how you got where you are today? Specifically, I am curious about how you find your clients and the progression of that. Obviously being a listed Genesis Developer helps a lot. How else do they find you and how did you get the point of being able to design only and not provide support? I am trying to grow my business and lately it seems like I have been getting more interest from people with ridiculously tiny website budgets, whom I either don’t even bother to quote or realize after the fact that I wasted time writing a proposal for them. What’s the best way to find clients with realistic budgets?

    1. That’s a great question. I’m going to go into more detail soon in a separate blog post, but here’s a quick answer.

      While being a recommended developer was my most important lead source early on (first with Thesis, then with Genesis), over the past few years more and more of my leads come from past clients and word of mouth.

      I think being a Genesis Recommended Developer, or something similar with other themes/plugins/tools, is a great way to find clients. But they usually aren’t the highest paying clients, and there’s a lot of competition for them (they email everyone else on that list as well). But once you get a few years’ experience, more and more of your work will come from past clients – either directly by them hiring you, or indirectly by them recommending you.

      For my last 50 projects, 42% were already clients (repeat work), 30% were referrals (mostly referred by past clients), 18% came from StudioPress, 8% from Google, and 4% from CodePoet. So it’s important to build good relationships with your clients because they are likely your source of future revenue as well.

  31. Hi Bill !

    i like many, struggle to get consistent, quality work, i have been building websites for over 5 years and it is frustrating to still be struggling to get quality clients, i seem to attract 90% of the bad ones.

    I read the comment above, but what about say from the perspective of your website, how have you found your site itself to attract more work?

    your site design is clean and simple, no fancy images or over the top design to distract people
    you share tutorials and code
    start big long discussions like here
    you show your prices

    these are 4 things i don’t do 🙁

    i consider myself a Genesis developer, the skills i have learned are from consistently building sites, but i am in no way and smart as you, i can’t write plugins, contribute to WP etc, so i guess i have always felt i have nothing to offer.

    what would be your thoughts on this?

    1. Posting tutorials and code snippets definitely helps me with the search engines. A lot of my traffic comes from old blog posts. I’m sure quite a few of them are people who search for these things to fix their site, and when they give up doing it themselves they hire the guy who’s been writing the tutorials they keep seeing.

      They’re also a great way to self select for the projects you like to do. I enjoy doing event calendars, so I have quite a few code snippets relating to that, as well as a landing page built for it, a presentation at WordCamp Austin planned for it, and will be posting my slides and notes here as another post. So if you’re searching for WordPress event calendars, hopefully you’ll end up here.

      You can offer whatever it is you’re doing and enjoy doing. Blogging is a form of teaching, and teaching is a great way to refine what you know. While I mess with options and meta every day, writing my post on Overriding Options and Meta took hours of research to make sure I was describing it correctly, and I found things I didn’t know about before.

      It’s also a great way to document what you figure out, so you can refer back to it later on. That’s really where all this started. I didn’t write tutorials and code snippets for other developers and search engines – that’s the secondary benefit. I wrote it for myself, so I could find it later on. I’m on my code snippets page daily. I don’t have to remember all the code for something, I just have to remember where I can find it again.

      Some of the items you touched on are less about getting more leads and more about reducing leads that aren’t a good fit. I post rough pricing guidelines to reduce the number of emails like “I need a site for $400”. I post my current availability to reduce emails for urgent work. The goal is to reduce leads that never would have worked out, so I can minimize the time spent emailing back and forth with them.

      I’ve compared stats with another top Genesis developer recently. I have about 5x his traffic, mostly due to all my old posts. He gets about 2x more leads than I do, but I’m typically booked further in advance. That second number shows me those filters I have in place are working. He gets a lot of the “urgent” and “$400 website” emails I actively avoid.

      It also shows me traffic isn’t everything. Even with more traffic, we both struggle to find high quality projects to work on. Only about 20% of what I do I’d consider putting in my portfolio, and we all have that fear that no more work is coming in.

      As of January I was booked until the first week of April, and until about 2 weeks ago I was still booked until the first week of April. That was a bit nerve wracking – not booking a project in 3 months.

      So to summarize:

      • Share what you can. It doesn’t matter if it’s been written about before or seems like not many people will benefit. You’ll end up benefiting the most (I’m sure most of my code snippets are only ever used by me).
      • It takes a really long time to notice an increase in traffic from blogging, so if that’s you’re goal you’ll probably get burned out. I blogged for 4-5 years before I had noticeable traffic from it
      • No matter how much traffic you have, or how nice your site looks, you’ll always have trouble finding high quality clients. This is because over time, your definition of “high quality” continues to go up. You’ll always have your favorite clients and wish all projects were that great. A better way to look at it is to review the 10% worst projects you’ve had over the past few months and think of ways you could have prevented them (ex: have a project minimum, don’t work with real estate agents, don’t work on BuddyPress sites…).
      1. Thanks Bill for your very detailed and thoughtful response.

        After reading this i now look at things in a slightly different mindset.

        I’ll see if i can apply these ideas immediately and see what happens.

  32. Hi

    Perhaps not a 100% business question but I see you “recommend” Soliloquy Slider but often use Flex-Slider. I was wondering if it’s because Flex Slider is a little more flexible (no pun intended) for you to work with? For example using the Flexi Slider JS with custom fields.


    1. It depends on the use case. If I’m building a custom content rotator on the homepage, and I want the client able to customize the content (but not the slider settings), I’ll build with Flexslider and a custom metabox.

      If they want the ability to embed rotators on their own pages, or might want to tweak the rotator going forward, I’ll use Soliloquy.

  33. When you register your business such as with an LLC or a business license, what name do you use? I assume your business is branded as just your name but I was wondering if that is how it appears on paper.

  34. Hi Bill

    Thanks for taking the time to answer our questions.

    Not entirely sure if this is a business questions but would love to hear your take on the below issue.

    When using a plugin like Advance Custom Fields I see one potential issue. When deactivating the plugin and you visit a page that are using the fields then you get a fatal error. Sean has written about it here:

    What do you recommend? Just tell the client never to deactivate? 🙂


    1. When I use Advanced Custom Fields, it is used purely for the nice-looking metaboxes on the backend. I still use the WordPress core function get_post_meta() to retrieve the values (or get_option() for options pages).

      I haven’t seen any compelling reasons to use ACF’s built-in fields. It’s an unnecessary dependency.

      If you use core WP functions and ACF is disabled, the frontend of the site looks and works exactly as it did before. All you lose is the metaboxes in the backend for managing it.

      1. Oh smart. Didn’t think about that. I will give it a try and see if I can make it work. Wondering if get_post_meta works for the repeater field.

        Thanks for the prompt reply.

          1. Can’t thank you enough. That link is just perfect. A little different that what I do now so the link really helps. Super kind of you Bill.

            Have a nice day

  35. Hi Bill,

    Extremely useful information on here I really appreciate you (and others) sharing thoughts, I’ve learned a ton and will definitely be checking back on this.

    I have a couple of questions, one about backups (which you touched on earlier) and the other on growing your Developer skills:

    I’m currently working on a backup plan for all my client’s sites. The way I’ve done it in the past is backup their site after it is finished and migrated, onto my HD. People have mentioned Backup Buddy or saving it all to a cloud like Dropbox automatically every week. But you mentioned your development server is Synthesis, and your sysAdmin does daily backups. How do you cover yourself if a clients site goes down somewhere else, did you say that you keep a HD backup in a vault, and a backup on your Dev server for all your client’s sites? And is your insurance to your clients, that you recommend they use Hosting that offers daily backups?

    As a WordPress developer I know HTML, CSS and am gaining a good understanding of PHP however I’m not as skilled with Command Line and I’m beginning to think it’s necessary to learn if I’m to take my business to the next level. How often do you use it and, what are your thoughts on coding/languages a WP developer must focus on most (obviously learning the wp codex, experimenting with themes, Genesis) if they want to be a proficient developer?

    Thanks again,

    1. While I do have backups of past projects, this is not part of the scope of work I enter with clients. In other words, it is not something they pay me to do and they cannot depend upon me having a backup of their site.

      Clients should NOT depend upon developers having a backup of their site. I encourage clients to use hosts that have good backup tools in place (Synthesis, WPEngine…), and/or utilize other backup solutions like Backup Buddy or VaultPress.

      The backups I keep are purely for my own records, so I can refer to the code I created on past projects without needing to FTP into the client’s site. When the site is completed, I’ll create a backup of the wp-content directory and database. If the wp-content directory is more than 200MB, I’ll only backup the themes and plugins directories (trashing the uploads).

      I actually use the command line every day, and backups/migrations is a great example why. WP CLI adds a ton of useful functionality to command line. Here’s an example of what I do to backup a site:

      There’s no tools/languages you HAVE to know other than HTML, CSS and PHP to make a WordPress site. But tools like cli, git, vvv and others can increase your productivity, especially if you are part of a team.

      1. Thanks for the quick response, hugely helpful. You certainly took a lot of pressure off HOW I look at backups moving forward. I’ll recommend to all clients past and present to implement either BackupBuddy or VaultPress for safe keeping. And begin pointing new ones to either Synthesis or WPEngine – used MediaTemple in the past as my prefered hosting having second thoughts now that GoDaddy owns them. By the way is Synthesis your prefered host for personal and dev sites? I’m ready to migrate all to a better host.

        And really appreciate the starting place with command line, I can see life getting easier already! And I will definitely check out the other tools, It’s all a bit overwhelming but I see value in time spent. Thanks for sharing.

      2. Regarding this: “When the site is completed, I’ll create a backup of the wp-content directory and database.” If you ever want to see this past project code in action, do you spin up a local copy of WordPress and copy/import it there? If so, what’s your process for that? VVV? Or is it easier to just refer to the live client site?

        1. A lot of times I just want to see the code, not the actual site, so I’ll just unpack the tarball, look at code, then delete the directory when done. But if I want to see it live I’ll usually create a local WP install, move the unpacked wp-content in there and import DB.

  36. Hi Bill

    just checking what client management software or tools you are currently using, or a free one you can recommend?

    i’v been doing ok managing a few clients at once with just gmail and my memory, but as i’m getting more busy i want to be able to manage a dozen projects or more at once.

    thanks in advance.

    1. I developed my own CRM for managing projects. It’s almost identical in function to the Genesis CRM I released a few years ago. I rebuilt it off of WordPress for a better database schema (doing advanced queries across thousands of “posts” (prospective client emails) slowed things down ).

        1. Yep. While a project is ongoing the only thing I edit is the status (ex: “ready to start”, “waiting for feedback from client”, etc.) and a “needs work” checkbox which highlights which projects need work.

          When I’m done with initial development I log the time spent on that, and then when the site goes live I log the time spent on changes and mark the project as complete.

Leave a comment