How to Start a Blog in 2023: The Detailed Guide for Beginners

How to Start a Blog

Techesium content is free. When you purchase through links on our site, we may earn an affiliate commission. Learn More

Want to build your website but don’t know where to start? Some people may think that creating a website can be difficult and require deep technical knowledge. This belief is wrong – in this detailed tutorial, you’ll learn how to start a blog from start to finish, and it doesn’t matter who you are – you can be a total beginner without any technical knowledge and experience. At the end of this tutorial, you’ll have a fully configured, performant, and scalable website deployed on cloud hosting.

I use only those servers and WordPress plugins that I use myself or have experience with. This guide is recommended for those users who want to configure a fast, reliable, and scalable server from an early start and who are serious about their upcoming project.

Here is what we’ll use to make a website:

And that’s it! If you don’t know some of the terms mentioned in the list above, don’t worry – I will explain everything gradually as we move forward.

Choose a Niche

The first thing you need to do is choose a niche for your blog: choosing a niche is one of the most critical steps you need to take, as it can determine the success of your website. Try to avoid general topics. Instead, choose a single topic you want to write about: when you write on a single topic, you can expect higher rankings on search engines such as Google, and it also increases the chance that your website visitors will return in the future. Another reason – people like to subscribe to a newsletter when you write blog posts on a single topic.

Here are some tips for choosing a niche:

  • Find a topic you are constantly interested in and you can speak comfortably
  • You can choose a topic based on your favorite activity: you can share your impressions and insights
  • Think whether you will be able to write content on the chosen topic in the future as well
  • It’s better to choose a topic that is popular enough – you probably don’t want to write a blog that won’t have readers
  • Try to choose a topic that has less competition – it’s difficult to compete in saturated niches

Buy a Domain

After choosing a niche, the next important step is to select a domain (it’s an address of your blog).

Here are some tips for choosing a domain:

  • Your domain should represent your brand
  • A domain should be easy to pronounce and to type
  • A domain should be memorable – avoid confusing words
  • Prefer a domain ending in .com – this way your website will be ranked better on search engines like Google
  • Your domain should be as short as possible – prefer a domain name with less than 12 characters (for example, my domain www.techesium.com is 9 characters long)

Most people choose a generic domain name for their website. However, you can choose a domain name under your full name, especially if you’re sure other people won’t contribute to content creation.

Sign Up on Namecheap Website

I recommend buying a domain from the Namecheap registrar – it’s a well-known and reliable domain registrar with arguably the lowest prices.

On the Namecheap homepage, enter the desired domain name you want to buy and click Search – on the results page, you will see which domains are available for purchase. As I mentioned before, I suggest purchasing a domain ending in .com – if such domain is not available, try adjusting its name and repeat the search.

If you can’t find your desired domain ending in .com and need a particular name, consider choosing another TLD (Top Level Domain) – I recommend a domain ending in .net or .org.

Namecheap Check Domain

When you’re satisfied with your domain, click Add to cart.

Namecheap Domain Availability

You only have to buy a domain without hosting – don’t buy anything else.

On the checkout page under Domain Registration, select your domain’s registration period (usually, if you choose a more extended period, you may be eligible for a discount at the time of purchase) and toggle on the Auto-renew button. Next, make sure Domain Privacy is turned on and toggle on the Auto-renew button. Finally, click Confirm Order to complete your purchase process.

Namecheap Checkout

After the purchase, you’ll see Namecheap’s dashboard.

Namecheap Dashboard

Create a Cloudflare Account

We’ll use Cloudflare service for DNS and CDN. DNS (Domain Name System) translates domain names to IP addresses and is used to load your website with its resources. CDN (Content Delivery Network) is a group of geographically distributed servers that speeds up your website’s content delivery to your current location. By using Cloudflare, you will also get protection against possible DDoS attacks.

Sign up on Cloudflare and choose the Cloudflare for infrastructure option.

Cloudflare Select Product

Enter the domain you have bought on Namecheap and click Add site.

