You need a domain name, hosting, and a way to build pages — then you connect them together
Building a website from scratch means getting three separate things and plugging them into each other. First, you buy a domain name (the address people type, like example.com). Second, you rent hosting (the computer that stores your files and keeps your site online). Third, you choose a builder or CMS to create the actual pages. The builder connects to your hosting, your domain points to your hosting, and visitors reach you by typing your domain name.
Most people do this in one place now — a company like Wix, Squarespace, or WordPress.com sells you the domain, hosting, and builder all together. That simplifies the process but locks you into their ecosystem. If you want more control or lower costs later, you can buy the domain and hosting separately and use an open-source CMS like WordPress (the self-hosted version) or Drupal. Both routes work. The difference is convenience versus flexibility.
Key Takeaways
- A domain name, hosting account, and a builder or CMS are three separate purchases that must connect to each other, though many companies sell all three as a bundle.
- All-in-one platforms like Wix or Squarespace are faster to start but charge monthly and make it harder to move your site later.
- Self-hosted WordPress or Drupal cost less per month but require you to manage updates, backups, and security yourself or hire someone to do it.
- Your domain name registration and hosting can be with different companies, but keeping them together usually costs less and causes fewer problems.
- You do not need to know how to code to build a website, but you do need to understand what each piece does and how they fit together.
Buying a domain name and choosing a registrar
A domain name is the address of your website. You buy it from a registrar — a company licensed to sell domain names. Common registrars include GoDaddy, Namecheap, Google Domains, and Bluehost. The registrar does not host your site; they only manage the address and point it to wherever your site actually lives.
Domain names cost between $10 and $15 per year for common extensions like .com, .org, or .net. Some registrars advertise a first year at $1 or $2, then charge the full price when you renew. Read the renewal price before you buy. Uncommon extensions like .photography or .consulting cost more, sometimes $20 to $50 per year. You own the domain only as long as you keep paying the annual fee; if you stop, someone else can buy it.
When you buy a domain, the registrar asks for your contact information. You can usually hide this information behind WHOIS privacy (also called domain privacy), which costs a few dollars extra per year and keeps your name and address out of the public directory. This is worth doing if you want to avoid spam or if you are uncomfortable with your information being searchable online.
Understanding hosting and what it actually does
Hosting is a computer (called a server) that stores your website files and keeps them online 24 hours a day. When someone types your domain name, their browser contacts the hosting server, which sends back your website. If the hosting is down, your site is unreachable.
Hosting comes in several types. Shared hosting is the cheapest — your site shares a server with hundreds of other sites, and one company manages the server for you. It costs $3 to $10 per month and works fine for small sites with light traffic. VPS (virtual private server) gives you more control and resources; you get your own slice of a server and can install custom software. It costs $10 to $30 per month and requires more technical knowledge. Dedicated hosting means you rent an entire server; it costs $50 to $200+ per month and is overkill for most new sites.
Most people starting out should use shared hosting. It is cheap, the company handles backups and security updates, and you can upgrade later if your site grows. Popular shared hosting providers include Bluehost, SiteGround, and Kinsta. When you sign up, the host gives you a temporary address (like yourname.bluehost.com) that you can use while you build. Once your site is ready, you point your domain name to the hosting, and visitors reach you at your real address.
Choosing between all-in-one platforms and self-hosted builders
An all-in-one platform like Wix, Squarespace, Weebly, or Shopify includes domain registration, hosting, and a page builder in one monthly subscription. You sign up, pick a template, drag and drop your content, and your site is live. No separate purchases, no technical setup. These platforms cost $10 to $30 per month depending on features.
The trade-off is that you are locked into their system. If you want to move your site to a different platform later, you cannot easily export your pages and design — you have to rebuild from scratch. You also cannot install custom plugins or code unless the platform allows it. For a small business, portfolio, or blog that you plan to keep on the same platform for years, this is fine. For anything you might want to change or grow in unexpected ways, it is limiting.
Self-hosted WordPress (WordPress.org, not WordPress.com) is free software you install on your own hosting. You buy hosting separately, read WordPress, and run it yourself. You pay for hosting ($5 to $15 per month) but not for the software. You get full control: you can install thousands of plugins, change the code, move your site to different hosting, and own your data completely. The downside is that you are responsible for updates, backups, and security. If something breaks, you fix it or hire someone to fix it.
Drupal is another free, self-hosted option. It is more powerful than WordPress but steeper to learn. Most people starting out should choose WordPress if they want self-hosted, because the community is larger and more tutorials exist.
The actual steps to get your site online
If you choose an all-in-one platform like Wix: (1) Go to Wix.com, sign up, and choose a template. (2) Customize the template by editing text, adding images, and changing colors. (3) Buy a domain name through Wix or connect one you already own. (4) Publish your site. You are done. The whole process takes a few hours.
If you choose self-hosted WordPress: (1) Buy hosting from a provider like Bluehost or SiteGround. (2) Buy a domain name from a registrar like Namecheap or GoDaddy, or buy it through your hosting provider. (3) Point your domain to your hosting (the hosting company usually does this for you or gives you instructions). (4) Install WordPress on your hosting (most hosts have a one-click installer). (5) Log into WordPress, choose a theme, and start building pages. (6) Install plugins for features you need (contact forms, SEO, backups, security). (7) Publish your site. This process takes longer — a few hours to a full day — because there are more steps and more things that can go wrong.
If you are not comfortable with step 3 or 4, ask your hosting provider's support team to do it for you. Most will help for free or a small fee. You do not have to figure it out alone.
Common mistakes people make when building their first site
The biggest mistake is buying everything from different places without understanding how they connect. You buy a domain from GoDaddy, hosting from Bluehost, and WordPress from somewhere else, then nothing talks to each other and you get stuck. Solution: buy your domain and hosting from the same company, or write down exactly what you bought and where, so you can find it later.
The second mistake is choosing a platform based on price alone. A $3-per-month host might be slow or have poor support. A $50-per-month all-in-one platform might have features you do not need. Spend a little more for a host with good reviews and support that actually answers emails. You will save time and frustration.
The third mistake is not backing up your site. If you use self-hosted WordPress, install a backup plugin like UpdraftPlus or BackWPup and set it to back up automatically once a week. If you use an all-in-one platform, they usually back up for you, but read their terms to be sure. A backup is worthless if you cannot restore it, so test your backup once to make sure it works.
When to hire someone instead of building it yourself
If your site is straightforward — a blog, a portfolio, a small business homepage — you can build it yourself in a weekend. If your site needs custom features, integration with other software, or a database that stores information, you should hire a developer. A freelance developer on Upwork or Fiverr can build a WordPress site for $500 to $2,000. A local web designer might charge $2,000 to $10,000. Get quotes from at least two people and ask to see examples of their previous work.
Even if you hire someone to build your site, you should still understand the basics of how it works — where your domain is registered, where your hosting is, how to log in and make small edits. Do not hand everything over to someone and lose track of your own accounts. If they disappear or go out of business, you need to be able to access your site yourself.
Frequently Asked Questions
Do I need to know how to code to build a website?
No. Page builders like Wix, Squarespace, and WordPress with visual themes let you build a site by dragging and dropping. You never touch code. If you want to customize colors or fonts beyond what the builder offers, you might need to edit a little CSS, but tutorials exist for every common change. Learning to code is optional, not required.
Can I move my site from one platform to another later?
It depends on the platform. Moving from Wix to WordPress is hard because Wix does not export your pages in a format WordPress understands. You usually have to rebuild. Moving from self-hosted WordPress to another host is straightforward — you back up your entire site and restore it on the new host. If you think you might move later, start with self-hosted WordPress or a platform that lets you export your data.
What is the difference between WordPress.com and WordPress.org?
WordPress.com is an all-in-one platform owned by Automattic. You sign up, pay a monthly fee, and they host your site. WordPress.org is free software you read and install on your own hosting. WordPress.com is easier but more limited. WordPress.org gives you full control but requires you to manage hosting and updates yourself.
How much does it cost to build a website from scratch?
A domain name costs $10 to $15 per year. Hosting costs $3 to $15 per month. An all-in-one platform costs $10 to $30 per month. So a basic site costs between $50 and $500 per year depending on what you choose. Self-hosted WordPress is cheaper ($50 to $200 per year) but requires more work. These prices do not include hiring a designer or developer, which adds $500 to $10,000+.
What if my domain name is already taken?
Try a different extension (.co instead of .com, or .studio instead of .net). Use a domain name generator like Nameboy or Lean Domain Search to brainstorm alternatives. If the domain you want is registered but not in use, you can try to buy it from the current owner, but they may ask for a lot of money. Most of the time, a slightly different name works just as well.