This guide covers exactly how to start a blog and make money from scratch.

Here’s the problem – while the Internet has made talking, writing and sharing easier than ever there are very few companies (basically just YouTube, certainly not Facebook or Twitter) that let you make money off your own creativity.

To make money with your creativity, you’ll need to own your own space on the Internet. And the simplest way is to start a blog.

*Aside – a “blog” is technically just the part of a website with the newest content listed first. This guide will show how to start a blog, but you’ll have the unlimited options of a full website as well.

But not every blog makes money. In fact the vast majority fail. That’s because most bloggers and website owners skip over the key step of getting traffic.

How to start a blog and make money (short version)

  1. Get your blog set up with a domain, hosting & blog software
  2. Get visitors to your new blog via different marketing channels
  3. Decide how to make money with your new audience via different business models

Let’s dive in!

Disclosure – I receive referral fees from any companies mentioned. All opinions and data are based on my experience as a paying customer of the mentioned companies.

Getting Your Blog Started

To start your blog, you’ll need 3 things –

  1. Domain name – this is your address or “name” online. It’s what visitors will type in to get to your blog.
  2. Hosting server – this is where your blog will physically “live.” When someone types in your domain name, their browser will go to this server to get the information and deliver it to your visitor’s computer.
  3. Blogging Software – this is software that lives on your hosting server that allows you to login, add content, and manage your blog.

Let’s cover each in turn.

Notes On Starting A Blog For Free

There’s a saying that if something is free then you aren’t the customer – you are the product. It remains true for any platforms that offer blogging for free.

If you are using a free blog platform, you are going to be limited with what you can do – and thus with your ability to make money (the key part of this guide). They usually package domain name, hosting server and blogging software into a package that allows the platform to make money from your work.

That said, if you have zero budget, you can still get started on a free platform and strive to migrate in the future. There are easy to use free blog platforms like Blogger and Tumblr.

However, the free platform that will make migrating to your self-hosted blog easiest is They give you a subdomain and a restricted version of WordPress blogging software for free. You can read more about and the differences here.

That said, let’s set up your domain name.

Setting Up Your Domain Name

A domain name is something that you purchase and own for a length of time. Companies that sell them are called domain registrars.

While some hosting companies also sell them with hosting, they are usually marked up when the domain renews every year and can be difficult to move if you ever change hosting companies.

To get the best long-term pricing (ie, renewal pricing) and flexibility, you should buy your domain from a company that is primarily a domain registrar.

GoDaddy is the most famous with best short term prices, though they also mark up domains at renewal, and don’t have the best domain management services.

Instead, go to NameCheap here and search for your preferred domain name. They offer consistent, cheap, long-term pricing with very simple domain management. I reviewed them at length here.

Step 1. Go to NameCheap and search for your preferred domain. A .com domain is ideal, but not required. Don’t get a country-related domain unless you are solely focused on that country.

Step 2. Purchase the domain name for your preferred length of time.

Step 3. Login to your Dashboard and navigate to your domain. Don’t do anything yet – but you’ll come back to this section to “point” your domain to your hosting server with the nameservers (as seen below).

NameCheap Nameservers

Now, we’ll head to set up your hosting server.

Setting Up Your Hosting

Your hosting server is where your blog will “live”. It’s what allow you to have your own space on the Internet. It’s kind of like buying your own land to build your own house.

On the technical side, you will be using “shared Linux” hosting. That simply means you’ll be sharing a server with other websites (hence much cheaper) and the server uses Linux – which allows the widest choice of blogging software to install.

There at hundreds of web hosting companies on the Internet. There is no such thing as an “overall best” – only the best for you & your situation. Since you are reading this guide, I’ll make a few assumptions (ie, performance needs, budget parameters, etc). If you want to take a quiz – you can do that here.

