In my post, I show you how you can create a WordPress blog from scratch, step by step.
My guide is for beginners who want to start a WordPress website but don’t know where to start. I walk you through all the steps you need to create your first blog. I take you from choosing a blog topic to publishing your first blog post.
I show you how to build a WordPress website with 100% control, no limits or restrictions.
Many companies offer websites building services for free, such as Wix and Squarespace. If you are serious about creating a blog as a business, then you need 100% control. Free websites builders have limitations for free users. As you build your site, these restrictions will frustrate you.
My tutorial shows you how to create a brand new website using WordPress.org software. The software is free to use, but you need to purchase a domain and hosting to use it.
Hosting is how you get your site to show on the internet. Shared hosting costs about $4 a month. A domain is the name of your website and costs about $11 a year. So you can start your business for as little as $60.
Over a third of all websites on the web use WordPress.org software. It is the preferred choice of bloggers.
Let’s start building your website.
Step one – Select a topic for your blog.
For me, this is an essential step. For your blog to attract visitors from search engines like Google, it needs lots of content. If you choose a topic you know little of or don’t care about, you will find it hard to motivate yourself to write enough blog posts.
When choosing your blog topic, think about the things you like to do in your free time, new skills you have learned over the last year or two. What do your family and friends come to you for advice?
Write these ideas down and think about who you can help the most. Your aim with your blog should be to help people. My advice is to target new starters because if you are familiar with your blog topic, you won’t have to spend too much time researching.
Put yourself in the shoes of the audience you want to help. Think about problems you had when you started and how you solved them.
You don’t have to be an expert on a topic but know enough to give helpful, actionable advice to someone starting. There are people every day deciding to do something new. The internet is full of people searching for solutions to problems. If you can help people find solutions to their problems, you have the beginnings of a great website.
Now you probably have an idea or two for your website. Let’s move on to the next step.
Step two – Define your target audience.
With so many websites on the internet, why would anyone come to yours? The answer is to create lots of excellent content for a specific audience. Google states that if bloggers want to appear on search results, they have to produce high-quality blog posts.
The challenge is to find your space. You don’t want to go too broad because it will be hard to stand out from other websites that write about the same thing. You don’t want to go to niche either. If no one is searching, you won’t get visitors to your new website.
To research your website topic ideas and a potential audience, I recommend using forums. Forums are where people sharing the same interest go to share helpful advice.
Researching your topic helps you understand the problems people have and the questions they commonly ask. Look for questions you can answer in detail. You can use these questions for blog post ideas.
Two of the most popular forums are Reddit and Quora. I used Quora a lot when I started my blog to find blog topic ideas.
People like to use Quora to ask questions about everything. It is an excellent place to research your potential audience and the problems they have.
Sign up for a free account and start searching for your blog topic. For example, you want to create a website about fishing for beginners. Put that search phrase into Quora.
From your search query, Quora suggests questions you might be interested in answering. Already you have an idea of the type of questions beginners ask. Let’s click on the ‘Search’ link to find more.
There are thousands of questions. As you scroll down the page, more questions appear.
You can use the filter options on the left to refine your search.
The object here is to help you find your space. Who can you help, what advice can you give to help find solutions. Try answering some of the questions and monitor the response you get from other Quora users.
If your answers are getting views and upvotes, that is fantastic. An indicator that there is an audience for your blog.
I have written many answers on Quora. My most popular one was a guide on how to use Amazon images on websites. As of April 2021, this answer has had 15.3k views and 39 upvotes.
Step three – Buy a domain name.
A domain name is the address of your website, the URL. My domain name is ‘Newblogr’, the .com part is the TLD (Top Level Domain.) I recommend buying .com for your site. It is the most common and is not country or sector-specific.
Buying a name for your new website is difficult. The name you want is probably unavailable because someone has already purchased it.
When thinking of a name for your blog, try to keep it short. If it is too long or has dashes, it will be hard to remember. Try to choose a name with two or three syllables without dashes.
Think long term, build a brand. Create something to make you proud. Your domain name doesn’t necessarily need to have your topic in the title, but I think it helps.
When you are ready to buy your domain name, I recommend ‘Namecheap.com‘ (*paid link). Namecheap is a domain name seller company. You can buy a .com domain name for less than $10 a year.
First, enter the name you want for your blog followed by .com, then select ‘Search.’
Available domain names are difficult to find. Many domain names you want won’t be available or will have a ‘Make Offer’ option. ‘Make Offer’ means the owner is open to offers to buy. I don’t recommend making an offer. A premium listing could cost thousands of dollars. Look for an available name.
Domain name generator tool
Can’t find an available name? Try using Nameboy.com. Nameboy is a domain name generator tool.
To use Nameboy, type one or two keywords that are to do with your blog idea, then select ‘Submit.’ After a few seconds, a list of available domain names appear.
For example, I typed ‘Start Blog’ and got these suggestions. The available .com names are on the right. To view more domain name suggestions, select ‘Show more results.’
Nameboy works in partnership with Bluehost hosting. If you click on any available domain name links, you get redirected to Bluehost. I suggest you only use Nameboy to help you find an available domain name. When you find one you like, return to Namecheap.
On Namecheap, enter your available domain name in the box and select ‘Search.’
On the next page, you get confirmation of availability with an option to purchase. To buy, click on the ‘Add To Cart’ link.
Next, ensure ‘Domain privacy’ is enabled. This option hides your personal information after you purchase this domain. With Namecheap, this option is free forever.
To complete your purchase, you need to create a free account. Your new domain name appears in your account dashboard. Make a note of when your domain expires and renew before then.
How to buy a domain name video tutorial
Now you have your domain name, let’s move on to the next step.
Step four – Buy hosting.
Hosting is how you get your website to show on the internet. Hosting companies have servers and sell space on those servers for your website. When a visitor goes to your blog, internet browsers access that data.
There are hundreds of hosting companies offering multiple hosting packages. For new bloggers with a new site, a shared hosting package is sufficient. It is the cheapest package.
Shared hosting means that the hosting company will put several websites on the same server, not a problem with small websites. As your site grows and needs more resources, you can upgrade to a better package.
Hosting companies offer discounts to new customers, but when it is time to renew, the price doubles or sometimes triples. Hosting companies do not usually offer discounts to existing customers. Therefore, take your time researching hosting companies, always check the renewal cost.
For example, here are Siteground’s hosting packages. The new customer price is the discounted price the renewal price is much higher.
When choosing a hosting company, here is a list of essential factors.
Uptime means your website is live on the internet. Internet browsers can access your website files. Look for hosting companies that guarantee an uptime of over 99%.
For example, here is Hostgator’s sales page. They guarantee 99.9% uptime.
Support is essential when you are new to blogging. Your site will have issues that you don’t know how to fix. Choose a hosting company that has a reputation for excellent customer support.
Here is a blog post from WPbeginner.com talking about customer support on Siteground.
Site speed is about how long it takes for your blog to load. Your site must load fast. From June 2021, Google will monitor site website loading speeds.
You need a hosting company with servers that reply quickly to browsers requests. This metric is called Time-to-first-byte, or TTFB for short.
I use a company called WebHostFace to host my website. My site’s homepage TTFB is under 400ms that is fast.
Before you purchase a hosting package, review their refund policy. Most, if not all, have a 30-day refund policy. If you have issues with your site or are not happy with customer support, request a refund.
Hosting companies I have used since I started blogging.
The three hosting companies I have used the most are Hostgator, Bluehost, and Webhostface.
Hostgator, I used for three years and was happy with both price and support. Their introductory price is competitive, but their renewal price is high. Check out their latest hosting package prices at www.hostgator.com (*paid link).
Bluehost is another hosting company I have used. I was with them for about one year. I decided not to renew with them because my site went offline a few times, and the renewal price was high.
Bluehost offer discounts to new customers. You can check out their latest offers at www.bluehost.com (*paid link).
Webhostface is a new hosting company that I have been with for over two years now. Their excellent new customer discount offer meant I could buy a better hosting package. So far, I have found their service and hosting exceptional. I renewed my hosting package with them twice, and each time they offered me a discount.
As of April 2021, new customers get a 60% discount. To check out their latest new customer discounts, visit their homepage at www.webhostface.com (*paid link).
Step five – Connect your domain name with your hosting.
When a visitor goes to your website, nameservers tell the browser where to go. Each hosting company has unique nameservers.
After you purchase your hosting package, they send you the names of their nameservers via email.
Webhostface sent me an email with their two unique nameservers. There are usually two.
Update your nameservers through your domain account on Namecheap. Sign in to your account and select the ‘Manage’ link on the right.
On the next page, there is a ‘Nameserver’ section. Copy and paste the two nameservers you received from your hosting company, then select the green tick icon. Once you confirm the update of the nameservers, a message informs you that it takes 48 hours to complete. In my experience, it doesn’t take more than 24 hours.
Once the nameservers have updated, your domain and hosting are connected. Your site is live! If you type your domain name into your browser, you will see a default homepage set by your hosting company.
For a more detailed walkthrough on updating nameservers on Namecheap, check out my ‘How do I change the nameservers for my domain name?‘ post.
How to update nameservers on Namecheap video tutorial
You have your domain and hosting set up. Next, let’s install WordPress.org software so you can start building your blog.
Step six – Install WordPress
After purchasing your hosting package, you get an email with a link to a Control panel. The Control panel allows you to access your website on the server. You install WordPress in the Control panel.
The email contains your Control panel URL, username and password. Click on the link to your Cpanel and log in using the given details.
Here is a screenshot of the Control panel on my web hosting account.
To start the installation, type “WordPress’ in the search box, then select the ‘WordPress’ link.
Then you come to the WordPress software installation page. Select the ‘Install’ link.
On the right-hand side, select the ‘Quick Install’ link.
Complete the required information for set up. Ensure you remove the ‘WP’ from the ‘In Directory’ box. Don’t put your new website in a directory.
Finally, at the bottom of the page, select the ‘Install’ link. Installation takes just a few moments.
Install WordPress on Hostgator guide
If you have purchased Hostgator hosting, please check out my ‘How to install WordPress in Cpanel on Hostgator‘ post.
Install WordPress on Bluehost guide
If you purchased Bluehost hosting, please check out my ‘How to install WordPress in your Bluehost Cpanel‘ post.
How to install WordPress on Bluehost video tutorial
Once WordPress installation is complete, you get two links, one to your website and another link to your WordPress admin dashboard. I recommend you open both and bookmark them.
WordPress admin is where you build your blog. It is the back office of your website.
WordPress admin dashboard.
Step seven – WordPress admin set up
Before you start creating content for your website, you need to complete the following tasks.
Permalinks are the URLs of your blog posts. You should change the default settings.
To start, hover your mouse over ‘Settings’ on the menu on the left and select ‘Permalinks’ from the popup menu.
Next, select the best setting for your website. I recommend ‘Post name’ or ‘Custom structure.’ Both these settings ensure your blog title is in your post’s URL.
‘Post name’ means your blog post title appears in the URL. ‘Custom Structure’ allows you to determine what information you want to be displayed.
Once you have made your selection, select the ‘Save Changes’ link.
A WordPress theme is a tool to change the layout and design of your website. You can customize the appearance of your site. It is essential to have a clean site, but it isn’t something you should spend days or weeks doing. Your visitors are coming to your website for your helpful content.
WordPress has thousands of free themes, or you can purchase a premium theme. I have a free version of Kadence on my website. The layout is simple, and it loads fast.
To access the library of free WordPress themes, hover your mouse over ‘Appearance’ on the left, and select ‘Themes’ from the popup menu.
On the next page, select ‘Add New’.
Use the ‘Feature filter’ option to find themes for your content.
Use the filter to help you find a theme that is specific to your content. My site is a general blog, so I chose the Kadence theme.
Make your selection from the three columns, then select ‘Apply Filters.’
For a detailed walkthrough on installing WordPress themes, please check out my ‘Can I change WordPress themes without losing content?‘ post.
Choosing a theme for your blog is difficult because there are so many. My advice is to not spend too much time on this, pick a theme you like and go with it. You can change your theme later if you decide it doesn’t fit your content.
WordPress plugins allow you to add extra functions to your blog. Only add plugins to your site that you need. Plugins add code to your site and could potentially cause your site to load slower for your visitor.
You install plugins from your WordPress admin. To start, hover your mouse over ‘Plugins’ on the left and select ‘Add New’ from the popup menu.
In the WordPress plugin library, use the search box to find plugins.
My recommended plugins
Akismet Anti-Spam – Akismet monitors spam in your blog post comments. The plugin separates suspected spam comments for you to review.
ShortPixel Image Optimizer – Large images on websites cause slow loading speeds. Shortpixel (*paid link) compresses images, so your site loads faster. The free version is limited to 100 hundred images per month. For more, you need to purchase a paid plan.
UpdraftPlus – Backup/Restore – Backing up your site content is essential. If something goes wrong with your site and you lose all your content, you can restore everything from a backup. Updraftplus (*paid link) is an excellent free plugin. For a detailed walkthrough on how to backup your WordPress website, check out my ‘How to backup your WordPress site‘ blog post.
Litespeed Cache plugin – Cache plugins help your site load faster by copying your blog posts and serving a saved copy to your visitors. They also have features that streamline your site code, so it loads more efficiently.
Wordfence Security – Keep your website secure from hackers with a security plugin.
Yoast SEO plugin – SEO stands for ‘search-engine-optimization.’ This plugin offers recommendations on how to improve your blog post structure, so it is simple to read for both search engines and your visitors.
SSL certificates ensure any data entered on your site is encoded. Sites with SSL certificates have a safe padlock icon in browsers.
Websites that do not have SSL certificates generate a not secure warning in some browsers.
Some hosting companies offer SSL certificates for free. If you are with a hosting company that does not include them for free, you can get a free SSL certificate from Cloudflare. To learn more, check out my ‘How to change my WordPress site from HTTP to HTTPS‘ post.
In WordPress, there are two settings for your blog homepage. The first option displays your latest blog posts. The second option is to have a static homepage.
My website is a blog, so I have set my homepage to display my latest blog posts. If you are a local company, it is better to have a static homepage to encourage your customers to contact you.
To set your homepage, hover your mouse over ‘Settings’ on the left, then select ‘Reading.’
To set your homepage to display your latest blog posts, select ‘Your latest posts’, chose how many posts you want to show, then save your changes.
To set a static page, you must first design your page and save it. If you intend to have a blog on your site, you also need to create a page for your blog content.
Then, return to ‘Reading Settings’ and select ‘A static page.’ On the menu, select your homepage and blog page, then save changes.
Your site title and meta description
All search engines scan your website looking for new content. To ensure the search engines know what your blog content is about, complete a title and short description for your website.
Here is an example of a site title and meta description in Google search.
Search engines limit the characters displayed in search results, so you don’t want to have anything too long.
To set your site title and meta description, hover your mouse over ‘Settings’ on the left, and select ‘General’.
On the next page, set your site title and meta description (tagline).
Finally, scroll to the bottom of the page and ‘Save Changes.’
For a detailed walkthrough on setting your site title and meta description, please visit my ‘How to change the homepage title tag and meta description in WordPress‘ post.
How to set your title tag and meta description on WordPress video tutorial
Step eight – Create your first blog post.
New bloggers like to ask about how many blogs are needed to start a blog. I recommend you write your first blog post and publish it immediately with the plan to create more content consistently.
Search engines take their time ranking blog post content, so the quicker you make your posts live, the quicker they get indexed. Publish your first post and then start a second.
Response posts are the easiest to write. Find questions about your niche topic and write detailed answers. If you are not sure what to write, use Quora.com to help you find common questions.
Three free tools to generate blog content ideas
Use your knowledge of your niche to determine what a beginner would probably ask.
Before you write your post, check to see if people are searching for the phrase. To do that, start typing your question into a Google search and see if Google can finish your sentence.
For example, I am writing this post about starting a blog on WordPress. I start typing ‘how to start a blog on’ and then let Google finish my sentence.
Google confirms that people are searching for the phrase ‘How to start a blog on WordPress’ because it appears as a suggested search.
This process is called keyword research. You should complete a checklist before you decide to write a blog post. You could spend hours, if not days, writing content only for it to never appear in Google.
To learn how I do research, check out my ‘How to do keyword research for beginners guide‘ post.
Once you have decided on your blog topic, it is time to create your first post.
On WordPress, there are pages and posts. Posts are your blog content. Pages are content you don’t want to appear on your latest blog post list. For example, contact us, about me, disclaimers, term and conditions, etc.
To create your first post, hover your mouse over ‘New’ and select ‘Post.’
First, give your blog post a title and then use the plus icon to add blocks of content, such as headings, text, images, tables, videos, etc…
Your first paragraph should state what your content is about and how it can help your visitor. I recommend reading blog post formats of successful websites within your niche. How do they introduce the content? How many images and videos do they use? How long are their posts? How do they write their sub-headings?
It isn’t about copying another website, find something that works and make it better.
Keep your website organized with categories and menus. Each time you create a new blog post, assign it to a category. Find out more on my ‘How do I create a drop-down menu in WordPress?‘ post.
Once you complete your post, it is time to publish. To do that, hit the ‘Publish’ link on the top right.
Now your content is live on the internet. Your next job is to start your next blog post and keep posting.
For your site to rank on search engines, your content must be better than what Google already has. Be the go-to place for your niche. Blogging takes lots of hard work and patience.
Step nine – Get your site indexed by search engines.
Search engines like Google and Bing scan the internet looking for new content. Eventually, they will find your blog and index it.
To speed up this process, I recommend setting up an account with Google and Bing. Once set up, you can request them to scan your site.
Google has ‘Google Search Console,’ this free account allows you to get indexed and view search data about your website. For a step by step guide, check out my ‘How does Google discover new websites?‘ post.
How to submit your site to Google for indexing video tutorial
Bing has ‘Bing Webmaster Tools’, you can get your site indexed and view data about your blog. To learn more, check out my ‘How to add a sitemap in Bing Webmaster‘ post.
How to submit your site to Bing for indexing video tutorial
Follow successful bloggers
Many new bloggers give up on their blogs within six months because they don’t see results. Blogging is hard, don’t let anyone tell you that blogging is easy. It takes hard work and lots of patience.
An excellent way to keep focused is to find out how successful bloggers do it.
I follow Income School and have done since I started my blog. Their YouTube channel is an excellent source of tips and guides about blogging. Jim and Ricky own Income School. They publish one video a week about blogging on their YouTube channel.
Brian Dean publishes detailed posts about how to build your audience and marketing. He doesn’t publish content as often as Income school, but when he does, it is excellent. He also has a YouTube channel.
You can create a blog for as little as $60. You just need to buy a domain, a hosting package and install WordPress.
My step by step guide takes you through each step. For me, picking the right niche is essential, especially for your first site. Write content about something you love or that interests you. Think about who and how you can help.
Google’s job is to match searchers with the content they need. Define your audience, understand what problems they have and offer solutions. Your experience helps you with this. Put yourself in the shoes of someone starting.
Get started today, go to Namecheap and buy a domain. Choose hosting and install WordPress. In less than fifteen minutes, you can have content live on the internet.
If you have any questions about my guide or need help with setting up your blog, leave me a comment below.
I also have a YouTube channel. I would love to see you there. Check my channel, and don’t forget to say hi in the comments.