How to Start a Blog and Make Money (Evergreen Comprehensive Guide)

Aliko Sunawang

Aliko Sunawang

A blogger and photography hobbyist.

Today, the audio and visual content is dominating the internet. People prefer creating a podcast or YouTube channel rather than a blog as they think blogging is no longer promising. Is it true?

Before jumping into the main content, let’s begin with a brief introduction about us.

We are a web publishing company that manages multiple blogs. Our first blog was created back in 2016. As of today, we have three blogs and completely live from them. We are a very small team with less than 10 team members, but we are really passionate about what we are doing (blogging in this case).

Our intention of including the introduction in this article is to show you that what we write in this article is not nonsense, while also to convince you that blogging is still (and will always) promising.

So, if you plan to start a blog with an intention of making money, no need to have a doubt. This article will walk you through step by step to start your first blog and make money from it.

Step 1: Pick a Reliable Blogging Tool

Before turning your idea into a blog, the very first thing you need to do is to prepare the tool to create the blog itself. When it comes to blogging, WordPress and Ghost are two blogging tools we strongly recommend. Blogging tool (or you can also call it CMS — Content Management System) is the software where you can write and manage your blog posts and make money from them.

Picking the right blogging tool is crucial as it will determine how you can adopt the monetization models on your blog. Both WordPress and Ghost are open source blogging tools which you can install on any web hosting of your choice. The two also offer dedicated solutions if you don’t want to be hassle managing the hosting although you have to deal with some limitations. To have full control over your blog, you better use a hosting from a third-party (more about hosting will be covered later in the next section).


WordPress is the most popular content management system (CMS). It has evolved from a mere blogging tool to a powerful CMS which you can use to create any type of website. From e-commerce, listing sites, new portals, forums, and so on. According to a stat from CodeinWP, WordPress is powering over 40 percent of the websites on the internet.