Otherwise, here’s the 3 companies that I usually end up recommending to DIYers. You can also read my full hosting reviews, including ones for HostGator, InMotion & Web Hosting Hub if you’re interested.

  • HostGator – Very affordable all-around plans, especially if you plan on installing many small WordPress websites. Good customer service & performance. I use them for my smaller, personal sites. See their plans w/ 45% off discount here.
  • Web Hosting Hub – Independently-owned with beginner-focused customer service. Very well-priced plans with deep long-term discounts and good performance. See their plans w/ current discount here.
  • InMotion Hosting – Independently-owned with great customer service & 90 day money back guarantee. Well-priced plans (with some caps) that have great performance, and can grow as your site grows. This site actually uses a hosting plan with them. I’ll also use their site for screenshots. See their plans w/ 53% off discount here.

The purchase & setup steps in this guide work for all three companies mentioned (and others), but will come from InMotion Hosting if you want to follow along exactly. HostGator has a few more ads/upsells but is otherwise the same. Web Hosting Hub is almost exactly the same.

Step 1. Choose the hosting plan that fits your current goals.

Go to InMotion Hosting’s plans, and view their ‘Shared Business Hosting Plans’. Then select the plan you want. The Launch Plan is great if you have just one or two website ideas. The Power Plan is good if you have several you want to run, plus maybe some test websites on subdomains. The Pro Plan is good if you want no limits.

Choosing Web Hosting Plan

Next, fill in your domain name and continue.

Adding Domain To Website Plan

Step 2. Purchase your plan & select your hosting options.

Confirm your plan and fill in the checkout page fields. The Max Speed Zone determines whether your website physically lives in California or Virginia (which can shave a little bit when you are updating the site), but the default selection should be correct.

The Content Management Installer can be useful, but I’ve found it better to select “No, Thanks” and install it after purchasing the hosting product (which we’ll be doing).

Confirm Website Hosting Plan
Fill Credit Card Information & Checkout

Step 3. Access your account & technical details.

It takes a couple minutes for your account to get ready. When it’s ready, you will get an email from InMotion Hosting that looks like this…

Website Setup Plan Email

Once you are in your account management panel, head to the Account Technical Details.

Hosting Technical Details

Scroll down, and you’ll see two “Nameservers” – copy them. These will “connect” your domain name to your hosting server.

Nameservers for Domain Registrar

Step 4. Add Nameservers to your domain name & confirm the connection.

Copy the 1st and 2nd Nameserver, and go log in to where you bought your domain names.Then navigate to your Domain’s DNS area. Then, replace the current DNS with the ones provided by HostGator.

In GoDaddy: Go to My Account –> Launch Domains –> Manage Domain –> select Set Nameservers –> Select ‘I have custom nameservers’ –> Paste in 1st and 2nd Nameserver provided by InMotion.

GoDaddy DNS Setup
GoDaddy Custom DNS Setup

In NameCheap, Login –> Manage Domains –> Select Domain –> Select Manage –> Under NameServers, select Custom and place your nameservers there –> Save Changes.

Namecheap DNS Setup

That’s how to setup hosting for your blog! Now all that remains is to Install WordPress, which we will cover in the next section. It can take up to 24 hours for the Domain Nameservers (DNS) to switch over completely, but it usually goes fairly quickly (usually less than 10 minutes if you’re in the USA).

Setting Up Your Blog Software

While you can certainly install WordPress manually, InMotion (and others mentioned) has an excellent, free, secure tool to quickly install WordPress onto your new hosting account.

Step 1. Access your hosting control panel (cPanel).

Head back to your InMotion Account Management Panel. Click the link to go to your cPanel(control panel). It should automatically log you in to cPanel.

And yes, there is a link to “Install Popular Software” – that link just ends up going to cPanel anyway through a different login screen. Easier to go directly to cPanel.

Access to cPanel Setup

Step 2. Find the WordPress installer script.

Now that you are logged into hosting cPanel – you’ll need to go looking for an icon called “WordPress” and/or “Softaculous” and open it. You’re looking for this:

