When you finish coding and designing a website, it doesn't necessarily mean that your job is over and ready to be delivered. You need to make sure that your client doesn't have a hard time with the website in the future. So, you need to take some last steps.
In this tutorial, I'm going to show you what to do before handing over the finished website to your client.
Finishing Touches Before Handing Over to the Client
It's not just me: Every freelance WordPress developer could face the problems that I have. It may be tougher, it may be lighter, but encountering these kinds of situations is in the nature of being a freelancer.
Now, let's look at what I could have done right and how can you avoid facing those problems.
Check the Content
The first thing you should do is check the content your client sent to you. In some cases, clients tend to send bizarre formats of content like scanned photos, all text in a single Word file, or a zip file containing all your client's photo archive including his or her hiking trips and silly pictures of a pet. (If you think these are weird, I could start telling the story of a client of mine, sending a photo of napkin scribblings for homepage content over WhatsApp.)
If your client sees that one of the pages is missing, he or she might create a big fuss about it and your client will be right, for the most part. Or, if your client is one of the good kind, you could get together with him or her and go through the content together.
Prepare for revisions, though.
Go Over the Options of the Theme & Plugins
Chances are, your theme settings panel will have loads of different options, which will sometimes confuse even the smartest web designers. Header over to the settings panel to check every option against what your client wants.
When in doubt, make some quick calls like "Which color do you want the links to be?" or "How many items do you wish to have in the 'Latest Posts' sidebar widget?" and such. It could seem like unnecessary effort, but it's better to finish them before your client sends a revision asking for two more items in the "Latest Posts" widget, and then one less.
When everything's set, export the theme options (if the settings panel has that function) and keep it for a couple of months, in case your client messes it up.
Simplify the Admin Interface
Speaking of clients messing up your settings... How about not showing them at all?
If all your client wants is to add new posts or edit the pages and maybe, occasionally, throw in an extra slide in the front-page slider, it would be a good idea to create a new user for your client with an "Editor" role. That way, he or she won't be able to access any kind of settings that may break the website like changing theme options, changing WordPress options, playing with the plugins or trying on a new theme (believe me, they would try that). Ask your client what he or she will want to do with the website after you're done, and create an Editor account if it's okay.
Alternatively, you can simplify the administration panel by using a plugin like Adminimize by Frank Bueltge. It allows you to "deactivate" parts of the administration screens by user role. If your client wants more capabilities than an Editor account has, simply use this plugin to at least hide the Plugins and Themes screens.
Change the Master Email Address
The famous "five-minute WordPress installation" allows us to install WordPress even shorter than five minutes, but most of the time we may choose a personal email address in the process, just to get it over with.
If your contract states that you don't have to update WordPress or plugins and themes, or moderate incoming comments, it's safe to change the "master email address" to an address that you won't check every day (or an address that doesn't exist). If you want to get the updates, though, leave it as is or change it to something like
firstname.lastname@example.org and check that inbox periodically.
Back Up Before Delivering the Website
This one's a no-brainer, really: Before handing the website over to the client, be sure to create a backup of your work. If your client breaks the website beyond repair, like deleting some attachments or uninstalling a plugin (why haven't you used Adminimize?), the backup could come in handy.
The internal "export" tool of WordPress is kind of useless in this case, because it doesn't include attachment files or widget configurations. If you have cPanel installed on your server, you could create a full backup including the
public_html directory and the website's database. Or you could make use of backup plugins to get the job done. Your call.
This is a sensitive issue, and you and your client may already have settled this in the contract, but do not trust the contract and do not trust your client. Even if the contract is air-tight or your client is a friend or a relative, be sure to get paid before launching the website.
Word of advice: Make the website in an environment that if you don't get paid, your client won't be able to use the website. You can develop the website in a subdomain of your own website, for example. That way, if the client doesn't pay, you can shut it down until you get paid. And be sure to get paid partially before finishing the website, so you can cut losses.
Wrapping Everything Up
It's natural to encounter difficulties with your client, but acting proactively to save your client from dealing with the website after delivery is always a good idea.
If you're looking for what some of other theme developers are doing when it comes to marketing and selling WordPress themes, see what we have available in Themeforest. It's a great place for purchasing source code for using, studying, or extending.
Have you encountered any problems with your clients, and if you have, how did you square things up? Tell us your story in the Comments section below. And if you liked this article, don't forget to share it with your friends!
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.Update me weekly
Envato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!Translate this post