Delivering Sites and Project Files to Clients

Best ways to send files

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!

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 you complete the site.

Sending Files By Email

Email is the simplest 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 you can then email to the client.

Unless the site is massive with myriad 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:

  • Clients might not know how to upload the files to their web server, 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 you send it.
  • Dynamic pages like PHP or scripts like CGI could require tweaking on the live server to work correctly, and your clients may not know how to do that.

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 might be willing to send files by email to the company that hired you since you know that they will be received by people who are knowledgeable and will understand how to handle the files. Otherwise, when you are dealing with non-web professionals, consider one of the methods below.

Access the Live Site

Providing the live site 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 creating 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 freelancers, 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 might 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 the preferred method of delivering files when dealing with clients that don't know HTML or web design. Offering to find the hosting for the client as part of the contract allows access to the site while you're developing it. Then when the site is complete, give them the account information. However, always have clients handle the billing end of hosting, again as part of the contract, so that you're not stuck paying for the hosting after completing 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 download them.

Dropbox even lets you use them as a form of web hosting by pointing to the HTML files in the public folder so that you can use them as a testing place for simple HTML documents too. This method is suitable 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 issues 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. You can also keep track of deliverables and make notes on what's going on throughout 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 omit 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 to document that decision 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.