Cloudflare Add Site

Cloudflare has free and paid plans, and in most cases, it’s enough to use a free one (if you want, you can upgrade your plan at any time later). Select the Free plan and click Continue.

Cloudflare Select Plan

Leave all pre-configured DNS records untouched (we’ll configure these DNS records later) and click Continue.

Cloudflare Review DNS

On the next page, copy shown Cloudflare nameservers to your clipboard, but don’t click the Done, check nameservers button yet, and don’t close this page.

Cloudflare Change Nameservers

Point Your DNS to Cloudflare

Open your browser’s new tab, go to your Namecheap account dashboard, and click Manage next to your domain.

Namecheap Manage Domain

Find the Nameservers section under the selected Domain tab, choose the Custom DNS option, paste Cloudflare nameservers into input fields, and click the green tick to apply changes.

Namecheap Change Nameservers

Go back to Cloudflare and click the Done, check nameservers button. You’ll be taken to the next page and asked to configure some of your domain settings – click Finish later (it’s better to configure all the settings manually later).

Cloudflare Quick Start Guide

After completing all the steps above, Cloudflare’s dashboard will load. If you see the Complete your nameserver setup note as shown in the example below, your changes have not yet been updated, and it can take up to 24 hours to see the results. However, this process usually only takes a few minutes.

Cloudflare Dashboard

Buy a Hosting Service

After buying a domain, we need to buy a hosting service – it’s where your website with all its content will be hosted and accessible to visitors.

I chose to use Cloudways hosting, and I can confidently say that this is the best managed cloud hosting you can currently buy. I host my website Techesium on Cloudways, and you can see for yourself how fast this hosting is when you browse the pages.

Cloudways is a managed cloud hosting platform with multiple providers you can choose from to host your website: DigitalOcean, Linode, Vultr, Google Cloud, and Amazon Web Services (AWS). This platform simplifies all the necessary technical hosting processes, and you can get your blog online in no time. You can find many recommendations to choose other hostings such as Bluehost, SiteGround, etc., but the thing is, you can’t achieve the same performance that Cloudways can provide.

Here are the main reasons why I chose Cloudways:

  • Pay as you go billing system – you only need to pay for the resources you consume and nothing else
  • No long-term contracts (a monthly payment system)
  • You get a free SSL certificate (Let’s Encrypt) and many other options: multiple caching layers (Varnish, Redis, Memcached), automated backups, staging environment, latest software (PHP, MariaDB …), regular server updates, etc.
  • Server and app monitoring system
  • 1-Click server scaling – if you need to add more resources like RAM capacity, CPU cores or more storage, you can do that easily within your dashboard
  • Cloudways has many positive reviews – you can view them on Trustpilot which is a well-known digital platform for its transparent independent reviews

Sign Up on Cloudways Website

Before we start: if you use this link to sign up on Cloudways, you’ll get a free $15 credit to your account.

Sign up on Cloudways, select the Servers tab, and click Launch to start creating your new server.

Cloudways Launch Server

Under Application & server details, select a WordPress version you want to install and fill out other required input fields.

I recommend choosing the Vultr High Frequency server – it’s arguably faster than other available servers on Cloudways.

It’s better to allocate at least 2GB or more of RAM to the production server if you’re expecting moderate traffic to your website. However, less than 2GB of RAM can be suitable in staging environments. In this tutorial, I’ll allocate only 1GB of RAM because the server I’m creating here is not intended for production purposes.

Please note that a server with 2GB of RAM and more includes the paid WordPress Redis Object Cache Pro plugin that you get for free (it has more advanced features than the free version and can be more performant depending on your website’s traffic load). If you choose a server with 1GB of RAM, you’ll only be able to install the free version – I’ll show you how to do it later.

Keep in mind that the more WordPress plugins you install, the more additional server resources you may need.

It’s essential to choose the right server location to host your website – the closer a server is to your audience, the quicker your website will load. Therefore, you should choose the server location closer to your primary audience. For example, if most of your visitors are from the USA, you should consider selecting a server located in or closer to the USA for better performance.