cPanel WordPress Auto-Install

Step 3. Run the WordPress install script.

Open the WordPress auto-install script opened and then continue.

Start WordPress Setup & Install

Step 4. Enter blog information into installer.

Now you will just fill out your information, and click Install. Be sure that your email address is correct. Leave the field after / blank – that is for only if someone already has a website on the main domain that they want to keep running. Enter your Blog Title – you can change it once you’ve installed WordPress.

WordPress Setup Fields
WordPress Admin Setup

Step 5. Confirm installation and log into WordPress Dashboard!

After a few seconds… Congratulations! You’ve got yourself a new blog – and now you know exactly how to set up a blog on your own server.

Be sure to copy your username and password in a safe place (it will also be emailed to you).

And go login to your new blog at http://[]/wp-admin! You can also check your email to get links & login information.

InMotion Setup for WordPress Install

Be sure to check out my guide to Getting Started with WordPress here to continue. You’ll learn how to build out your design, add content, and add functionality to your new blog.

I have a full series of Beginner’s Guide Tutorials to WordPress here. There are two bits of jargon to learn right now –

Themes – these handle how your blog looks. It’s the design of your blog. You can search for free options or look at premium marketplaces like ThemeForest to find one that matches your style. I’ve curated a lot of themes on this site as well.

Plugins – these add functionality to your blog that isn’t already available with default WordPress. Get these Must Have Plugins.

Learning how to run and manage your blog is a life-long process. Focus on improving and learning incrementally.

But even if the functionality or design is not perfect – you have all you need to get started on the next parts of the guide.

Getting Visitors To Your Blog

If a tree lands in the forest and no one hears it – does it make a sound? The cliche applies to your blog as well – if no one visits your site, does it really exist? In terms of making money – it does not.

To make any money at all, you have to have visitors to your blog. Asking how you can get visitors to your website is a bit like asking “how do I get to New York City” – well, it depends. There’s a lot of different ways, but a lot depends on you, where you are at, how fast you want to get there, your time and your budget.

Either way, here are the primary ways to get website visitors along with considerations and ways to get started.

Creating Your Persona

One critical mistake many bloggers make is writing about a topic instead of an audience. It seems like a small difference, but it can have huge effects on how you approach each traffic source.

The marketing jargon here is “creating a persona.” A persona is your vision of a typical blog visitor. Instead of thinking about the topic you want to cover, think about your ideal visitor and what they want to see. For example, if you are starting a gardening blog – don’t decide to write about gardening as you know it. Instead, decide that you want to help intermediate skilled urban gardeners who know the basics but are looking for tips and tricks to get more produce from small, constrained spaces.

You can expand your audience as you grow. But defining a specific persona will help you stay focused instead of floundering on aimless brainstorming.

Once you have decided on your persona, it’s time to decide what channel you want to use to market to your ideal persona.

Visitors from Search / Organic

This channel will bring website visitors from search engines such as Google, Bing and Yahoo! to your website. For most websites, it is the largest and most consistent source of traffic on the Internet.

The Basics

You have a post on your blog. Google/Bing finds it and “indexes” it. A potential visitor types in a search query into Google/Bing. Google/Bing decides based on the content and links from quality websites that your blog post is a potential answer to their search.

Your blog post shows up in the search results for the visitor’s search. They click on the link and land on your site.

Your get organic traffic by having the best, most relevant post on a topic as possible – ideally with quality links from other websites.


  • It takes a long time to build – usually a year for a brand new blog.
  • It requires a lot of work and thought to create content that answers questions other people have.
  • It still requires promotion for best results. Getting links from other quality websites takes time.
  • It is like building a snowball – tough to get started but once it’s rolling, organic traffic is often self-sustaining and massive.
  • You can build organic traffic while working on other traffic channels.

