There are drag and drop website builders, hosted CMS / blogging platforms, and other options for creating websites. You have reviewed them all but decided that you need a custom solution.
Whether you are building a website yourself or hiring someone else, you still need to take care of two things. In order to be publicly accessible, the files of your website must be uploaded to a server permanently connected to the Internet. There are companies that provide space on such servers. These companies are called web hosting providers and the service of providing that space with public access is called web hosting.
Your future website also needs a web address. This address is called a domain name. It will be pointed to the space on the server with your files.
So, you need a hosting and a domain name for your website. I recommend JaguarPC – a reliable web-hosting service, with prices lower than offered by their competitors.
Regardless of which hosting provider you choose, I don’t recommend buying a domain name from the same company. Although it is usually convenient (often a free domain is included for the first year, you won’t have to pay two separate bills, no need to setup your domain to point it to the server (it will be done automatically)), it may pose some problems in the future.
For example, after the first year, some companies charge twice or more of what a domain costs. Or, there may be a fee associated with transferring your domain if you decide to move to another web host.
Therefore, it may be better to register your “web address” with a company that specializes in domain name registration and has more tools for managing your domains. For that, I have been successfully using GoDaddy for many years. Most companies that register domain names also provide web hosting services, but keep in mind that sometimes good domain name registrars have mediocre hosting service.