When you’re ready, click Launch now to create your server.

Cloudways Application Server Details

Set Up Your Server

After creating a server, you’ll be redirected to the servers list – click on your server.

Cloudways Servers

We’ll need to set up your server and change some of its default settings for optimal performance. To do that, go to Settings & Packages, and under the selected Basic tab, modify the following PHP settings to our recommended ones:

  • Execution limit: 800 sec
  • Upload size: 256 MB
  • Memory limit: 500 MB
Cloudways Basic Settings

Click on the Packages tab, select the latest PHP and MariaDB versions, and install the Redis package.

Cloudways Server Packages

PHP is a programming language required to run WordPress, MariaDB is a database that stores user data, posts, etc. Redis is an in-memory data structure store that we’ll use as a cache for the MariaDB database.

Click on the Advanced tab, and under WAF module, select Cloudflare. It will allow your webserver to see the visiting user’s actual IP address instead of the IP address of the WAF (Web Application Firewall) you have enabled.

Cloudways Advanced Settings

Set Up Your Domain

Go to Applications Domain Management to point your domain to your website.

Under Primary domain, enter your domain with or without the www prefix, for example, www.yourdomain.com or yourdomain.com. I recommend choosing a URL with the www prefix, and here’s why: the www prefix is a subdomain, and this way, you’ll set your cookies for this particular www subdomain – your cookies will never clash with your other subdomains, e.g., sub.yourdomain.com, sub.yourdomain.com, etc. Therefore, if you plan to create subdomains in the future, you should choose a URL with the www prefix.

After you submit your website’s URL, DO NOT change it in the future as it will impact SEO, and there may be other unintended consequences.

In this tutorial, I’ll show you how to set up a website with the www prefix, and I’ll use www.techesiumlab.com as an example URL.

Click Save changes to create a URL.

Cloudways Primary Domain

Go to Applications → Access Details and copy Public IP to your clipboard.

Cloudways Public IP

Go back to your Cloudflare account and click on the DNS option – here, we’ll set up all necessary DNS records to get your website online.

Click Add record and set these DNS records as shown in the example below:

  • Type – A, Name – yourdomain.com, Content – your server’s Public IP (paste it from your clipboard)
  • Type – CNAME, Name – www, Content – yourdomain.com

Leave TTL setting on Auto and set Proxy status to Proxied in all records (the cloud icon must be orange).

Cloudflare Add DNS Records

Now we can create an SSL certificate, making your website accessible via the HTTPS protocol (secure connection).

Go back to Cloudways → Applications → SSL Certificate, and fill out all input fields as shown in the example below.

I recommend creating a wildcard SSL certificate that applies to a domain and all its future subdomains: enter *.yourdomain.com into the Domain Name input field and select the Apply WildCard option. Then, on the same page, you’ll find an additional DNS record that you’ll need to add to Cloudflare.

Cloudways Wildcard SSL

Now go back to your Cloudflare account → DNS and add a new CNAME record. This time set Proxy status to DNS only (the cloud icon must be grey).

Cloudflare Wildcard SSL

Go back to Cloudways and click Verify DNS to check if your new record is active.

Keep in mind that it can take up to 24 hours for this record to become active, so you may need to wait to verify your new record successfully. However, usually, it only takes a few minutes.

After successful DNS verification, click Install certificate.

Cloudways Install Certificate

Go back to Cloudflare → SSL/TLS → Overview and select the Full (strict) SSL/TLS encryption mode (this is the best encryption mode you can choose).

Cloudflare SSL Encryption Mode

Go to SSL/TLS → Edge Certificates and click Enable HSTS.

HSTS (HTTP Strict Transport Security) is a header that allows a website to specify and enforce security policy in client web browsers: protects secure websites from downgrade attacks, SSL stripping, and cookie hijacking. Remember that by enabling HSTS, your website always needs to be reachable only using HTTPS connections (HTTP connections will not work).

