Best Website Builder
I test every website builder so you don’t have to. These are my rankings of the best website builders in 2025.
Our work is supported by affiliate commissions. Learn More
By Steve Benjamins | Fact checked by Juhil Mendpara | Updated Jan 7 2025
Building a website. Ugh. Sounds like a headache, doesn’t it?
Well, I’m here to help.
I built my first website two decades ago. Writing a beginner’s guide to building a website back then would have just been coding tutorials.
But things have changed.
Today, anyone can build a website— and this guide will show you how!
There is nothing wrong with just jumping in and getting started but a little bit of planning can go a long way.
Here are three things I’d suggest you do before starting your website:
Your website isn’t an end in and of itself. It needs to accomplish a goal for you or your business.
Here are some example goals:
This goal should inform every design and content decision you make. Every website question can be solved by asking: “will this help us accomplish our goal?”
The 3 most common ways are:
These days I typically choose a website builder if I’m building a smaller website— for example I used Squarespace for my music or for a business.
When I’m building something more sophisticated— for example, Atlist— I code from scratch.
This is just a good thing to lock down early.
I use Namecheap and Squarespace to register my domain names.
It can be helpful to plan out the structure for your website.
Do not overcomplicate it — you can use a tool like Gloomaps or XMind to plan it visually.
Here’s an example:
These days I typically choose a website builder if I’m building a smaller website— for example I used Squarespace for my music or for a business.
Website builders are all-in-one website building tools.
They often have a drag and drop visual editor and include everything a typical website might need: templates, photo galleries, web hosting, forms, and more.
Website builders are commonly used for portfolios, blogs, small business websites, online stores, and more.
The best website builder depends on your needs. Here’s what I’ve found after comprehensive website builder reviews of 30+ platforms:
Now that you’ve got an overview of website builders, let’s walk step-by-step through creating a website with Squarespace.
You can see the final version of website we’ll build here.
Sign up to Squarespace to get started.
The first step is to choose a template. Squarespace provides a bunch we can choose between:
Think of each template as a starting point— we’ll be customizing it so that it will have its own unique look and feel.
I am going to choose the Paloma template:
Next up, we’ll sign up for Squarespace’s free trial— there’s no credit card required at this point.
Signing up with Squarespace.
After completing signup, we’re in Squarespace! Nice!
We’ll begin by adding some pages. So click Pages:
Delete Demo Pages
Squarespace gives you some demo pages to start off— but we’re just going to delete those.
Add Pages
Now let’s add our pages. Click the plus (+) icon to add pages:
We’re going to add 3 blank pages (Songs & EPs, About, and Contact) and 1 blog page (Blog). These will make up our main navigation.
Next, we’re going to add a logo and customize the header.
So click Edit to open the editor:
Then hover the header with your mouse and click Edit Site Header:
Remove The Social Icons
Next, we’ll remove the social icons and customize the button in our header.
So click Elements:
And we’ll do two things. First, let’s turn off the social links toggle. Second, let’s make the button link to my Spotify:
How To Add Your Logo
Go back to the header editor. Then click Site Title & Logo:
And from there, you can upload a logo image:
I don’t have a logo for my music— that’s why I’m using the Nike logo as an example.
So I’m just going to stick with the default text logo Squarespace provides:
Customize The Navigation
Next, I’d like to align the navigation to the center.
So go back to the header editor and click the Desktop icon:
From there, we can select where we’d like navigation to show— let’s set ours to centered:
And there we go— our header is customized! Here’s how it looks:
Next, we are going to customize the fonts and colors. This is a useful way to establish the brand.
Choosing Custom Fonts
Click the paintbrush icon to open Site Styles:
Then choose Fonts:
The Global Text Styles let us select the fonts that we want to use across our entire website:
I am going to select Freight Text Pro for headings and Helvetica Neue for paragraphs, buttons, and misc.:
Setting Custom Colors
Setting custom colors is a great way to establish your brand— so let’s do that.
Click the paintbrush icon to open Site Styles:
Then choose Colors:
And click Edit Palette:
Your website colors will come from this palette— changing the palette will automatically adjust the colors across your entire website.
The most important color in your palette is the Accent Color. You’ll want your most important brand color here. I choose a royal blue for mine:
Now let’s start designing the content of our website— we’ll start with our homepage. So navigate to the homepage and open the website editor (remember, you just have to click the Edit button).
Changing The Background Image
Let’s start by changing the Section background. So click the pencil icon (below) to open the Section Editor:
Then click Background and upload a new background image:
You can use the Overlay Opacity to add some darkness to your background. This helps text standout:
Editing Text
To edit the text in Squarespace, you can just click it and the text editor will pop up:
Click the blue + icon if you’d like to add a new text Content Block:
We are going to add a video Content Block:
Here's how it looks— we have text and a video content blocks:
How To Change Section Height & Width
You can also change the height and width of the section when in the Section Editor.
For example, here’s a Large section:
And here’s a Medium section:
Create Sections From Scratch
Let’s create the Contact page next. So navigate to the Contact page click Add Section:
Squarespace includes pre-built sections so that you don’t have to create each page from scratch.
We’re going to choose one of these pre-built contact page sections…
…. And now we have our Contact page!
Setting The Color Of A Section
We just need to change the color background to a darker color to match the rest of the website.
So click Edit Section:
Then click the Colors tab and choose a darker color:
By now, you should have a pretty good sense of how Squarespace works. So I’m going to move a bit quicker.
So navigate to the Blog page.
And let’s add a Headline section:
There, that looks good:
Customizing The Blog Layout
Now I want to change the layout of the blog— which we can do by clicking Edit Section:
From there, I’ll make a few customizations:
So it looked like this:
How To Add Blog Posts In Squarespace
Open the Blog Editor to add new posts.
You can open the editor this by clicking Manage Posts on a blog page:
From there, simply click the post you want to edit:
Happy blogging!
We still haven’t edited the Footer of our website. So navigate to the bottom of the page and click Edit Footer:
To begin, let’s remove everything in the footer:
Then I’m going to add this pre-built section Squarespace provides:
From here, I customized the text and added Social Links and Newsletter content blocks.
I also changed the color to dark to match the rest of the website:
So now our website is done!
(Note: To save you time, this article doesn’t show you building the Songs & EPs page and the About page— but you should know how to create those pages by now.)
Here’s how our website looks:
Now let’s publish this website to a custom domain name!
First: Upgrade Squarespace
In order to add a domain name, we’ll need to upgrade to a paid plan.
Paid plans can be either Monthly or Annually. I’m going to choose an annual plan because it includes a free domain name for 1 year.
I’m going with Personal— the cheapest plan:
Claim Your Free Domain Name
Once you upgrade to a paid plan, you’ll have an option to claim your free domain name. Click this box:
Then click Get Domain:
From here, we can search for our free domain name! I’m going to go with this one:
Once you have your domain name chosen, the only remaining step is to publish the website!
So go to Settings and click Site Availability:
Then set the site to Public:
And from there our website is live on our domain name!
WordPress (to be precise, WordPress.org) is a CMS (or Content Management System). It’s a software platform that lets you create, store, search, and edit content.
Unlike website builders, you can’t design your website with a CMS — you will have to rely on templates, blocks, or page builders that go on top of the CMS.
CMSs are more flexible than website builders, though. That’s thanks to numerous plugins and hosting options available. However, there’s a learning curve. (You can read this WordPress vs Website Builders comparison to learn more.)
Here’s how a typical process of building a website with CMS looks:
Just like website builders, there are many CMS options out there- Joomla, Drupal, Netlify, etc.
The most popular of all is WordPress. It powers more than one-third of websites on the internet. You’ll get access to thousands of themes and plugin options if you decide to go with it — however, you’ll need a bit of technical expertise to build the website exactly as you like.
The first step is to register a domain name. I recommend using Namecheap or Google Domains for domain registrations.
Almost all web hosting companies offer WordPress hosting. Most even have managed WordPress plans.
Though I haven’t tested all web hosts like I have reviewed website builders, I do have experience with a few. I recommend using Kinsta or Siteground for the best WordPress performance.
Say you bought a domain name from Namecheap. You’ll find a Nameservers option when you click on Manage Domain.
There, you’ll have the option to change nameservers. Add your hosting nameservers to point the domain to the hosting plan.
There are two ways to install WordPress:
Using it, you can install WordPress in a couple of minutes.
Under Appearance on the WordPress dashboard (which will be accessible at yourdomainname.com/wp-admin), you’ll find the option to add a theme.
Choose one from the WordPress marketplace or upload a third-party theme.
Remember: You’ll have to make do with whatever functionalities/visuals the theme has. There’s no drag-and-drop builder to customize the visual elements of the theme. Want to change something? Know HTML, CSS, and PHP!
The best way to add functionality to your WordPress site is through plugins.
You’ll find plugins for almost anything on the WordPress plugin store- SEO (search engine optimization), security, cache, forms, social media sharing, analytics, landing pages, e-commerce (using Woocommerce), and more. Install what’s needed.
That’s it. Your WordPress website’s ready.
This is always an option— though this can have a big learning curve.
To build the most basic website by coding, you’ll need to learn HTML, CSS, and JavaScript. I recommend Freecodecamp, Codecademy, and Team Treehouse to learn web development step by step for free. However, it’s only recommended if you aspire to become a web developer or a web designer.
Side Note: I used to code all my websites from scratch. Now I almost never do. These days it’s just easier and faster for me to use a website builder for most small websites.
So I’ve shown you how to build a website. But in this section, I want to share tips and tricks that will help you build a great website.
Your website isn’t an end in and of itself. It needs to accomplish something for you. Almost all decisions can be solved by asking: “will this help us accomplish our goal?”
On my website, the goal is to get more listeners— so I gave the most valuable real estate on the website to a ‘Listen On Spotify’ button:
Your goal might be different: for example, if you want to generate leads, maybe the button should link to a contact page!
Human works on the internet.
People will respond to your website if you make it clear there is a real, live human behind it— don’t try to hide behind corporate language or vague stock photography.
This website is an excellent example of being human— don’t you feel like you know Josh just from the photo and colors?
People don’t read websites; they scan websites. Distill everything down to the essentials.
No walls of text.
Think of website navigation like elevator buttons: people use it to get somewhere. It needs to be simple and positioned in a consistent place.
Most people use corporate jargon or vapid catchphrases about customer support when they try to write content for their website.
Don’t be those people.
Instead…
Imagine you're having a coffee with a friend, and they ask you to explain your business. How would you talk? What words would you use? That’s how you should write on your website.
Good writing is conversational.
Testimonials build trust with customers. A good testimonial addresses fears and concerns in order to build trust.
Whenever possible, show visitors— don’t tell them. Remember: visitors don’t read websites, they scan websites.
The best way to do that is with photography.
Try to avoid stock photography. Stock photography is usually corny when it’s trying to be a metaphor— for example, a handshake to signal customer service. Ugh. Studies have found that these types of photos are often ignored.
Don’t try to get clever here. Make your contact details super obvious.
There are definitely free website builders— just be aware that many include an advertisement on your website.
Most DIY website builders start at around $144 / year. If you're looking to save some money check out the cheapest website builders. However, if you are thinking of hiring a professional, the average cost to build a website is around $3200.
I recommend Squarespace for most websites but Shopify is also great for ecommerce websites.
Google has Google Sites though it's quite limited— there is only website layout for example.
You can obviously code, but I recommend Wix and Webflow to build from scratch.
Most DIY website builders have pre-made templates and an easy-to-use editor. Therefore, it takes only an hour or two to make a website.
Absolutely not! Website builders are a beginner-friendly way to build a website. Even I — someone who used to code his websites from scratch — build most of my websites (with DIY builders) without writing a single line of code.
Yes, WordPress is free. You’ll need to pay for the domain, hosting, themes, and plugins that go on top of it, though.
For most conventional sites, Squarespace is simply easier and faster to use. I’ve discussed it in detail here.