How to make a website

I'm paid via affiliate links below. More here.

Create a website from scratch, no technical experience required. Use your website for blogging, freelancing, writing, authoring, side hustling, podcasting and so much more.

What you’ll have by the end of this page

  • A self-hosted WordPress site (the best all-around choice)
  • A customizable theme
  • A domain email address ([email protected])
  • Important tracking codes installed (like Google Analytics)

Who shouldn’t use this page?

If you sell physical products, start on Shopify. If you sell handmade goods, start on Etsy. Then follow the other pages starting with #2.

How much will this cost?

This guide is free. You only pay for the services necessary to get your website online which is $200 (or less) today. That covers everything for 12 months. One caveat: your email list is free until 1000 subscribers or until you upgrade.

Before you start

  • Use Google Chrome as your web browser.
  • Keep all tabs open as we go. We will jump around.
  • Identify a place to record login info for each service, like a digital note or a simple piece of paper. And save your email receipts.
  • For efficiency, print this page (or load it on your phone) while you work on your computer.

Ready? Let’s get started!

1. Set up your website

  • Go to Bluehost. Click Get started. Select the Choice Plus plan.
  • Under “Create a new domain” enter the domain name (web address) you want to use for your site. Examples: or
  • Enter your account information.
  • Choose an account plan based on how far in advance you want to pay.
  • Uncheck the package extras.
  • Enter your payment information and complete your purchase.
  • Create your account, choose a password and log in to Bluehost. (Jot down your Bluehost login information.)
  • Answer (or skip) the questions about your site. Add a blog when asked.
  • Choose Kadence as your free theme.
  • You’ll see “Nice work!” This is your Bluehost Dashboard. Keep this tab open.
  • Click the WordPress button to go to your WordPress Dashboard. Keep this tab open.

2. Set up WordPress

  • In the left column of your WordPress Dashboard, go to Settings > Permalinks. Select Post Name. Scroll down > Save Changes. What is a permalink?
  • Go to Settings > General. Choose your timezone from the dropdown menu. Scroll down > Save Changes.
  • Go to Settings > Reading. Select “A static page” next to “Your homepage displays.” From the Homepage dropdown select Sample Page. From the Posts page dropdown select Blog. Scroll down > Save Changes. (Don’t see Blog? Do this first: Pages > Add New. Type Blog in the title and leave the body blank. Hit Publish. Now you should see the option in the Posts page dropdown.)
  • Go to Users > Profile. Enter your first name in the Nickname field. Select it also from the dropdown menu next to “Display name publicly as.” Scroll down > Update Profile.
  • Go to Settings > Discussion. Next to “Default post settings” uncheck “Attempt to notify any blogs linked to from the post” as well as “Allow link notifications from other blogs.”
  • Stay in Settings > Discussion. Do you want comments open on your posts? If not, uncheck “Allow people to submit comments on new posts.” Scroll down > Save Changes. (I prefer no comments.)
  • Go to Plugins > Installed Plugins. Select all the plugins in the list. Choose Deactivate from the dropdown menu at the top of the list. Hit Apply.
  • Stay in Plugins > Installed Plugins. Select all the plugins in the list again. Choose Delete from the dropdown menu. Hit Apply.
  • Go to Plugins > Add New. Enter “Insert Headers and Footers” in the Search plugins bar. Look for the one by WPBeginner. Click Install Now. Click Activate.
  • Go to Appearance > Themes. Hover over any inactive theme. Click Theme Details. Click Delete in the bottom right corner. Repeat for all inactive themes.

