4 Ridiculously Obvious Mistakes I Made Building WordPress Sites for Clients

It was New Year’s Eve in the port of Saint-François in the Caribbean. It was hot, and the town was buzzing with preparations for the evening festivities. And I was working on finishing a WordPress site for a client.

Not a good way to be spending your time hours before the clocks chimed in the New Year.

Let’s take a step back.

How did I end up in this situation, and why wasn’t I chilling in a beach bar sipping on a Ti’ Punch while waiting for the Champagne to cool?

The truth is, I hadn’t put in the project management systems in place that would have prevented this situation.

I work at Planio, a project management tool, and I’ve talked to lots of WordPress developers on how they manage client projects using it.

Based on what I’ve learned from them, I made some critical mistakes that put me right in this unenviable position.

Let’s count down through them.

Mistake #1: Casually Agreeing to Increases in Scope

Originally, this project was a simple blog.

No big deal. I was a WordPress newbie, but I was sure that this project wouldn’t be a problem.

Then, a few weeks later the client casually suggested that the blog should be in two different languages.

I did a little research. I found a few plugins that seemed to do the job handily. So, I emailed him back enthusiastically, saying that it would be no problem.

During the first design review, he suggested that we consider a mind map for the homepage as a form of navigation on the site.

Mind maps for navigating a site was a terrible idea then. It’s still a terrible idea now.

But, always eager to get my teeth into something new, I added the job of figuring out how to build the mind map with CSS and javascript to my growing to-do list.

Scope creep had hit me with a vengeance.

And because I’d agreed to these changes in emails and conversations, I didn’t have a documented list of the changes to the project. I couldn’t show the amount of time these changes added to the project. And I wasn’t able to demonstrate the increases in cost they represented.

All I had was more work to do with the same deadline.

Mistake #2: Allowing Delays on the Client’s Side

Remember how I agreed to add another language to the site?

Well, it turned out that the client wasn’t great at translation, himself.

And it wasn’t something I was able to do, either.

But he did have a friend who was really great at French, so she was enlisted as the translator for the website copy.

And now I had to make sure that the client finished the website copy ahead of time, so I could get it to the translator to allow enough time for translation along with the usual back-and-forth.

I’d just graduated to a linguistically-challenged project manager. And I wasn’t very good at it.

The client felt that he just needed a few more days to get the copy perfect as we were pushing up towards Christmas.

I’ve since learned that it’s great to be able to show clients a Gantt chart with dependencies.

Either they deliver their part of the deal by a certain date, or you’re entitled to move your deadline forward by whatever amount of time it takes them to figure out the copy.

Unfortunately, I didn’t even know what a Gantt chart looked like at the time.

Mistake #3: Making Sure Everything is Perfect, Personally

You know the meta descriptions for each page that show up in the SERPs?

I’m the kinda guy who wants to make sure every single one of them is perfectly optimized for click-through rates.

The problem was that I was spending all my time on low leverage tasks such as optimizing on-page SEO.

I’d work full-time on my current project. When it came time to hand back my project, my pipeline of future projects was dry as a rainwater collector in the Sahara desert!

At some point, you need to start focusing on the small number of tasks that will push your business to the next level.

Finding clients willing to pay multiples of $500, for example, or introducing a retainer system to secure recurring revenue.

It’s not easy to build the skills and relationships that lead to these opportunities, but you’ll be less likely to do so if you don’t outsource or delegate the less important work. And definitively grab SmartCrawl to make the SEO optimization even faster.

Mistake #4: Charging a Fixed Price Without Hard Data

The worst part of my New Year’s Eve marathon coding was that I wasn’t even making a profit on the project.

My pricing was all over the place because I didn’t have a system for tracking the project and hours I spent on it.

Admittedly, charging based on your hours is not the best approach to pricing for services, because pricing should be based on the value to the customer, not the amount of time it took you.

However, tracking your time on the various work items in a project gives you insights into which elements are taking the longest. You can identify the parts that you could outsource, automate or streamline.

Build a System for Your WordPress Consultancy

The fundamental problem I was facing was that I acting like a freelancer instead of a business owner.

I didn’t have refined processes for client management, outsourcing work, and managing projects.

It certainly takes time to think about your business and build out processes for it.

At the same time, you’ll benefit from moving from a freelancer to a business that has the potential to scale beyond the 24 hours in your day.

And while I did finally finish the WordPress project before New Year struck in Guadeloupe, I could have avoided the stress with these systems.

What are you biggest mistakes building sites for clients, friends and family? Share your tales of woe in the comments below.