Quickest Ways To Get Started

  • Learn the basics of using keywords on your website and keyword mapping.
  • Write detailed and descriptive posts about specific topics that you know a lot about – and that your persona is would be searching for. Look for “pre-qualified content ideas.”
  • Learn the basics of using an SEO plugin, Google Search Console and writing descriptive post titles.
  • Stay consistent over time.

Visitors from Social Media

This channel will bring visitors to your website from social media platforms such as Facebook, Twitter, Pinterest, etc. For many blogs, this is the easiest and fastest channel with the most potential. It’s also inconsistent and hit-or-miss.

The Basics

You share a post on your blog to a social network. As people see it and share it to their followers, more people click through and land on your blog.


  • Unless you already have a social following, it can be difficult to break out of the noise.
  • It’s easy to spend a lot of time with no real results.
  • It’s best to do well at one network than do a lot across several.
  • Make sure all your content is maximally shareable by making it easy and following formatting rules.

Quickest Ways To Get Started

  • Find complementary websites that you can help – and get help from them. Remember your personas here.
  • Devote time to helping influential people or pages on your target social network. Who are your personas already following?
  • Read this guide to get further tips and strategy ideas.

Visitors from Referral Traffic

This channel will bring visitors to your website from other websites. This channel usually does not drive the most absolute traffic, but is the most straightforward way to get initial traffic. Referral traffic also complements organic traffic (Google/Bing like to see the links from other websites) and social traffic since the website referring/mentioning your website is likely to share your content as well.

The Basics

The most common ways are –

1.You have a post on your blog. It is a unique, quality post that will make another website look good by linking to it. Usually they find it after you pitch the idea to them. They link to your website, their visitors click over to your website via the link.

2. You offer to write a post for another website. They accept. Within that post, you link to one of your posts and/or your blog. Their readers click over to learn more about you.


  • It takes a lot of work, thought and relationship-building to get referral traffic opportunities.
  • It will not send enormous amounts of traffic like search or social, unless it’s on a high-profile website.
  • It will often complement your organic and social traffic, so it’s easy to justify the time, especially at the beginning.

Quickest Ways To Get Started

  • Find other small to mid-size blogs in your niche that might appeal to your target persona. Figure out how you can help them.
  • Read this post on roundups and this post on social strategies which provide great quick start methods.

Visitors from Paid Traffic

This channel will bring visitors to your website from search, social or referral sources when you pay those sources for the traffic.

It’s a guaranteed traffic source. It also can be expensive and tough to justify if it’s not directly providing profit.

The Basics

Depending on what source of traffic you want, you go to that company’s self-serve ad platform and set up ads. Usually, you will pay per click. Google AdWords and Facebook are the networks with the largest and most sophisticated options. Smaller networks like Twitter, Pinterest, Reddit, StumbleUpon and even content amplification platforms like OutBrain can make sense for blogs.


  • You need a budget and an objective for the campaign or else it’s easy to burn through cash (obviously the opposite of making money from your blog).
  • You need to thoroughly understand how to get the most out of your paid traffic source before running ads.

Quickest Ways To Get Started

  • Read my guide to how to advertise your website online.
  • For blogs, usually running a very small, very targeted Facebook campaign makes the most sense.

Visitors from Your Own Audience

The best & most sustainable traffic source of them all is, of course, your own dedicated readers.

When you first start a blog, you likely do not already have a blog audience. That doesn’t mean you shouldn’t start developing one. To use a cliche, an audience of millions starts with one.

Getting Started Building Your Own Audience

  • Be sure to install and learn how to use Google Analytics to learn more about your audience and where they come from.
  • Get set up with an email provider like MailChimp and collect email addresses.
  • Use an email collection and social sharing tool like OptinMonster to collect emails for your MailChimp list in creative and useful ways
  • As you get more email addresses and social followers – enlist them to further grow your list.

Making Money From Your Blog

Now that you have an audience – learn to sell them something. There are dozens of ways for publishers and blogs to make money. And really, the tried and true way is to simply ask your audience what they would pay for. But here are the most common ways to make money from your blog.