There’s no need to enable the Always Use HTTPS option in Cloudflare as Cloudways already redirects all incoming HTTP requests to HTTPS by default in the settings.

Cloudflare HSTS

Once you’re on the Configure tab, set the following options:

  • Enable HSTS (Strict-Transport-Security): On
  • Max Age Header (max-age): 6 months (Recommended)
  • Apply HSTS policy to subdomains (includeSubDomains): On
  • Preload: On
  • No-Sniff Header: On

When you’re done, click Save.

Cloudflare HSTS Configure

Go to Speed → Optimization, and next to Auto Minify, check JavaScript, CSS, and HTML – this setting will reduce the size of your selected file types to increase the loading speed of your website.

Cloudflare Auto Minify Files

Here we’ve configured only a few recommended Cloudflare settings. To fully optimize and secure your site with Cloudflare, check this article.

Set Up Your Website

After doing all the technical steps, now we only need to set up the website itself.

Go back to your Cloudways account → Applications → Access Details, and under Admin panel, you’ll find a URL to your website’s admin page and credentials to log in.

Open your website’s admin page and enter your credentials to log in.

Go to Settings Permalinks and under Common Settings select Post name – this setting will determine what URLs of your posts will look like, and it’s better for SEO. Click Save Changes.

WordPress Permalinks

If you chose a server with 2GB of RAM and more, skip the next step, which describes how to install and activate the free Redis Object Cache plugin, as Cloudways has already installed and configured the Redis Object Cache Pro plugin on your server for free. However, If you chose a server with 1GB of RAM, install the free Redis Object Cache plugin as described below.

Go to Plugins → Add New, search for the Redis Object Cache plugin, then click Install Now and Activate. This plugin will allow you to store some of your MariaDB database data in your server’s memory for faster data access.

WordPress Install Redis Object Cache

Go to Settings → Redis → Overview and click Enable Object Cache.

WordPress Enable Redis Object Cache

Design Your Blog

Properly designing a blog is a very important step you need to do – a good design will impress your visitors, and it can make your website look professional. With that being said, a good-looking website can increase your returning visitors rate. Below I’ll show you how you can build and design your blog using a WordPress theme and the website builder plugin.

It’s optional to install third-party themes and website builders – you can still create good-looking pages using the default theme and block editor Gutenberg, which is part of the WordPress platform. However, remember that these third-party tools are usually more advanced and have more possibilities.

Install Astra Theme

To design your blog, let’s first install a WordPress theme: it’s a pre-made design that we can apply to all types of blogs, and usually, we can customize it further.

I recommend using the Astra theme – currently, it’s one of the most popular and arguably the lightest WordPress theme you can get for your blog. While getting a free version is enough, you can buy a paid version too, which is more customizable. In this guide, I’ll be using the free version.

Go to Appearance Themes and click Add New.

WordPress Add Theme

Then search for the Astra theme, click Install and Activate.

WordPress Install Astra Theme

Install Elementor Plugin

To make your blog even more customizable and advanced, let’s install the website builder plugin. I recommend using Elementor, the most popular and arguably the most advanced WordPress website builder. Elementor has both free and paid versions, and in most cases, people find it enough to use the free version. However, I highly recommend upgrading Elementor to the paid version as it has more valuable features.

Go to Plugins → Add New and search for Elementor Website Builder, then click Install Now and Activate.

WordPress Install Elementor

Install Astra Starter Templates

Now, to make our life easier, let’s install the Astra Starter Templates plugin – it imports an already pre-made website including its design into our WordPress platform, so we don’t need to start building a blog from scratch.

Go to Appearance Astra Options and click Install Importer Plugin – this plugin will let you install a pre-made website from its provided library.

WordPress Install Astra Starter Templates

The next step is to select a page builder – choose Elementor.

WordPress Astra Starter Templates Page Builder

After choosing your page builder, you’ll need to select a starter template you wish to install. There are both free and paid (premium) versions – choose any free template.

WordPress Astra Choose Starter Template