45 Responses

      • New Recruit

        I have found that constant phone calls are a BIG ‘tell’.
        My better clients leave me to do what I do ( as long as we deliver results) and we have a get together occasionally or a Summary email /reporting monthly
        (I do this anyway as Google Adwords is a core service for my agency)

        I now tell my clients that we must either talk on Skype and I record the call ..
        OR they must send me their latest brilliant idea or request in writing via email.

        Then you have a record of not just what you both say & agree upon ( clients memories when not wanting to listen or take notes is notoriously unreliable) but also the time spent.

        In person I use voice memos on my iPhone for the same reason.
        I tell my clients that it is much better for me to be listening closely and responding to them than trying to take notes at the same time!

        For clients that persist calling me on my mobile.. I just do not pick up the call.
        That forces them to email me or Skype as I DO tell them that is the best way to get to me.
        Skype IM works as well.
        The main thing is being able to substantiate your actual time/agreed plan with a record of some kind when they inevitably want to argue re billing or decisions.

        We need to train them from the start.

        • WPMU DEV Initiate

          Completely agree with the constant phone call “tell” and I stop answering the calls after a while as well. I am even inclined to think some of them intentionally try getting “verbal” agreements so that they are able to conveniently “forget” about them later on (happened to me a couple of times).
          Also, insisting on buying that crappy, 2 out of 5 star theme, because the client can save $5, is also a HUGE tell :)

  • New Recruit

    Thought I’d register and leave my feedback as this article struck a chord with me. I recently stepped out and started my own business and having these exact challenges right now! Currently the only way to scale is for myself to work more hours which isn’t very scalable. I’d love to employ my first hire to spread the load but whilst there is too much work for one person, there isn’t enough revenue to pay two!

    Your first point is the biggest takeaway for me here, too often I am eager to please and agree to extra work yet become the bad guy when the work becomes late as a result.

    Thanks Thomas!

  • WPMU DEV Initiate

    This is my life big time…major scope creep with my current project. My current client added a project map with 100 different locations/pins at the last minute and doesn’t like the look of the plugin I want to use. They also wanted me to data mine their photos from 100 different websites…I said no to this since it’s their job to provide me with all content which is clearly stated in my contract. I also want to mention that in their edits they want low res photos stretched out full-width while dumping the full-width custom banners they requested I make, navigation that makes no sense at all to the user and it goes on and on. I first met with them in February and the project is only half-way finished…I dream of dumping them and running away to a tech company instead of running my own business.

  • New Recruit

    Sounds like me few years before. Literally.
    The point is that we need to educate our clients, give them choices. Stay sharp on every touch/change of the scope before someone else’s problem become our problem.
    Still a tough challenge, every project again. But this makes our work so exciting.

  • WPMU DEV Initiate

    I’ve learned to say “hey, we’re about at the budget point with 2 revisions, and I’m throwing in this last one for free because I really want you to be happy, and I hope that you agree that your site is now good to go. After this, any further revisions will be priced at ____ as per our contract”.

    The kinds of mistakes that I am VERY uncomfortable with are the clients who continually ask for free advice. I hate billing in $10 increments, or whatever, but 10 minute emails add up. This is always the “nicest” clients who get away with this, because it’s SO hard to tell someone you know is broke and who is kissing up, any boundary setting words.

  • Design Lord, Child of Thor

    I would love to hear how people have gotten over the hump of Spreading the Responsibility… We are a team of 2 and have more work than we can handle, but not quite enough revenue to make a big hire.

    I have tried outsourcing my web design on Odesk (Upwork) and other such sites only to be severely unimpressed…

    Anyone have any suggestions?

    • The Bug Hunter

      If you have too much work to handle the only real solution is find another trustworthy company to help out. I’ve worked with a number of other companies, acting as a white label service and often as one of their employees (usually via an email address Im supplied by the company).

      I think the key thing here is trustworthy. You might consider getting the business owner in for an interview and if you like them get them to sign a confidentiality agreement. Then you shouldn’t have too many problems.

      Happy to help you out if you need it!

      • WPMU DEV Initiate

        Subcontracting is definitely a 2 way street… I am very careful about subcontracting, because I’ve had issues with scope creep (and not being able to communicate directly with the client), and with unfinished projects. I have become very cynical about subcontracting through people who don’t know the basics of webdesign and want to write their own contracts, because they have NO idea about what is involved when you want to make certain changes.

        I really don’t mind when I don’t communicate directly with the client, but the middle-person should be honest about the scope of the project and terms of payment.

        My latest mistake with subcontracting was not requiring a deposit for a large subcontracted site, and thinking that because the guy I was working through was my boyfriend’s business partner, who I’ve subcontracted for a few years ago, that everything would be fine. I’ve done all the work, 6 months ago, just STILL waiting on their final files.

        Yesterday I sent the person I was working with that at the end of this month, I will be clearing my server of unfinished projects. If they want to re-start this project, I will need my 50% deposit that I charge MY clients, and to be advised of a major rate increase after the end of this month. We will also need a signed contract to make sure that everyone is on the same page about milestones and deadlines.

        Suddenly, this project is no longer on the back burner, but we’ll see, I still don’t have the final files. I’m clearing my server of this project at the end of the month, and putting in dummy content so that I can put the site in my portfolio anyway.
        Sometimes you can’t make “less” money and just have to cut your losses.

  • Design Lord, Child of Thor

    This article and the thread of comments certainly hits home! Our niche is small businesses, non-profits and trade associations. This group is ALWAYS short on funds and wanting freebies. We serve as webmaster (pro bono) for a dozen non-profits already and have only recently learned to say “NO!” I have been pleasantly surprised when I raised our prices and most clients were willing to pay. Some even said they couldn’t understand why we were so affordable.. :/ We all have to realize the value we provide to our clients and then give them the choice to take advantage of our services at a fair price, or not.. Being a two-person firm, our biggest problem is keeping up with security issues and the latest tech advancements. People pay us to already know this, so the research time is not paid for.

  • New Recruit

    Here’s what I did.

    My quotes are not fixed price, although they might look like they are. As long as I do a very detailed project plan, leave virtually NOTHING unclear as to what I’m doing and how long it will take, this has worked for me:

    PLEASE NOTE: This project is NOT a fixed priced project but based on 40 hours of work billed in two installments (initial deposit and two days before site goes LIVE) at a discounted pre-paid rate of $75/hour. In all cases all project fees are due PRIOR to website going live. Content, including text, graphics, must be received from the client as agreed to. Failure to do so will change the timeline of the project and will result in delays. Changes to the initial agreed upon project plan, including but not limited to; any change in scope of the project, reworking completed programming, coding or graphics work, new features or functionality, new content, reworking or adding new graphics/photos, hosting support, additional phone consultations or email correspondence, and/or other similarly not previously agreed to work, is billable at $90/hour.

    It’s a jungle out there. Good luck all !!

  • WPMU DEV Initiate

    I got such a laugh reading this post because it is SO incredibly SPOT ON! Over eager to please, underpricing yourself and your time, agreeing to changes or additions to the scope of services that you quickly dismiss as “easy” because you found a “great” plug-in that would do it for you, and of course, making sure that everything is “perfect” according to YOU. Let’s not forget about not getting a VERY clear understanding about the types of images and content they may want. Before you know it, you will find yourself agreeing that it is “part of your services” and you just increased your workload and hours ten-fold, now having the responsibility of writing content and finding images that your client approves. Btw, none of the images you submit will be what they want, unless you have a detailed description and conversation about it!

    All WRONG, WRONG, and WRONG, yet I did EVERY last one of them my first time out of the gate. I truly hope those who are new to offering web design and development services using WP as their platform, find this article before they even send their proposal. I sure wish I had read something similar to it. However, it was one of those growing pains and unfortunately, one that I had to learn the hard way.

    Never make assumptions and always keep the perspective of your client at the forefront of your mind. They are going to “judge” the site based on what they can see on the front-end. So, instead of wasting your time and potentially theirs, only to find out that you need to scrap the whole project and go back to the drawing board, ESPECIALLY if you have already arranged for a retainer agreement, don’t waste too much time on the nitty gritty details on the back-end. That doesn’t mean you produce slop on the back-end, but take care of the things that you can physically SHOW them before you worry about the intricacies that you want or need to handle on the back-end.

    Show them the design, functionality, and overall user experience that they are looking for and make a good first impression. Be sure to do your research before agreeing to anything and DON’T be afraid to go back to your client and respectfully inform them that you will have to charge additionally for significant additions or changes to the project. If they say they will go somewhere else, you can again, respectfully inform them that they will get what they pay for and end up with many more headaches and aggravation from it, wishing they had juts spent a little more with you.

    I have learned to be sure to be more specific in my proposals and leave the door wide open for a conversation to explain anything that is unclear. Be absolutely certain that you are on the same page regarding expectations and don’t play a guessing game. That would actually be point #5 that I would add. Get a CLEAR understanding for the style and type of website that your client wants. If you don’t speak up and start playing a guessing game or base your decisions on what is popular or trending right now, I can all but guarantee you that you will be wrong every single time.

    Clients who want dark and sleek colors will not give a damn if bright and “fun” colors are popular and you provide a 50-page dissertation about why their color choices are a bad decision. Sure, you can make suggestions, but at the end of the day, give them what they want!

    Again, excellent article! It speaks a heck of a lot of truth that would be valuable to anyone just starting out!

  • WPMU DEV Initiate

    omg, I really needed to see this. scope creep…. AAAAGGGHHH! especially the: “well i can’t afford to pay you anymore, and i need you to market my business so i can have money to pay you…” basically holding you hostage… and client delays…. these two things have been the BANE of both mine and my husband’s freelance careers.

    seriously, in a brick and mortar shop, would you say to the owner “oh, i’ll buy this item here. and you know, i really can’t afford it right now, but if you could throw in this, this and this for free, or and move it to my house too, for free, that’d be great.”

    or delays… you seriously contracted a web designer without having an idea of what images you’d want on it? or info you need to give potential clients? … ok, we can talk you through that. (though this is scope creep… i didn’t sign on to do your whole marketing funnel too.) then, we’ve given them the page titles, what type of content it needs to contain, and how much content and they still can’t do it. “well, you can write it for me, right? for free? oh and come in and take professional photos of my shop and all my product too? for free too, right?” it’s like scope creep and client delays combined.

    anyway, i did have a point to this. ;) you just taught me about gantt charts… and the thought of giving clients that… oh wow, the accountability tool. i almost passed out from happiness just now. :) could you point me to a gantt chart example of how you now lay yours out?

    thanks for a fantastic article that i REALLY needed to read. <3

  • New Recruit

    I see that others have posted some other problems.

    1. Low balling, yup. But it does get you started, in only at a lower rate.
    2. Gantt Charts are not really good for SEO and Web Dev, sorry just haven’t seen a management tool that works. There are too many micro task contributing to too much overhead.
    2a. There are other tools but its not unusual for the client to offer one up, another mistake. They won’t be honest about when THEY are late.
    2b. Maybe something like Google Docs could be mutually
    3. Feature creep isn’t a problem its a feature, or a way to make more $$$. Make sure your Statement of Work is solid.
    4. Churn over Upwork people fast, you’ll find good people then raise their fees to keep them on board. Give them bonuses.

  • New Recruit

    Nice article!

    One of the important things i have learned along the way is that the knowledge that you gain in time about installing/configuring plugins or setting up content, using Themes and admin stuff, is that you need to charge for your knowledge and skills and not for the time that you need to do stuff.

    For example setting up multi language (i use Ceceppa) is a peace of cake after doing it 30x times, but you need to treat is as the first time, everytime. I have made a list of prices for installing and configuring various plugins which are more a less based on the first time it took me to install/configure it. So, due to the experience i can setup a plugin in 1 hour but i charge 6 hours.

    Also when i make a quote for a WordPress website i spent some amount of time describing what they DON’T get. Because these are most of the times the things clients think they get included or can ask for along the way without any additional charge.

    Also i extensively describe what they get although it’s most of the times built-in functionality.
    Task (simple): Setting up a contactform
    Task (extensive): Setting up a contactform which will be saved into a seperate database for viewing the submitted results at anytime, possibility to export the form results to Excel for analyzing afterwards, notification of any submitted form in your emailbox, Captcha functionality to avoid SPAM.

    Quoting 4 hours for the simple described task (set-up contactform) might be too much, but for the extensively described (set-up contactform) task it looks reasonable.

    The text for many additional small additions in functionality, i have setup in a document, so i can just copy/paste them into a quote or email. This avoids re-writing and describing a task over and over and the risk that you DON’T describe it extensively.

    Hopes this helps!


  • The Bug Hunter

    Yeh scope creeps a bummer. Kind of have that right now. Partly my fault as I failed to fully realise what the client had put in their project scope document. Something that I thought I could do simply turned out to be not what the client wanted. What they wanted is more complex and a pain and the scope is a bit ambiguous.

    With experience we all know these kinds of clients….the control freaks. If the send you a mass of documents regarding what they want you know you will have to read them carefully and clarify stuff. Dont be afraid to add this to your bill too.

    Somebody mentioned clients wanting free support etc. I get a lot of this and have just had enough. I now say to clients they get a month of free support after website launch (a grace period I call it). Then they have to take out a recurring payment maintenance and support service there after.

    Seems to be a recurring theme here though; not getting enough work and want to go work for a larger company or too much work to handle but not enough to employ or too much work but not getting paid enough for it. Think I’ve been in all three scenarios at one stage or another.

  • New Recruit

    It’s very clear that this has stuck a collective nerve out there with many of us.
    I really enjoyed the post in the same way I enjoy reading ‘Clients From Hell’..ie wryly, exasperatingly funny -as we have ALL had those experiences.

    I have learned to think of the whole process as ‘unconscious incompetence.’
    Many of us do literally learn on the job as ‘hybrid’ developer/designers. Ya don’t know till you do sometimes.
    That said, the phrase “Low Cost=Low Contact” is now firmly in my mind.

    Totally agree with ThePath on the 3 scenarios! LOL
    And with so many other people’s Comments- Some great ‘take aways’ and validation from you all- Thanks.

    WE have to set the boundaries with a client.
    I have it in my initial agreements with mine that time for email, calls, Skype, meetings etc IS billable.
    That changes on any agreed site/project & custom work IS billable.

    I write it in and then remind them after the latest “quick call”.
    IF it persists, I do fire clients and tell them why.
    OR I just send them an invoice for every requested change, without necessarily saying “this will be billable” at the time. IF they ask me to do it , I do and bill them.
    They soon understand and if they express surprise/shock, I refer them back to my everything is billable explanation at the start.
    Clients NEED to be told that stopping what you are currently doing to go to look/ explain/fix their stuff takes a longer time than the actual task and it has to be paid for time.
    I worked briefly for a company that used to bill in increments of 6 minutes.
    That’s what the big agencies do!

    I agree with Marcellino re quoting a higher price to buffer (Those 15 min jobs CAN take 2 hours) and clearly outlining in writing what the client does NOT get included.
    Your internal SOP documents are very useful from that point of view.
    IF you haven’t got templates around this stuff to send off to the client at the very beginning to save time , grief and to set expectations… Create them NOW.
    And DO NOT just take the money if your gut is screaming at you.

    You need to start as you mean to finish is what I have learned.
    Respect & Boundaries must be maintained and the conversation had, when they are breached.

    The way I now think of it as that MY ‘Universe’ will bring me a better client if i get rid of the ones that are time wasters and stressful!
    You know who they are soon enough.
    It is OUR responsibility to appreciate all of our training (past & ongoing) and to regard ourselves as Professionals.
    It’s amazing how people live up to your expectations. It’s MINDSET.
    EXPECT them to regard you as a trusted advisor & partner in their business- because you can be.

    Thanks for a great post on the ridiculously obvious but annoying as hell mistakes…. and the chance to share & rant Thomas!

  • Site Builder, Child of Zeus

    Well said, Thomas. I had experienced all these four (not just once but ridiculously oftentimes!). And on project management, I had been spending endless hours tracking instructions from chats and messengers – copy & pasting instructions to and fro – before I could begin to work on projects.
    Speaking WordPress Consultancy, it would be nice to hear some good systems that work.

  • The Incredible Code Injector

    i had a client who was paying $500 per month. this client whittled me down bit by bit w deadlines & a seminar she needed to book people for & promises to bring me referrals & well, one month, i noticed that her project was creeping over the 50 hour mark. under $10 per hour. i am raising a child. i told the client i could not afford to keep her on board. she threatened to sue me, if i did not keep her site online. i let her freeload on my server as long as she left me alone. then, about a year later, her new web person thought i owned her domain — which was really goofy. the relative prominence of this client made the experience pretty disconcerting…

  • New Recruit

    Thanks Thomas!

    I’ve definitely been guilty of all four of these. My biggest one, though is to charge less and justify it as “It’s a learning experience for me to improve my skills”. After doing this for a while I began to increase my hourly rate by around $5 each year, which in most cases has worked.

    The best question from a client of mine: “Why doesn’t my website show up on Google’s first page?”

    After doing onsite SEO to the best of my ability, does anyone have any tips for patiently and sensitively explaining SEO to them?

    Also, “How much will a new website cost?”. I’ve been tempted to give them a ball park figure to start with, and then not quote it properly. As a result I end up with – after reading this article – what seems to be the typical “Can you move that (carefully responsive) menu to there?”, or “I want it to look like this” (Emails a horrible blend of a screenshot and mspaint).

    Any advice on getting around annoying requests for layout/design revisions? (Without saying something like “It’s a WordPress template. To customise it isn’t as simple as dragging and dropping in Microsoft Word”).

    My usual reply is to go with “I have to be very careful that the changes display properly on all devices”, which is understandable but also slightly mysterious for them that they’re often placated.

Comments are closed.