Delivering Sites and Project Files to Clients

Delivery man guiding a dolly stacked with boxes
Fisher Thatcher/Getty Images

Building a website for a client is exciting, especially as the project comes to a close and you are finally ready to turn over the project files to your client. At this critical juncture in the project, there are many ways you can choose to deliver the final site. There are also some missteps that you can make which would turn an otherwise good project process into a failed engagement!

Ultimately, we recommend that you define the delivery mechanism that you will use for a project in the contract, This ensures that there is no question about how you will get all the files to your clients once that site is completed. Before you can stipulate these terms, however, you first have to determine what delivery method is best for you and your clients.

Sending Files By Email

This is the easiest method to get your files from your hard drive to your customer. All it requires is that you have an email client and a valid email address to use for your customer. For most websites with a variety of pages as well as external files like images, CSS stylesheets, and Javascript files, you’ll need to use a program to "zip" those files into a compressed folder that can then be emailed to the client.

Unless the site is very large with lots and lots of images or video files, this process should get you a final file that is small enough to safely send by email (meaning one that will not be so large that it gets flagged and blocked by spam filters). There are several possible problems with sending a website by email:

  • Many clients may not know how to upload the files to their web server. They also may not know how to detach the files from their email or where to put them when they do.
  • Some email servers consider HTML (and sometimes ZIP) files as potentially harmful and may strip the attachments from the message. This is especially true if you are attaching JavaScript files.
  • Email is insecure. If the HTML contains sensitive data, it could be seen by hackers as it’s sent.
  • Dynamic pages like PHP or scripts like CGI may require tweaking on the live server to work correctly, and your clients may not know how to do that.

You should only use email to deliver sites when you know the client has a good understanding of what to do with the files that you are sending. For example, when you work as a sub-contractor for a web design team, you would be willing to send files by email to the company who hired you since you know that they will be received by people who are knowledgeable and will know how to handle the files. Otherwise, when you are dealing with non-web professionals, you should use one of the methods below.

Access the Live Site

This is often the most effective way to deliver files to your clients—by not delivering them at all. Instead, you put the finalized pages directly on their live website via FTP. Once the website is finished and approved by your client in a different location (such as a hidden directory on the site or another website altogether), you move it live yourself. Another way to do this is to create the site in one location (likely on a Beta server that you use for development), and then when it’s live, change the domain DNS entry to point to the new site.

This method is useful for clients that don’t have a lot of knowledge in how to build websites or when you are building dynamic web applications with PHP or CGI and you need to make sure that the site scripts work correctly in the live environment. If you have to move the files from one location to another, it’s a good idea to zip them just like you would for email delivery. Having FTP from server to server (rather than down to your hard drive and then back up to the live server) can speed things up as well. The problems with this method include:

  • Clients don’t always want to provide access to their site to freelancer, so you may run into some hesitation when you ask for site access.
  • Some websites are built behind a firewall and freelancers can’t get access to them.
  • Clients may feel that you should be available for additional support and maintenance beyond what is in your contract simply because you have access to their site now.
  • If you’re building or changing just a portion of the site, any mistake can cause problems for the rest of the site and that can quickly become your problem, whether you caused the issue or not.

This is our preferred method of delivering files when we're dealing with clients that don’t know HTML or web design. In fact, we often offer to find the hosting for the client as part of the contract so that we have access to the site while we're developing it. Then when the site is complete, we give them the account information. However, even when we help a client ​find a hosting provider, we always have clients handle the billing end of hosting, again as part of the contract, so that we're not stuck paying for the hosting after we’ve completed the design.

Online Storage Tools

There are lots of online storage tools that you can use to store your data or back up your hard drive, but another thing you can use many of them for is as a file delivery system. Tools like Dropbox make it easy to place files on the web and then give your clients a URL to go download them.

In fact, Dropbox even lets you use them as a form of web hosting by pointing to the HTML files in the public folder, so you can use them as a testing place for simple HTML documents too. This method is good for clients who understand how to move the finished files to their live server but won’t work so well with clients that don’t know how to do web design or HTML. The problems with this method are similar to the problems with sending an email attachment:

  • Clients may not know how to use the service.
  • Clients may not know how to get the files from Dropbox to their website.

This method is much more secure than sending attachments via email. Many storage tools include some password protection or hide the URLs so that they are less likely to be found by someone who doesn’t know it. We like using these tools when an attachment would be too large to send by email effectively. As with email, we only use it with web teams that know what to do with the zip file once they receive it.

Online Project Management Software

There are lots of project management tools available online that you can use to deliver websites to clients. These tools offer features beyond just storing files like to-do lists, calendars, messaging, and so on. One of our favorite tools is Basecamp.

Online project management tools are useful when you need to work with a larger team on a web project. You can use it both for delivering final sites and for collaborating while you are building it. And you can also keep track of deliverables as well as make notes on what’s going on in the project.

There are some drawbacks:

  • Most online project management tools are not free, and the free versions are limited. If you decide to use one, you should factor the cost into how much you will charge, and as always, get it noted in the contract.
  • It is another website you need to check and another software both you and your clients need to learn to use.
  • They are only as useful as the information you put in them—in other words, if you don’t include a due-date, the program can’t warn you it’s nearly here.
  • Some companies don’t like their corporate information (including websites) stored on a third-party site for security reasons. Be sure to discuss this with your client before you pay for an account.

We have used Basecamp and find it very useful for delivering files to clients, and then making updates to those files and seeing the notes inline. It is a great way to track a large project.

Document What Delivery Method You Will Use

The only other thing you should do when deciding how to deliver finalized documents to clients is to make sure that that decision is documented and agreed on in the contract. This way you won’t run into any hassles down the road when you were planning to post a file to Dropbox and your client wants you to upload the whole site to their server for them.