On the following page, click Import Complete Site – it will import all the pages presented in this template.

WordPress Astra Import Complete Site

Then under Advanced Options, select Import Customizer Settings and Import Widgets.

WordPress Astra Site Import Options

When the import is complete, click View Site to load your website’s homepage. Next, you can use two places to build and customize your website, as shown in the example below.

WordPress View Site

The Customize button loads your theme’s customization options.

WordPress Theme Customize

The Edit with Elementor button loads your website builder, where you can add and remove various elements and customize them.

WordPress Edit With Elementor

Go ahead and examine all available customization options – from there, you can start building your actual website.

Install Essential WordPress Plugins

You can find many WordPress plugins online, but it’s essential to choose only those you need.

Here is the list of plugins I think are essential, and I highly recommend installing them on your blog:

  • WP Rocket – a cache plugin to optimize your website for speed
  • Rank Math – a SEO plugin to rank your website better on search engines like Google
  • Wordfence – a security plugin to protect you website from external threats

If you want to enable comments on your blog posts, I strongly recommend activating the Akismet Anti-Spam plugin, which should already be preinstalled on your website by default.

How to Create Pages

Before writing your blog posts, I strongly suggest creating some essential pages.

Here is the list of pages you should consider to create and publish:

  • Blog page
  • Blog Categories page
  • About Us page
  • Contact Us page
  • Privacy Policy page
  • Disclosure page
  • Disclaimer page
  • Terms and Conditions page

It’s not mandatory to include all of the pages mentioned above – it all depends on what type of blog you want to create.

How to Drive Traffic to Your Blog

To measure your site’s traffic and perform other SEO-related tasks, you should add your site to Google Search Console and Google Analytics. These tools are free and invaluable for all webmasters looking to optimize their websites for SEO. Optimizing your blog for SEO is the only way to increase organic traffic from Google Search.

To start promoting your blog, you should first add it to social media, which can help you get your first traffic: head over to Facebook, Twitter, and other well-known social networks to create pages for your blog. Also, if you can afford it, you can even try paid social advertising, Google Ads, etc.

Wrapping Up

And that’s it! I tried to cover all the essential and some advanced steps to get you started. So, if you’ve followed all the steps in this tutorial, now you have your running blog. Have fun!

If you have any questions, simply leave a comment below!

Frequently Asked Questions

Why should I choose cloud hosting?

When you use cloud hosting, you get easy scalability – you can increase or decrease various resources at any time, such as memory size (RAM), CPU cores, storage, etc. Other benefits include speed, cost efficiency, less downtime, more reliable automatic backups, etc.

Why do you recommend Cloudways hosting?

Cloudways uses the most popular cloud providers (DigitalOcean, Linode, Vultr, Google Cloud, and Amazon Web Services (AWS)) and takes away cloud server-related hassles. Therefore, you can deploy and manage your website in no time, even if you have little or no experience in cloud hosting.

Can I start a website without coding knowledge?

Yes, indeed. WordPress is considered the best and easiest Content Management System (CMS) you can get to start building your website even if you have zero coding skills. However, learning some of the basics never hurts, as it can help you overcome some of the possible specific customization and functionality limitations you may encounter in the future.

How much does it cost to build a blog?

It depends on many factors. This tutorial cost me around $25 (domain – $10, and hosting – $13) to build a complete website. Many WordPress plugins and themes have free and premium versions, and if you want more customization options and expanded capabilities, you have to pay money to get that. Still, for starters, I think it’s enough to use free tools – you can upgrade at any time later if necessary.

How long does it take to build a blog?

Usually, you can start a blog in less than an hour using today’s modern tools and services. However, creating pages and a website’s design can take up to a day.

Picture of Rimantas Jurgelevičius

Rimantas Jurgelevičius

Rimantas Jurgelevičius is the founder and owner of Techesium. He's interested in web development, cloud computing, and other online technologies and aims to provide easy-to-follow and detailed tutorials for others.

Leave a Comment

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

Scroll to Top