I'm still learning how freelance web development works and would appreciate some practical advice. Do developers typically host their clients' websites through a preferred provider and charge a monthly or annual fee with a markup, or do they leave the hosting account in the client's name and focus only on development and deployment? I currently host a few personal sites through IONOS and Fasthosts, but I'm also looking at modern options for static sites and developer portfolios. I'd also like to understand the basics of version control, including how Git and services such as GitHub fit into a normal development and deployment workflow.
4 Answers
Git and GitHub are worth learning early, even for solo projects. Git runs on your computer and tracks the project history, while GitHub is an online service where you can store and share Git repositories. A typical workflow is to make a branch, edit the site locally, commit the changes, push the branch online, and deploy after checking that everything works. This also gives you an off-site backup and makes rollbacks much easier.
Version control is a record of changes to a project. With Git, you can save meaningful checkpoints, see what changed and when, compare versions, identify who made a change, and restore an earlier working state if a new feature causes a problem. Start by putting each project in its own repository, committing small changes regularly, and learning how to create branches for separate features. A service such as GitHub can store the repository online, provide collaboration tools, and trigger deployments.
Each person normally gets their own account with the necessary permissions. They clone the repository, work on a separate branch, and merge their changes after reviewing them. This is different from sharing one FTP password and helps preserve both security and a useful change history.
Many freelancers offer development first and hosting or maintenance as an optional ongoing service. A hosting plan can create recurring revenue and gives you a reason to stay involved for security updates, bug fixes, and small changes. It can be billed monthly or annually, as long as the scope of support is clear. For WordPress sites, a managed WordPress provider can work well. For static sites, services such as Cloudflare Pages are often inexpensive, fast, and require very little maintenance.
When you say static sites are fast on services like Cloudflare Pages, do you mainly mean faster loading times for visitors, or is there another advantage?
The speed mainly comes from serving files through a global content delivery network. Static sites also avoid database queries and server-side processing, so there is less that can go wrong.
It is common to separate the initial build from optional hosting and maintenance. For smaller clients, you can manage the hosting and charge a clearly defined recurring fee. For larger clients, or whenever ownership and portability are especially important, set everything up in accounts owned by the client. Make sure domains, hosting, billing, backups, and access credentials are documented so the client is not locked in.
So the usual process is to create the domain and hosting account, make sure the client has ownership and access, and then use the appropriate hosting or FTP credentials to deploy the site?

How can multiple people work on the same project? I have mostly used an FTP client and hosting login so far, so I'm trying to understand how access is handled.