3. Secure your WordPress site

  • Open a new tab in your browser. In the browser address bar at the top, type in your domain. (Ignore the look of your site for now.)
  • Does your domain stick in the browser address bar? If so, continue. If it forwards to an unfamiliar (temporary) domain, wait another 2-12 hours and start at this spot again.
  • When your domain sticks, go back to your Bluehost Dashboard. Click My Sites > Manage Site.
  • Click the Security tab. Under Security Certificate, make sure the Free SSL toggle is ON. Your URL should now start with https.
  • Go back to your WordPress Dashboard. Click Settings > General.
  • Enter your secure URL ( in the WordPress Address (URL) and Site Address (URL) fields. Scroll down > Save Changes.

4. Get a domain email address

  • In your Bluehost Dashboard, go to Email & Office.
  • Click “Go to G Suite.” (Note: G Suite has recently become Workspace.)
  • Select the number of users (1 if it’s just you). Make sure your domain shows in the dropdown menu.
  • Pay yearly to get a discount on the next page.
  • Click Add to cart and process your order.
  • Enter your desired email address. Your first name or something simple works ([email protected]). This is your domain email address. Use it for everything going forward.
  • Complete your contact information and click Create.
  • Log in to your Workspace (formerly G Suite) account to get to your Admin Console.
  • Follow the prompts to access your Gmail account within Workspace. Leave this tab open.

Does Workspace have support?

Yes. If you have any trouble, contact Workspace support.

5. Install Google Tag Manager

  • Open a new browser tab. Sign up for Google Tag Manger using your new domain email address. (In a new browser tab, watch this video from minute 4:54 to minute 7:00 for a walkthrough.)
  • Copy the 1st part of your 2-part code in Google Tag Manager. (See minute 6:57.)
  • Go to your WordPress Dashboard. Click Settings > Insert Headers and Footers.
  • Paste the 1st part of your Google Tag Manager code in the “Scripts in Header” box. Save.
  • Go back to Google Tag Manager. Copy the 2nd part of code.
  • Go back to your WordPress Dashboard. Paste the 2nd part in the “Scripts in Body” box. Save. Keep this tab open.
  • In a new tab, go to the Tag Assistant Chrome extension. Click Install. (You must be using Chrome.)
  • Go back to the video. Resume watching from minute 10:33 to 13:00. Follow Jason’s instructions to make sure Google Tag Manger is installed properly.

6. Install Google Analytics

  • Open a new browser tab. Go to Google Analytics. Sign in with your domain email address.
  • Add your general business / organization name as Account Name.
  • Select Web.
  • Create a Property. Enter your website name and secure URL (
  • Choose a category that makes sense and set your timezone.
  • Click Create.
  • Click Admin (gear icon) in the bottom left.
  • Copy your Google Analytics tag. It will start with “G-XXXXXXXXXX“.
  • Go back to the tab with Google Tag Manger. Click New Tag. Name your tag Google Analytics 4.
  • Click Tag Configuration. Choose “Google Analytics: GA4 Configuration.”
  • Paste in the tag you copied above (G-XXXXXXXXXX).
  • Hit Triggering > Select All Pages > Save.
  • Open a new tab. Watch this video from 16:07 to 18:30 to make sure it’s installed correctly.

7. Set up Google Search Console

  • Open a new browser tab. Go to Google Search Console. Log in using your domain email address.
  • Click on the dropdown menu in the top left corner and select Add Property.
  • Under Domain, enter your domain ( not your URL ( then Continue.
  • Do you see a green checkmark indicating it’s verified? If so, skip the rest of this step. If not, copy the TXT record in the popup and keep this tab open.
  • Go to your Bluehost account. Go to Domains > Manage > DNS.
  • Scroll down to the TXT section. Click Add Record.
  • In the Host Record field, enter @.
  • In the TXT Value field, paste what you copied above.
  • In the TTL field, leave it at 4 Hours.
  • Save. It may take some time to process so try back in 30 minutes before proceeding.
  • Go back to Google Search Console. Click Verify > Done.

Next step? Start an email list.


How do I choose a domain name?

  • Go with .com. Otherwise you’ll have to explain. And you might lose traffic to the person who has your domain with the .com.
  • The shorter the better.
  • Easy to say and spell.
  • No hyphens.
  • Niche down in topic, but not in your domain name, so you can expand later.
  • Make sure it’s not trademarked. If you’re in the US, search here.
  • Make sure the name is available on social media sites. Search Namechk.
  • Don’t overthink it. Pick your best option and go!

What is domain privacy and why do I need it?

Domain privacy keeps your personal contact information hidden from the public in the WhoIs database which is accessible to everyone. If you selected the Choice Plus plan, domain privacy is included. If you selected a different plan, contact Bluehost to add domain privacy.

How do I choose a domain later in Bluehost?

In your Bluehost dashboard, go to Domains > Register. Enter your desired domain and follow the prompts to check out. (I recommend automatically renewing and adding domain privacy.) Then, contact Bluehost. Ask them to replace your temporary domain with your permanent one. Done! It may take a few hours to take effect.

What is a permalink?

A permalink, or permanent link, is the unique URL — web address — for any webpage on the internet. Permalinks make it easy to find and link to specific & individual webpages. A permalink is made up of a few parts. For example, for this page:

  • Permalink (URL) =
  • Domain =
  • Slug = make-a-website

What’s the difference between a secure URL and an unsecure URL?

A secure URL begins with https. An unsecure URL begins with http. A secure website gives visitors peace of mind. It also keeps your site on Google’s good side.

How do I customize my design?

The free version of Kadence (what you installed above) is customizable on its own. Here’s a video for ideas. To get even more options, consider upgrading to Kadence Pro.

Should I trademark my name?

Maybe. I can’t give legal advice but I can tell you what I did. The only trademark I have is The Useletter®. I worked with Gerben Law.

How do you deal with warnings and errors?

Don’t panic. Don’t start madly pushing buttons. Undo the last thing you did (Control-Z). See if it’s just you. Take a screenshot or copy the error. Save it. Google it, share it with support or give it to someone you hire for help.