The great thing about WordPress (perhaps its most impressive accomplishment), is that it makes web development so easy that non-developers can set up their own websites with little fuss. One-click installs, a plethora of themes to suit any style, thousands of plugins to extend functionality – before you know it, web developers could be out of a job…or could they?
To the contrary; at some point, customizing WordPress or its plugins is going to come with its coding challenges because, let’s face it, there’s always going to be a unique situation where someone needs their website to do something a WordPress plugin author would never imagine.
Or maybe it just got too hard for a business owner who, after trying to save money by making their own site, figured out they’re better off spending their time where it makes them more money, not where it boggles their mind. Fair enough. I feel the same about accounting.
Then there are the cases of the web developer who went MIA in the middle of a website mission, and the business owner now needs someone to pick up the project and keep it moving along.
In all three scenarios described above, when a client comes to a new web developer to take over, they are probably going to use the term “simple” to explain what they need done. It most likely will be far from that. The web developer needs to realize they’re not only picking up the pieces and carrying on as per ‘the usual,’ they’re also likely going to be cleaning up someone else’s mess…or figuring out how they made the mess to begin with. That takes time, which costs money, which is not worth the risk if you’re not covered with a good agreement beforehand.
Have a Strong Web Developer Agreement, Even for the Small Stuff
If you’re willing to help out a desperate new client who comes to you for their “simple” site fixes, good on you. But be careful. You will need to outline a few things very clearly to them:
A) They must have a backup system in place – no arguments about it! The backup system must be automating daily backups and you will need easy access to the backups in case you need to do a site restore. Recommend they set their site up on ManageWP (or offer to set them up on your account) or use BackupBuddy or VaultPress, all of which are tailor made for WordPress. Make sure you don’t collect login info to anything they own until they confirm their site is being backed up! You do not want anyone to be able to point fingers at you if anything goes wrong, just because you had access, even if it wasn’t you who did the deed. It’s not worth the pocket change to take on a job without this requirement.
B) You don’t know what you are going to find under the hood, and they might not like to hear about what you do find. Make it clear that it always takes longer to make changes to another developer’s code and that the estimate could change if you find ‘problem programming’ that is going to affect your work, within good reason. I am not talking about some tacky CSS or HTML tables that aren’t a web developer’s dream but will still let the site survive (everyone has to learn somewhere. Simply correct them and steer them in the right direction, don’t alarm them about stuff like this). I am talking about things that are just plain wrong (such as insecure code, errors, site slow-down issues, etc.), and things that will prevent you from being able to help them out. Let them know it will cost extra to find and fix the mess.
For example:
Once I had a client who said, “I want to be able to make updates to my WordPress site but I can’t see where our past developer put our content.” Turns out, the web developer hard coded a bunch of content into PHP files (including the address, can you believe it?) instead of properly using the WordPress dashboard to allow the client to make content changes themselves. (“Why use WordPress at all?” is the question I would have had for the former developer). This was a case where ‘under the hood’ was not going to cut it at all for what the client wanted. The client needed a newly built site as far as the back end was concerned. So that’s what we did, and he was happy to pay for it.
C) It might not be worth the ROI to patch things up when what they need is a new website. Imagine trying to fix and patch up an old broken car where the repairs will cost so much that it’s not worth the investment anymore. This is why car insurance companies would rather pay for write offs, and websites are the same. If they are poorly built, hugely outdated, and just not getting the client anywhere without expensive “Frankenstein” development (you know what I mean, add a block here, link to something there, put some content on a sub domain….), then seriously, it’s time to blow it up and start from scratch. It will be a better long-term investment and, knowing WordPress well enough, combined with a top tier designer, you can build it to last more than two or three years.
Some Final Words About Playing It Safe When Taking on “Patch Up” Web Development Work
When you quote on a job like this, be sure to quote by the hour, not by the project since, as we’ve described above, even YOU don’t know how long it’s going to take you.
You don’t want to be held up to an expectation that will take you twice or three times as long to complete than you anticipated. Keep in mind that if you are in the scenario where the client came to you after trying to save money by attempting to make their own website, they will be on a budget, and may not have realistic expectations or values when it comes to hiring a professional. They may think it’s easier to do than it really is (thanks to the advent of dummy-proof website builders like Wix and Weebly).
Also, get very, very clear with the client what it is they are going to require of you. Don’t settle for instructions like, “just a few colour changes here and there” as a job description. It is pertinent to make it very clear WHAT is going to require a colour change. If you are not clear, this again will cause budget problems because the client will be imagining one thing, while you are imagining another, and the two ideas of what’s to be done can collide. The colour change example is just an example. Usually a client will ask you for something vague that you will later find out will take some serious hacking that, you either can’t do, or don’t want to do or, more likely, they can’t pay for.
jainlv
Joyce:
Another great article.
I have one other situation that popped up on me. I work on a lot of SEO projects for clients. In one case I had a client who was a WP user, but had their own ‘tech/marketing’ company doing the WP updates and maintenance. When I went to install some of the core plugins that help with SEO (All-in-One SEO, robots.txt file creator, and sitemap creators), I had to update to the newest version of WP for them (I was amazed that their folks hadn’t done that for them). Turns out that their people didn’t update because the theme wasn’t compatible with newer versions of WP, so they were just letting everything sit without updating. My update killed their site, causing their tech folks to have to restore a backup (and they in turn charged the client for the restoration). Took a big fight on my part to ge them to refund the client since they admitted that it simply took them one mouse-click to restore to the previous night’s backup.
Jeff
Joyce Grace
Hi Jeff, thanks for your comment. In all honesty, I would not have attempted to be the one to do this update. I always prefer that the developer of the site do the updates because things like this can happen so easily. It is terrible. Plus if the client pins down their developer to do it, it will only expose their poor work ethic to have a site that is not able to be upgraded – that’s not good at all. So I just make it clear why the need is there to update WordPress and then ask them to ask their developer to do it. As in your situation, it is not worth my time or money to try to do it myself. But if they have ended ties with their developer, then I consider doing it as long as they realize there may be a need to do a restore (and I won’t do it without a backup system already in place).
I hope this helps! Thanks for sharing your experience! It’s a good one to show some of my clients!
sftranna
Nice article I found here. I have a question that how to deal with a client who is never willing to pay you a reasonable amount even if u make him realized every part of the project. I once had such a client after that , unfortunately, till now I could not find “any” client if you guys have some php tasks or if you can refer me to any client I will be very great full. You can ping me at sftranna [at] gmail dot com
Joyce Grace
Hi Gordon! Thanks for your reply. I actually tell people up front that they need to be ok with the ‘unknown’ in these cases, and they pay 100% up front of what I think the estimate of hours will be and let them know that they will be owing extra if the time goes over. I feel like these projects usually turn into disasters and people just don’t ‘get it’ when you can’t fix their problem, because they feel that if they forked out the money, there should be an absolute result for what they paid. So there is the precaution that if you don’t charge 100% up front they may ‘feel’ like they don’t owe you if their problem is not solved. But they have no idea how messed up things can be, and how out of our control it is to fix their problem.
Michaeltieso, I know what you mean that people want to work on a project basis, and personally I’m ok to do that for projects that I start from scratch, because I know how long they will take me and what to expect. But if they want me to work on their site, I’d rather not have the project if they are not ok paying for however long it takes! There are so many other better ways to make a living as a developer! I’d say go for the more reasonable clients than trying to compromise with a project flat-fee (in cases like this, where things can get messy).
Scott
Never forget anout the email if you’re moving a client’s site. I had asked a client if they had a list of their emails that needed to be ported over. Nearly a third of the emails needed were not on the list and the transfer was a disaster. Always use a good migration service. It will save you time, money, and pain.
Gordon Webb
Excellent advice, Joyce! Thank you for the timely article. As a software developer (of desktop systems, et al) with many tears experience (typo intended), I can only reinforce your very sound advice. Look really carefully before you leap!
And, in response to michaeltieso who says ” …most clients want to do by project rather than by hour…”, my experience with clients is similar. From the client’s point of view, that’s quite reasonable, so for us it comes down to two things, (a) caution, and; (b) sales technique.
In such cases, I think that it is wise to propose to the prospective client that they pay you upfront for a couple of hours to investigate first in order to provide a firm quote. You can always agree to deduct the cost of this investigation from the quote IF they agree to proceed.
Then, of course, you should structure your quote to give you a little lee-way (and some profit) and to cover the quote investigation. You can give them a “discount” on your final invoice if the project comes in well under budget.
And always agree to be paid at least 50% of the quote total upfront!
michaeltieso
Great advice. The problem I have however is that most clients want to do by project rather than by hour. Since it’s pretty unexpected what will happen, they would rather have something concrete.