WordPress is available in two versions: hosted ( and self-hosted (

Both the hosted version and self-hosted version of WordPress use the same software (WordPress, of course). The only difference is that in the hosted version, you don’t need to install the WordPress software yourself. You just need to select the plan according to your need, make the necessary settings, and start writing the blog posts. However, if you use the hosted version, there are some restrictions you have to deal with, according to your plan. One of which is not being able to install a plugin.

On the other hand, although you need to install the WordPress software yourself, the self-hosted version offers full control over your blog. You can install any plugin you need and install any theme you want.

So, which one should you use? The hosted version or the self-hosted version?

While the hosted version seems offer a simpler solution, it is not the best option when it comes to commercial-oriented blogging. We strongly recommend the self-hosted version as it offers more flexibility, be it related to monetization or blog development. No worries about the installation. Today, most web hosting providers offer a dedicated tool to install WordPress. You can install WordPress in just a few clicks.

Examples of Popular Brands That Use WordPress on Their Blog


Ghost is a simple blogging tool. It is also available in two versions: the hosted version and the self-hosted version. However, since Ghost is way less popular than WordPress, it’s rare to find a hosting provider that offers a dedicated feature for Ghost. In other words, installing Ghost on a third-party hosting provider takes extra effort than WordPress.

Unlike WordPress, Ghost is built specifically for blogging. It supports no plugins to extend the functionality (may be not yet). Even so, the necessary features like email newsletter and SEO are already available. Ghost is the perfect option if you want to monetize your blog by adopting membership model. It has a built-in feature to restrict your blog’s content based on the status of the users (member or non-member). Ghost also offers a built-in feature to accept membership fee. You can accept the membership payment via PayPal and Stripe.

Is it possible to adopt other monetization models in Ghost?

In addition to applying membership model, you can also install PPC (e.g., Google AdSense) on your Ghost blog. You can also sell something thanks to Shopify integration.

Examples of Popular Brands That Use Ghost on Their Blog

WordPress vs Ghost for Blogging

As your blog grows (indicated by the increasing visitors), you may want to apply multiple monetization models in the future. In WordPress, you have more monetization options thanks to the ability to install plugins. Plus, it’s easier to solve a certain issue in WordPress as there are more resources you can refer to.

On the other hand, Ghost is a more suited option if you want to focus on membership business model. Ghost already has all the features you need to create a membership blog, including the membership management and payment management.

WordPress is a suitable option if you want to:

  • Add more functionalities to your blog
  • Apply multiple monetization models
  • Create a blog with your own design

Ghost is a suitable option if you:

  • Want to focus on membership monetization model
  • Need a simpler blogging tool

On the next section, we will specifically cover how to create a blog with WordPress. If you want to create a blog with Ghost, we have a separate article you can read.

Step 2: Pick a Niche and Name for Your Blog

Starting a blog is no different to starting other business types. First, you need to find and set the market (audience) of your blog. In the context of blogging, a more targeted audience is better as it will make it easier for you to monetize your blog.

Please note that you are about to create a blog, not an online magazine. If your topic is too general, it would be harder for your blog to compete on search engines. Also, it takes extra effort to build a loyal reader base.

Let’s take an example.

We started WP Pagebuilders in 2019. It is a blog that covers the topics around WordPress. More specifically, it covers page builder plugins such as Elementor and Divi Builder. We thought that WordPress is too general topic, so we decided to pick a more specific topic. Another reason, there have been some more established WordPress blogs that are hard to compete with.

By choosing a more specific topic, the chance of your blog posts appearing on the front page of search engine results page are higher as search engines will understand the topic of your website. To prove this, take a look at the screenshot below.

The screenshot above shows the search queries (on Google) whereby we win the competition. If you search on Google using one of the queries above, you will find the WP Pagebuilders’ blog posts on the front page (some even on the top list).

Those are just examples. There are many other keywords in which WP Pagebuilders win the competition on search engines. Can you guess the reason? It is because WP Pagebuilders is a blog about WordPress page builder plugins and write articles with the topics around Elementor, Divi Builder, and other page builders on a regular basis. As mentioned, the more specific the topic (called “niche” in the marketing term) of your blog, the bigger the chance it will win the competition on search engines.

How to Pick a Niche and Name for Your Blog

Remember the rule once again. The more specific the topic (niche) of your blog is better. Three main reasons for this are:

  • It’s easier to monetize your blog
  • It’s easier to build a loyal reader base
  • The bigger the chance to win the competition on search engines

Once you understand, you can start finding the niche of your blog. How to do so?

You can start by defining the general topic first, then break it down into some more specific topics. WP Pagebuilders — as you have read above — is an example you can use as the reference.

Need more examples?

Say you want to create a photography blog. You can search for some photography derivatives such as landscape photography, travel photography, digital photography, mobile photography, and so on. Find a derivative where you are best at and then pick it as the main topic of your blog. As your blog runs, you can write the broader topics, of course, but your focus should be on the main topic you have picked in advance. And you should win on the topic (on search engines).

Once the topic/niche has been picked, you can continue with the blog name. Then, you can check whether the domain of the blog name is available.

When researching a blog niche, you can use a tool like Google Keyword Planner to figure out the competition level as well as the search volume. If you have enough capital, you can use paid tools like Ahrefs and Wordtracker.

Two main metrics you should notice when researching a blog niche are:

  • Monthly searches volume
  • Competition level

It would be great if you could find a blog niche that has a high monthly search volume with low competition.

Step 3: Pick a Reliable Hosting

Two main terms you need to understand before creating a blog:

  • Domain name
  • Hosting

Domain name is the identifier of your blog. It is the string typed on the address bar of web browser to access your blog. is an example of a domain name.

Meanwhile, hosting (web hosting more precisely) is a server where you place your blog on. Think of web hosting as a house and domain name as the address of the house.

As mentioned in step 1 above, there are two options to create your blog with either WordPress or Ghost. You can use the hosted version or the self-hosted version. If you want to use the self-hosted version, then picking the right hosting provider is the most crucial step.

In general, there are six web hosting types:

  • Shared hosting
  • VPS (virtual private server)
  • Dedicated server
  • Cloud hosting
  • Managed hosting
  • Colocation

Shared Hosting

Shared hosting is the type of hosting whereby multiple websites use the same resources from a hosting server. The resources include RAM, CPU, and storage. Since the resources are shared, the activities on a certain website might affect other websites.

Shared hosting is great to start a blog as it is the most affordable hosting type. You can subscribe to a shared hosting at less than $5 per month. For instance, on Bluehost, there is a shared hosting plan costing only $2.95 per month.

However, since the resources are shared, a shared hosting is typically only capable of handling low traffic.

Here are some recommended hosting providers to get a shared hosting plan:

Managed Hosting

Managed hosting is technically a shared hosting, but it has more features than traditional shared hosting. Managed hosting is the type of hosting service that is optimized for a certain platform. In most cases, the hosting providers take care of things like server configuration for site performance, CMS update, plugin update, and security.

In managed hosting, the server is configured for a specific platform so that you can expect a better performance. Using a managed hosting is a suited option if you don’t want to be hassle dealing with technical aspects related to site optimization on the server side.

Today, most prominent hosting providers offer managed hosting plans for WordPress, including Bluehost and DreamHost.

VPS Hosting

VPS stands for Virtual Private Server. It’s an ideal option if you need a hosting with certain specs for your blog. In VPS, you have dedicated resources (RAM and storage in particular) for your website, but not physically. Instead, the resources of your server are created using virtualization software.

Using VPS takes technical knowledge such as system administration and server configuration. You may need to setup everything from scratch such as installing the operating system (Linux in most cases), installing and configuring the web server, installing and configuring the database, and so on.

The advantage of using VPS is that you have dedicated resources for your blog (which are not shared with other websites).

Dedicated Server Hosting

If you want to have full control over the server of your website, you can go for a dedicated server. The concept of dedicated server hosting is when you rent a dedicated physical server for your website. You can do anything you want to your server. A dedicated server is a perfect option to handle high traffic, but it costs you more. On Bluehost, a standard dedicated server hosting plan is priced $119.99 per month.

In addition to requiring you to spend more of your budget, a dedicated server also requires advanced technical knowledge to maintenance and configure.

Cloud Hosting

Cloud hosting is also called cluster server hosting. It is the type of hosting whereby a physical server is splitted into multiple virtual machines and they connect to create a single network to host a website. The main advantage of cloud hosting is that it is more scalable. When needed, you can use additional resources in the virtual environment.

Colocation Server Hosting

The concept of colocation server is when you own a server (in a physical form) and rent space on a data center to get the necessary components to make the server accessible via the internet. The components include power (electricity power), bandwidth, IP address, cooling systems, and other necessary components. In other words, you rent the infrastructure — outside the computer — to run your server.

When you rent the colocation infrastructure, you will also get the rack to place your server.

While colocation server looks promising to run your website as it offers dedicated resources, it is not the best option for bloggers as it requires advanced technical knowledge just like VPS and dedicated server.

As a Blogger, Which Hosting Type You Should Use?

Well, it is a reasonable question if you are new to blogging.

The easiest way to answer the question is by defining how many visitors you expect from your blog. For a business-oriented blog, we strongly recommend you use managed hosting. The reason is that managed hosting is optimized for a certain platform so that you can expect more on its performance. Plus, you don’t need to deal with security aspect as your hosting provider will take care of it.

Some hosting providers are also transparent about the number of visitors you can get on a shared hosting plan. For instance, the cheapest managed WordPress hosting plan of Bluehost is capable of handling up to 50,000 monthly visitors.

As your blog grows bigger, you can move to a more capable hosting plan when your current hosting can’t handle the traffic anymore.

Step 3: Register Your Domain and Install Your Blog

Once you are ready with your blog name and niche, the next step is to register a domain of your blog. In this example, we will show you how to register a domain in Bluehost. In addition to a domain, you will also need a hosting to install your blog. We will subscribe to one of the managed WordPress hosting plans of Bluehost — the BUILD plan. This plan has the following specifications:

  • Capable of handling up to 50,000 monthly visitors
  • 20 GB storage space
  • Free SSL (HTTPS)
  • Daily scheduled backups
  • Malware protection

The plan costs $19.95 per month with a minimum contract of 3 months. Bluehost offers different prices based on the durations of the contracts.

If you subscribe to its 6-month contract plan, you will get a free domain.

How to Register a Domain in Bluehost

First off, visit this page and select a plan you want to use by clicking the Select button (if you want to use a shared hosting instead, you can visit this page).

On the next step, enter your domain name on the Create a new domain column. Make sure to select the domain extension (.com, .net, .org, etc). Click the Next button to continue.

If your domain is available, you will see a green notification and can continue to the next step. On the Account Information section, fill in the required fields such as name, country, city, email address, and so on.

On the Package Information section, select a plan you want to subscribe to.

On the Payment Information section, add your credit card number and CVV code. If you want to pay via PayPal, you can click the More payment options link and select the Pay with PayPal option. Accept the user agreement and click the submit button.

Complete the payment. Once done, you will be redirected to a page where you can create a Bluehost account. Click the Create your account button to create the account.

Create your password and accept the user agreement. Click the Create Account button.

Your account is ready. Click the go to login button to login to the Bluehost dashboard.

Installing WordPress in Bluehost

Now that your account is created, you can start to install WordPress.

Every time you want to login to Bluehost, you can visit and click the Login menu on the top bar.

To start installing WordPress, login to Bluehost and click the Create your website button.

Skip the next two steps until you see the following screen. Select the left option and click the Get started button.

On the next steps, you will be asked basic questions. You can skip these steps to select a theme. You can start with a free theme. Until here, your blog is ready and can be accessed by typing the domain on the web browser.

To manage your blog, you can login to the WordPress dashboard by clicking the Login to WordPress button on the upper right-corner.

In order to make it easier for you to login to the WordPress dashboard, you can add a new user on your WordPress blog. Next time, you don’t need to login to Bluehost every time you want to login to your WordPress dashboard once you have a new account. Instead, you can simply type on web browser and login with your new account.

To create a new account, go to Users -> Add New on your WordPress dashboard.

Enter the username, email address, and name, and password. Select the role for your new user and click the Add New User button.

Once your account is created, you can use it to login to the WordPress dashboard.

Setting up the SSL

Setting up SSL is crucial before you go further with your blog. If you don’t set it, your blog will be flagged not secure by web browsers.

Bluehost includes free SSL feature (provided by Let’s Encrypt). To use it, login to Bluehost with your account. Once logged in, click the Manage site button.

Next, go to the Security tab and make sure the SSL Certificate: Let’s Encrypt option is enabled.

Note: if you see the SSL is not available message when opening the Security tab, you can contact Bluehost to fix it. You can reach out to Bluehost via live chat or Twitter @bluehostsupport.

After making sure the SSL has been enabled, login to your WordPress dashboard and go to Settings -> General.

Edit the default URL by adding the “s” letter on the “http” section. We also suggest you add “www”.

Make sure to click the Save Changes button on the bottom to apply the changes.

Step 4: Design Your Blog

Once your blog has been set up, the next step is to design it. Both WordPress and Ghost come with a default theme.

A theme is the component of WordPress and Ghost that governs the appearance of your blog. From the layout, typography settings, colors, and so on. You can change the default theme with the theme of your choice.

For a newly installed blog, the following things are crucial as the identifier or branding.

  • Logo
  • Favicon (an icon that appears on the browser tab)

How to Design a WordPress Blog

In WordPress, you can change the appearance of your blog from theme customizer. To access theme customizer, you can go to Appearance -> Customize from your WordPress dashboard. The setting options available on theme customizer are varied, depending on the theme you use.

Before you start making any change on theme customizer, you can change the default theme first. To do so, go to Appearance -> Themes on your WordPress dashboard. Click the Add New button.

Search a theme on the Search themes field. Or, if you want to install a theme from a ZIP file, you can click the Upload Theme button. Once you find a theme that suits you, hover your cursor over it and click the Install button.

Once the installation process is done, click the Activate button to activate the theme.

Recommended WordPress Themes for Blogging

Start Customizing Your WordPress Blog

Once done installing a theme of your choice, you can go to theme customizer to start customizing your blog. Once again, the customization options/setting options available on theme customizer varied depending on theme you use.

In this example, we use Page Builder Framework.

In Page Builder Framework, you have 10 settings blocks to open. Each block hosts the setting options according to its context. For instance, the Header block contains setting options like header layout, logo, and navigation.

## Setting Up the Site Logo and Favicon

To set the logo and favicon of your blog, you can open the Header -> Logo settings block on theme customizer. Click the Change Logo button on the Logo section to change the logo.

To change the favicon, scroll down to the Site Icon section and click the Change image button.

## Creating a Navigation Menu for Your Blog

Menu is an essential element of every website. In WordPress, you can place your menu whether on the header, footer, sidebar or even within a page.

To create a menu in WordPress, go to Appearances -> Menu on your WordPress dashboard. Click the create a new menu link to create a new menu.

For more detailed instructions on how to create a menu in WordPress, you can refer to this page.

Once the menu is created, you can use it whether on the header, footer, or any area to your liking. To set the location of the menu, click the Manage Locations tab. Choose the menu you have just created from the dropdowns. Click the Save Changes button to apply the changes.

  • Main Menu: Menu on the header
  • Mobile: Menu on mobile device
  • Footer Left: Menu on the left side of the footer
  • Footer Right: Menu on the right side of the footer

## Creating the Contact Page, About Page, Etc.

About page and Contact page are two of the necessary pages you need to have on your blog. You can add these pages to the menu of your blog to make it easier for your visitors to find them.

To create a new page, go to Pages -> Add New on your WordPress dashboard. Give your page a title and write the content. Once done, you can click the Publish button to publish the page.

While you can use the default WordPress editor to create the pages, we recommend you use a page builder plugin to create a more eye-catching page. Two page builder plugins we recommend are:

## Customizing the Homepage

The default setting of WordPress displays only blog posts on the homepage. You might want to add other elements to the homepage, other than blog posts. Such as heading, image, video, accordion, etc. In WordPress, you can create a custom homepage to add the elements you want. Here is an example of the custom homepage on a WordPress blog.

Example of custom homepage on a WordPress blog.

Creating a homepage is no different from creating the About page and Contact page. You can go to Pages -> Add New on your WordPress dashboard. You can also use a page builder plugin to create the homepage of your blog.

Once the homepage is created, go to Settings -> Reading on your WordPress dashboard. On the Your homepage displays section, select A static page option and select the homepage you have just created via the dropdown.

For more detailed instructions on how to create a custom homepage in WordPress (using Elementor), you can refer to this page.

Step 5: Write Your First Blog Post

Your blog is ready. Next, you can start writing blog posts. To write a new blog post, you can simply go to Posts -> Add New.

But first, there are several things you need to know before you write your first blog post. The WordPress editor (the editor you use to write blog posts) is called Gutenberg (also called block editor). There are three elements you need to add every time you write a new post:

  • Post Category
  • Post Tag
  • Featured Image

Every time you are done writing a blog post, you can click the Publish button on the right side of the top bar. You can also preview your blog post first — by clicking the Preview button before you publish it.

To learn more about Gutenberg, you can refer to this page.

Step 6: Monetize Your Blog

This is maybe the part you’ve been waiting for.

Before you start to monetize your blog, make sure that your blog already has decent stats, the number of visitors in particular.

In general, there are 8 monetization models adopted by bloggers:

  • Selling affiliate products
  • Installing PPC ads
  • Selling e-books
  • Accepting sponsored content
  • Installing PPC ads
  • Accepting donations
  • Offering marketing bundle
  • Offering services

We have a separate article that covers how to monetize a blog. Simply read it to learn more.

The Bottom Line

If you want to start a new side project or full-time business and think of a blog, then it’s the perfect time to start. With the trend of content creation has shifted from text-based to video (YouTube) and audio (podcast), the chance of being a leader in a certain field/niche is way bigger with a blog.

Blogging is still promising. Even more promising than before thanks to the lower competition.

The advantage of blogging compared to other content creation types such as YouTubing and podcasting is that you have more monetization model options. When starting a blog, you can also set an exit plan such as merger and acquisition or sell your blog once it reaches enough valuation. You can use a tool like Flippa to figure out the valuation of your blog.

If you want to create a business-oriented blog, picking a niche is the most crucial step. Especially if you have no team, you should pick a very specific niche to make it easier for you to nurture your blog. The more specific your blog niche, the bigger the chance it will win the competition on search engines. You can use the following tools to do keyword research to specify a blog niche.

  • Google Keyword Planner
  • Ahrefs
  • Wordtracker

In order to be successful with your blog, you also need to learn SEO. If you use WordPress to create your blog, installing an SEO plugin is a must. Two SEO plugins we recommend the most are Yoast and Rank Math.

No business that runs without capital. So is a blog. You need to spend the budget to start a business-oriented blog. As mentioned earlier, we strongly recommend you use dedicated hosting to start a blog. If you plan to use WordPress, you can use a dedicated hosting plan from Bluehost (or any hosting provider of your choice). The lowest plan is okay to get started.

If you want to use Ghost instead, you can use the dedicated hosting from

How Much You Should Spend to Start a Blog?

The first blog component you need to buy is the domain name. Assuming you want to use the .com extension, you need to spend around $12.99 per year for the domain. While for the hosting, the fee varies depending on the hosting provider you use. In Bluehost, for instance, you need to spend $16.95 per month for the hosting (for quarterly bill).

If you use Ghost (assuming you use the hosting service), you need to spend $9 per month for the hosting.

Hosting$16.95/per month (for quarterly bill)$9/month
* Depending on where you buy the domain. Ghost doesn’t offer domain registration.

One crucial thing before you start a blog. It takes time for every business to be successful. Your blog is no exception. If you earn nothing in the first three months, you should try for the next three months. If you still earn nothing, you should try for the next three months. And so on and so forth.

Finally, happy blogging and good luck!

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top