Sell Your Products

This channel usually offers the highest return on investment, but it’s also the most work to pull off.

The Basics

Whether it’s an ebook, a real book, merchandise or really anything in you can think of – you sell it to your blog audience.


  • You’ll need a method of delivery and a payment system.
  • If you are on WordPress, you can easily use a plugin to create ecommerce functionality, or test out delivery manually (ie, just put a PayPal button up and take care of orders manually).
  • Look into other platforms like Gumroad, Kindle Publishing, etc to get started.

Quickest Ways To Get Started

The tried and true way is to create a PDF ebook of advanced information that’s not on your blog and sell that. You can also create branded merchandise or sell whatever you are already selling offline.

Sell Your Services

This channel is very related to selling your own products except that you are selling yourself & your expertise.

The Basics

Create a package of services that aligns with whatever you are blogging about. It might be a consult session, workshops, classes, etc. Either way, you use your blog to generate leads who pay & book via PayPal.


  • This channel is the easiest to start and test out. All you need is an email address.
  • It’s also easy to test, since you can always cancel or stop taking orders if you get too booked up.

Quickest Ways To Get Started

Put a Services page up on your blog with a contact form and/or email address. Start directing readers there.

Sell Other Companies’ Products

This channel brings in money from getting a commission or referral fee from generating sales for other companies. It’s also known as “affiliate marketing” or “performance marketing.”

The Basics

You partner with a company who gives you a special tracking link to their products. You use that link on your site. When a visitor clicks the link and makes a purchase, then you get a commission / referral fee on the sale.


  • You have to be careful about how you position and mention products to your audience.
  • Since it’s commission-based, it’s easy to make zero or little money while providing company’s essentially free advertising.
  • Look at the terms and conditions very carefully to make sure it’s a good deal for you.
  • Be sure you meet the Federal Trade Commission’s guidelines for online publishers. Always fully disclose your relationships with companies and their products.

Quickest Ways To Get Started

Go to your favorite retailer and look in the footer for “Affiliates” and follow the instructions. Or go to Commission Junction and/or Shareasale to find companies that would be a good fit for your audience. Amazon also has the most widely known and most flexible network.

Start integrating their products and links into your emails and/or blog content. Read these guides for more information.

Sell Advertising

This channel is the most straightforward and simplest for a blog to make money. While it can be lucrative, it’s also usually offers the lowest return per visitor.

The Basics

You place a snippet of code on parts of your website. A broker (such as Google or BuySellAds) will automatically fill that space with an ad every time a visitor lands on your site. You get paid based on clicks and/or impressions. Alternatively, you can sell directly to advertisers. You’ll place their ad on your site for a negotiated fee.


  • Unless you have a lot of traffic or very lucrative traffic (think people researching pharmaceutical drugs or mortgage loans), you are unlikely to make a lot of money. So you have to balance your time investment to make ads worth it.
  • If you place too many ads, you will drive away visitors and be seen as a “low quality site” by Google Search.
  • Ads from other companies can distract from other more lucrative revenue channels such as your own products or affiliate deals.

Quickest Ways To Get Started

Sign up for Google AdSense. They will give you a code. Place that code in a widget, header or anywhere on your site. You can use a plugin such as OIO Publisher to sell ads directly to advertisers and manage placement.

Next Steps

So that’s how to start a blog and make money. There’s obviously a lot that you’ll have to learn and adjust as you go along.

However, you’ll never learn until you try! Here’s the next steps to start.

  1. Get a domain name. Go to NameCheap here and search.
  2. Get a hosting plan. Go to InMotion to get a plan.
  3. Install & configure WordPress.
  4. Create a marketing & content plan with specific channels and specific goals. Get an example plan here.
  5. Test out different ways to make money from your audience.

Have fun!

Explore other Guides, Resources or Recent Posts!