Skip to content

How to Make a WordPress Website: Ultimate Guide for All Users – Beginners, Intermediate, Advanced

Many people wonder how to make a WordPress website. 🤔

They’ve heard about WordPress, its incredible popularity, excellent features and designs, and now they want to join the pack and build a WordPress website of their own.

So, where does one get started? Regardless of how advanced you might be with the platform, we have a tailor-made resource for you here.

What follows is a  choose-your-own-adventure guide  on how to make a WordPress website. 🎢

How to make a WordPress website

 Pick from the following scenarios  and see what the guide has for you:

beginner 🌱 I'm a beginner working on my first website
intermediate 🏎️ I know the basics of how to make a WordPress website, but I want to speed up the process
advanced 💪 I'm a developer / power user and want to improve my workflow making multiple WordPress websites


In a hurry? Here’s how to make a WordPress website in 7 steps (in less than an hour):

1. Domain and hosting: 📛

Find a domain name for your website and sign up for web hosting all in the same place. We recommend Bluehost. They will give you the domain name for free for the first year.

2. WordPress: ⚙️

Install WordPress on your web hosting setup. This is usually done with a couple of clicks (at least that’s the case with Bluehost and SiteGround who make the installation super easy).

3. Site settings: 🔧

Adjust the core WordPress settings like permalinks, title and tagline, time zone, and search engine visibility.

4. WordPress theme: 🎨

Pick a theme that matches your business brand and the type of site that you want to build.

Recommendations? Neve is a popular business theme that comes with a range of starter designs that match most niches.

5. WordPress plugins: 🔌

Install a handful of must-have plugins – for things like SEO, Google Analytics, backups, security, image optimization.

6. Homepage and pages: 📃

Customize your homepage and build standard pages such as About, Contact, Privacy Policy, Products or Services.

Add them to your site’s main menu.

7. Publish! 🚀

Write and publish your first blog post or add your first product!

What is WordPress, and why should you use it?

To get things started, let me first do some convincing and tell you why using WordPress when building your website is indeed the right decision.

I want to take a minute to do this because, albeit we’re surrounded by undeniable evidence of WordPress’ dominance, some people will still try to tell you that WordPress isn’t good enough for certain types of websites.

Luckily, we can use actual data to do most of the talking here:

First off, what is WordPress anyway?

In simple terms, WordPress is the operating system of your website.

Your iPhone runs iOS, your Samsung Galaxy runs Android, and your website can choose to run WordPress.

👉 Learn more on what WordPress is here

That said, WordPress is not the only operating system for websites available. It is the most popular one, however.

WordPress runs 35% of all websites. Yes, you’re reading this right, that’s all websites.

Also, many of these websites are not what you would call simple blog sites. With brands like AMC, Mercedes, BBC, Walt Disney, and many others trusting WordPress to be the operating system of their online presence. You’re probably going to be okay using WordPress as well!

Next point, WordPress is extremely capable of serving as an operating system of your online (eCommerce) store. Nearly 30% of all online stores run on WordPress.

Then, there’s also the topic of customizability.

  • Starting with the design, you’ll find that WordPress offers the biggest choice of installable design packages (themes) that you can import to your website in a couple of clicks.
  • You can also extend your website features quite heavily via plugins. Just like themes, they also install in a couple of clicks.

Plus, if you ever need help with anything involving the technical side of WordPress, you’ll find that there’s a vast community gathered around WordPress. Most of the time, you can find help for free.

On top of all that, hosting a WordPress website is also very easy and, most importantly, cheap. 🤑  (We’ll talk about web hosting later on.)

All this makes WordPress the most versatile operating system for websites of them all. In the end, by using WordPress, you get:

proud coder

A platform that’s used by top brands + huge popularity + great community + installable design packages + plugins + cheap hosting + versatility = awesome website!

You can read a detailed introduction to WordPress by clicking the parent category of this post, in the breadcrumb at the top left of the page. But, if you’re ready, in the next steps, I’ll show you how to make a WordPress website step by step:

If you want to learn even more about WordPress then check out these related posts:

Choose a domain name and hosting

As a new user to the world of WordPress, you’ll have to deal with the most intimidating and confusing step of the process basically right at the start of your adventure.

The confusing thing is the place where you begin your path to make a WordPress website. That starting point isn’t WordPress itself. The actual starting point is getting a domain name and web hosting.

Just to make sure we’re on the same page:

  • A domain name is your website’s address on the web. This site’s domain, for example, is
  • Web hosting is the server where your website is kept. It’s a common misconception among people to think that “websites live on the internet.” Where they actually live is on web servers managed by web hosting companies. Under the hood, a web server is just a type of computer that’s optimized to handle websites.

The intimidating thing about both domains and hosting is that it’s not immediately clear where to get started with them.

Here’s what I advise you to do:

First, pick a name for your website. 📛

You probably already have some ideas, but you can also help yourself to some of the name-generation tools that are available on the web.

How to make a WordPress website: first, get a domain suggestion from DomainWheel

I like DomainWheel since it’s a tool of our own, plus we put a lot of effort into making it as functional as possible.

Start by entering your name idea, or even some seed words that you want to create your website name around, and then see what DomainWheel has to say about it.

You’ll likely find some interesting options among DomainWheel’s suggestions. The tool also tells you which domain names are available to be registered.


Once you find a domain name you like, just write it down somewhere – you’re going to buy it later on.

Next, you’re going to pick a hosting firm and sign up for a hosting account. 🖥️


We have a lot of content on this site on various hosting offerings, comparisons, reviews, and general advice on how to pick your ideal web host. I highly encourage you to give some of those a read.


That said, if you don’t have the time to go through these resources right now, here are my two top recommendations in terms of hosting:

💰 Bluehost⭐ SiteGround



This is one of the few companies officially recommended by the WordPress team themselves.

Bluehost is also one of the cheapest hosts out there. The plans start from $2.75 / month. For that price, you also get a free domain name for the first year. This means that you don’t even have to spend extra to get your ideal domain name.

Bluehost doesn’t track your bandwidth usage (the volume of traffic your website receives), and you get 50 GB of disk space to use up.



SiteGround is the second company recommended by the WordPress team.

SiteGround is a bit more expensive, starting from $2.99 / month. They also don’t give you a domain name for free. What you do get, however, is arguably the best customer service in the business and better performance according to numerous user reviews.

The choice is up to you. Most users will generally be just as happy with either of these hosting companies.

Sign up with your web hosting company of choice

Signing up with a web hosting company and getting a domain name registered are the first “real” steps on your way to make a WordPress website.

In case you’re not 100% positive on the exact domain you’ll use, check out DomainWheel to get some ideas.

When it comes to hosting, we generally like to recommend SiteGround and Bluehost due to their easy to use and functional platforms, and a good ratio of server parameters to price.

If you’re not yet sure which one to choose, consider this:

  • If you’re under serious budget constraints, go with Bluehost. You not only get hosting for $2.75 / month but also a free domain name bundled in for the first year.
  • If you value server performance and customer service more, go with SiteGround – from $2.99 / month.

In this step, I’ll show you how to set up WordPress with either host:

Getting started with Bluehost

Go to Bluehost and click on the Get Started button. Pick one of the plans available – most likely the cheapest one, called Basic – $2.75 / month.

How to make a WordPress website on Bluehost basic

Next, enter the domain name that you want to register for your website.

bluehost signup

The next steps are about providing some personal information to finalize the setup.

At the end, you also have to enter your payment details. To get the low price of $2.75 / month, you’ll have to pay for three years upfront. Selecting a shorter period will increase the price per month.

Getting started with SiteGround

Go to SiteGround and click on the GET PLAN button under the specific hosting tier that you’re interested in. Selecting the cheapest option, called StartUp, at $2.99 / month is going to be enough for most websites.

How to make a WordPress website on SiteGround startup

In the next step, SiteGround lets you register a domain name through their system. Enter the domain name you want in the box, and click on Proceed.

SiteGround domain

Next, you’ll have to provide your personal details and also select the basic parameters of your web server.

Pay attention to this part of the registration form in particular:

SiteGround purchase information

This is where you get to select the data center location of your server and the registration period of your hosting plan:

  • Pick the data center location that’s the closest to your intended audience – ideally in the same country.
  • Pick the longest period you can afford. Your renewal price after the initial period will increase, so picking the longest possible contract as the initial one will save you money in the long run.

Finish the form and complete the payment.

Installing WordPress on your web host

Have your web host selected and an account created? Good! Let’s now install WordPress on top of it.

There are a couple of good ways to handle the process. Pick the option that suits you best:

Getting WordPress installed on Bluehost

When you log in to Bluehost for the very first time, you’ll be shown a setup wizard that will take you through the process of installing WordPress.

If you miss that wizard or disable it by accident, you can always install a new WordPress website by going to My Sites, and then clicking on the Create Site button.

How to make a WordPress website: Bluehost signup

The rest of the installation process doesn’t require any technical knowledge. You just fill out a form and let Bluehost know how you want to set up your admin account.

Getting WordPress installed on SiteGround

Although these things change with SiteGround every once in a while, generally, you should have an instance of WordPress already running when you finish up your account setup.

To check if this is the case, log in to your user panel and go to My Accounts, then into the Installations tab. You should see your website listed there, and a Go to Admin Panel button alongside. You can click on it to enter your WordPress dashboard.

Alternatively, SiteGround might display a site setup wizard to you and guide you through everything step-by-step. During this procedure, you’ll get to set the admin account for your site. When the installation is done, you’ll be able to log in to your WordPress dashboard.

SiteGround wizard exit

If no WordPress website has been set for you, the easiest method to get one going at SiteGround is to contact their support team via live chat and ask them to set up WordPress for you.

They’ll be super happy to do this, and you’re also avoiding the possibility of any errors occurring along the way.

SiteGround help

Getting WordPress installed via WP-CLI

Installing WordPress manually is all fine, but we can make things a lot more streamlined by employing our good old friend, WP-CLI.

🛍️ Bonus: At the bottom of the page, you’ll find a roundup of all the WP-CLI commands used throughout this guide. Something you can copy and paste into your records.

  • In case you don’t know, WP-CLI is a command line interface for WordPress. It adds a whole range of WordPress commands on top of what’s already available in the standard Unix command line.

Installing WordPress via WP-CLI has a couple of advantages:

  • You can craft your own unique sequence of commands and reuse them multiple times to spin up new sites.
  • The process is also much much quicker – you’re not only not getting slowed down by the WordPress UI, but shell commands also take less time to reach their destination and get executed.

⚠️ Note; the steps described below start with you having an SSH connection established with your host.

First things first, let’s make sure that you indeed have WP-CLI installed on your server. Run this command:

wp --info

You should see the WP-CLI status screen.

💡 Note; out of our top recommended web hosting choices for WordPress, SiteGround, A2 Hosting, and WP Engine all have WP-CLI installed by default.

If you don’t have WP-CLI installed, you can still add it yourself to most servers. Here’s how to do that.

To install WordPress via WP-CLI, start by going to the directory path where you want to get your site installed. Next:

wp core download
  • downloads WordPress
wp config create --dbname=YOUR_DATABASE_NAME --dbuser=YOUR_DATABASE_USER --prompt=YOUR_P4SS
  • creates a new wp-config.php file
wp db create
  • creates the database based on the details set by the previous command
wp core install --title="SITE TITLE" --admin_user=ADMIN_USER --admin_password=ADMIN_P4SS

That is it! The whole process takes just a couple of seconds once you get the hang of it. Establishing an SSH connection is probably the longest part.

Getting WordPress installed on any host via cPanel

Most web hosting firms use a tool called cPanel to let users manage their hosting setups. In simple terms, cPanel is an online administration panel that enables you to configure a web server, add new accounts, databases, emails, and also website scripts like WordPress.

In most versions of cPanel, there’s a script installation tool called Softaculous. You can find it in the SOFTWARE section.

How to make a WordPress website via Softaculous

Once you click into it, you’ll quickly realize how many features Softaculous offers, and how many different website scripts it can install for you. Luckily, WordPress is there at the top of the list. Click on the WordPress logo to begin.

WordPress softaculous

Click on Install Now to start the installation.

Softaculous will show you a form where you have to input all the details of your website. Even though the form is a larger one, the fields are easy to grasp.

This is the most important part of the form:

important form

This is where you choose the domain name of your site (you likely already have the right domain name selected there by default; if not, adjust the selection), also enter your site’s title and the details of your admin account.

Once you click on Install, the installation process will begin. You’ll get notified when it finishes a couple of minutes later.

At this stage, you’ll be able to log in to your WordPress dashboard.

Reuse a blank WordPress template site

If you work on new WordPress websites often, you can find yourself installing the same structure of a WordPress website multiple times over.

We all have our favorite plugins, themes, our favorite website settings, etc. Getting them all in line by hand each time is a massive waste of time.

There are two great ways to get yourself an always-the-same WordPress installation:

  • Use a sequence of WP-CLI commands on every new site
  • Create a stand-alone website template and then import it on each new site using third-party tools

The WP-CLI path is going to be just fine if you want to keep things relatively simple, make sure that all your favorite plugins are installed, a theme, and some basic WordPress settings.

For more advanced setups – involving pre-configuring a complex plugin, or importing whole homepage designs, you’ll need to go the other path and employ some third-party tools.

Using WP-CLI to launch a template WordPress site

Just like when we installed WordPress, using WP-CLI is the most effective and fastest way to configure a new site as well.

Here are some basic commands you can use:

wp plugin delete hello
  • gets rid of the hello plugin
wp theme install THEME_SLUG
wp theme activate THEME_SLUG
  • installs and activates a theme
wp plugin install PLUGIN_SLUG
wp plugin activate PLUGIN_SLUG
  • installs and activates a plugin
wp comment delete $(wp comment list --format=ids)
wp post delete $(wp post list --post_type='post' --format=ids)
wp post delete $(wp post list --post_type='page' --format=ids)
  • deletes all comments, posts, and pages that were created during the installation


wp site empty
  • blanks the whole site; no posts, comments, terms, or meta will be left
wp site empty --uploads
  • deletes everything from the uploads directory
wp post generate --count=10
  • creates ten empty posts for testing

Even if you only want to get rid of the dummy content and install a couple of plugins, it’s still going to be much quicker to do so via WP-CLI.

It’s up to you to create your ideal sequence of WP-CLI commands to get the exact set of plugins, themes, and starter site content that you need. Here’s the full directory of WP-CLI commands to pick from.

Using Duplicator to launch a template WordPress site

A great way to handle the creation of a template website is to use a plugin like Duplicator.

This path is better suited if you require a more comprehensive set of plugins (or a theme) right from the get-go, and you want these plugins to come already pre-configured in a certain way.

For example, many developers like to start with their favorite theme, specific starter sites, and a specific page builder plugin with some common page designs already imported (like an About page, Contact page, etc.). This is the kind of template website you can build and then roll out with Duplicator.

Every once in a while, you can update that template site as well, thus minimizing the need to update everything later on.

This works exactly like you’d expect it to:

  1. Start by setting up a template site on a test server.
  2. Take care of the basic site settings that you prefer. This involves permalinks, search engine visibility, comment and pingback/trackback settings.
  3. Install the plugins that you consider a must-have. Don’t go overboard here and really only install the plugins that you always need on all websites. Things that usually fall into this category are backup plugins, security, SEO, social media, ACF, contact forms, performance plugins, Google Analytics.
  4. Install your favorite theme – but only if you use it on all sites.
  5. Pre-configure the plugins and theme.
  6. Assign the must-have widgets, if any.
  7. Import some dummy content to blog posts.
  8. Create the must-have pages. Things like About, Contact.
  9. Create a primary nav menu.

With all that done, install Duplicator and go through the process of exporting the site as a template.

We have a guide on how to do that here. The same guide also describes how to take a site image and roll it out in a new place.

Get to know the WordPress interface

The first thing that every user new to WordPress has to get familiar with is the WordPress interface itself.

While the UI does become very easy to use once you learn the ropes, it’s not the most straightforward thing for people when they first see it.

To log in to your WordPress dashboard, go to

Enter the username and password that you’ve set during WordPress setup with your host.

After logging in successfully, you’ll see the main WordPress interface:

How to make a WordPress website: the WordPress dashboard

Here are the most important sections:

  • (1) Welcome message. This is where you’ll find some shortcut links to various key areas of the admin panel.
  • (2) The current status of your site and what’s going on with it.
  • (3) Posts. This is where you can create blog posts.
  • (4) Media. The media library of your site – this is where you can upload and manage images and other media files.
  • (5) Pages. This is where you can create pages.
  • (6) Comments. You’ll find all reader comments there.
  • (7) Appearance. This is where you can change your current theme and customize other design features of your site.
  • (8) Plugins. Install new plugins here.
  • (9) Users. Manage user accounts that have access to the site.
  • (10) Settings. The main settings panel of the site.

It’s a good idea to spend a while here, go from section to section and see what’s available. Get yourself familiar.


Take care of some basic website settings

While WordPress is perfectly operational on its default presets, you’re going to get more out of it once you take care of some basic optimizations:

Permalinks define how WordPress goes about structuring the web addresses (called URLs) of individual sub-pages on your site.

Long story short, you want to have the page’s title in the URL. The default setting doesn’t give you that, so we need to adjust it.

Go to Settings → Permalinks from the main sidebar in the dashboard.

Select the following setting:

post name

Click on Save Changes.

Make your site visible to Google

Generally, most WordPress websites are set to be visible to Google by default, but we’re going to check if that’s the case with your site – just to be sure!

Go to Settings → Reading, and make sure that the box labeled “Discourage search engines …” remains unchecked.

How to make a WordPress website: set visibility

Check your site title and tagline

Go to Settings → General and see what’s in the Site Title and Tagline fields. Adjust if needed.

The site title and tagline are often used throughout your site in places like homepage titles, SEO titles and descriptions, header areas of the site’s design, etc.

It’s just good always to have the correct title and tagline set up.

Enable / disable comments

Whether you want to accept reader comments or not is entirely up to you.

There are good arguments for and against, so feel free to make your own decision.

To change your site’s comment settings, go to Settings → Discussion. This is the field to tweak:


Disable pingbacks and trackbacks

Pingbacks and trackbacks are leftover features from back in the day. No one uses them anymore.

To disable pingbacks and trackbacks, go to Settings → Discussion and uncheck the following box:


Set the correct time zone

The time zone setting is a small thing, but it has the potential to make working with your site very confusing if it’s set incorrectly.

For example, if the time zone is wrong, you might be surprised when you set some blog post to go live at 8 AM, only to find out that it went live in the middle of the night because your site thinks it’s on another continent. It happens.

To make sure your time zone settings are correct, go to Settings → General and look for this field:


All these settings are quite basic to take care of. This part shouldn’t take you more than 10 minutes in total.

Automate basic website settings

Setting up a new site is usually a sequence of the same steps every single time.

Why not automate it?

Again, our good friend WP-CLI comes to the rescue! Here are some useful commands you can employ:

Set permalinks

wp rewrite structure '/%postname%/'

Add user accounts

wp user create john --role=author

Make sure the site is visible to Google

wp option update blog_public 1

Set the site’s title and tagline

wp option update blogname "Your site name"
wp option update blogdescription "Your site description"

Enable / disable comments

wp option update default_comment_status closed


wp option update default_comment_status open

Disable pingbacks and trackbacks

wp option update default_ping_status closed

Set the correct time zone

wp option update timezone_string "America/New_York"

💡 The scope of what you can adjust doesn’t end here. Go ahead and take a look into the wp_options table in the WordPress database. You can adjust any setting by using the wp option update command. Here are the docs. Check it out and create your own sequence of WP-CLI commands to automate your WordPress website setup.

Pick a WordPress theme

One of the best things about WordPress is that you can change the entire design of your site with a couple of clicks. This is done with the help of WordPress themes.

Just to show you what’s possible, here’s what a stock WordPress website looks like:

How to make a WordPress website: normal site

And here’s what it can look like after installing a new theme and spending a couple of minutes customizing it:

How to make a WordPress website: good-looking site

Best news?

Many of the top WordPress themes are free.

Here’s how to pick a theme and install it on your site:

Go to Appearance → Themes and click on Add New.

themes add new

Switch to the Popular tab.

tab popular

What you’re looking at are the themes that the community appreciates the most. They are all free.

Browse through this list and pick a theme you like. I’m going to go with Neve (it’s a theme made by our sister company, and also one of the most popular themes in the directory).

Click on Install to get the theme imported to your site:

How to make a WordPress website: install a theme

When the installation finishes, the Activate button will appear. Click on it.

Customize your theme

Depending on the specific theme you’ve picked, the getting-started and customization process can differ. Here’s how it works with Neve:

As soon as you hit that Activate button in the previous step, Neve will show you a success message and invite you to begin working with the theme by importing a starter site.

neve starter sites

A starter site is a ready-made website structure that has been pre-designed and pre-filled with demo content. Using starter sites speeds up the setup process of a new WordPress website.

Click on the big blue button (see above) to begin importing a starter site. You’ll see a list of available designs.

neve templates

Pick a design you like, click on it, and then on the Import button. Neve will let you choose which elements you want to import along with the design. You can leave everything toggled on for the best results.

neve import

The import itself can take a minute or two. When it finishes, you’ll be able to view your site:

How to make a WordPress website: your new Neve home design

Get more in-depth with customizations

There’s a module in WordPress called the Customizer. It allows you to get into a lot of detail when it comes to customizing your site and design.

To see what’s available, click on the Customize link in the top bar, or go to the WordPress dashboard and then into Appearance → Customize.

The exact scope of the options available depends on the theme you’re using. Still, generally, you’ll be able to adjust things like the site’s layout, headers and footers, colors and backgrounds, typography, buttons, menus, and more.

neve customizer settings

Go through the different sections and see the effect that tweaking them has on your site – the changes take effect in real-time in the preview pane on the right.

Click on the Publish button (top left corner) if you want to keep the changes.

Customize your theme via WP-CLI

Note; if you haven’t installed your theme yet, scroll to the previous section where we covered how to do that with WP-CLI.

Let’s now customize your theme in a semi-automatic way.

Remember the wp option update command that we used when discussing your site’s core settings? You can also use it for theme settings.

Most WordPress themes – if not all of them – store their settings in the wp_options table in the database. This means that you can modify those options – pre-set them – using the wp option update command.

Unfortunately, something that can’t be avoided is that you have to do the initial setup and customization manually, via the wp-admin. But then, you can reuse those settings and roll them out to new sites with the help of WP-CLI.

Once you have your theme installed and customized, browse through the wp_options table with phpMyAdmin, and look for the individual option settings. Based on those settings, create your unique sequence of wp option update commands that redo them one by one. Use that on new sites.

Install a set of must-have plugins

Plugins are to your WordPress site what apps are to your smartphone. 📱

While you can certainly use your smartphone without installing anything extra on it, you would be missing out on a lot of cool functionality. It’s the same story with WordPress plugins. WordPress is functional out-of-the-box, but you can get a lot more out of it with plugins.

We covered our favorite must-have plugins quite in-depth elsewhere on this blog. I encourage you to check that resource out to get detailed descriptions of what each plugin does and why they should make your must-have list as well.

Here’s an excerpt from that resource – just the names of the plugins and a short description of what each does:

  • Yoast SEO – the most popular SEO plugin for WordPress; it will help your site rank better in Google
  • Google Analytics for WordPress – integrates your website with Google Analytics
  • Cache Enabler – makes your site load quicker; alternatively, check out these caching plugins
  • Wordfence Security – makes your website more secure
  • UpdraftPlus – automatic backups to keep your content safe
  • Optimole – optimizes the images on your site, reduces the amount of disk space they take up, and makes them load faster
  • WPForms – lets you create good-looking contact forms; alternatively, you can try out Contact Form 7
  • Revive Old Post – takes a random blog article from your site and posts it to your social media profiles automatically
  • Not enough? Check out what else is available in the official WordPress Plugin Directory ← you’ll find more than 55,000 plugins there!

This is all cool, but there’s one thing missing:

How to install a WordPress plugin

This is an uncomplicated process. From the WordPress dashboard, go to Plugins and click on Add New:

plugins add new

Either browse through the lists of Featured or Popular plugins, or enter the name of the plugin you want into the search field:

find plugin


When you’ve found your plugin, click on the Install Now button.

Once the plugin gets uploaded to your site, the Activate button will appear. Click on it to finish the installation process.

The plugin has been enabled, and you can start using it.

install plugin

⚠️ Not every plugin works the same once installed. Some require additional configuration while others begin working immediately after activation. You’ll usually find plugin settings under the main Settings panel in the WordPress dashboard.

Install your original set of must-have plugins

While every WordPress website can benefit from an original set of plugins, there are still some plugins that you’ll want on all sites. This usually involves things like SEO, backups, Google Analytics, caching, image optimization, security, contact forms, Jetpack (?), plus a couple more.

You probably already have a pretty good idea as to what your must-have plugins are, so I’m not going to push any individual plugins onto you (maybe just a couple). Instead, let’s focus on what’s the quickest way of having them installed.

Again, no surprise, this method is going to be WP-CLI.

We already covered the main commands to get new plugins installed a couple of sections above. Just to remind you, they are:

wp plugin install PLUGIN_SLUG
wp plugin activate PLUGIN_SLUG

With that done, you can also use WP-CLI to pre-configure plugins. Again, this is done through the wp option update command – the same one we used for configuring your favorite theme.

💡 At the beginning of this guide, I also mentioned an alternative way to roll out a basic WordPress website with a given collection of presets, themes, plugins, etc. Instead of using WP-CLI and going command by command, you can also use the Duplicator plugin and handle everything in one go. I advise you to test both approaches and see which works better for your workflow.

Some extra plugins to consider making your must-haves

Some of these you already know, some might be new:

Regenerate Thumbnails

Useful when changing themes or working with the site’s default image sizes in any way. As the name suggests, the plugin regenerates all thumbnails to their correct proportions.

Code Snippets

Great plugin for adding custom code blocks to your functions.php file, the stylesheet, or for creating new custom shortcodes.

Just add the snippet through this plugin, enable/disable it as needed, and, most importantly, keep your snippets regardless of any theme or plugin updates you’re making over time.


Do I even have to advertise this one to you?


There are many image optimization plugins in the WordPress directory. Optimole stands out (built by our sister company).

Here are some of the things it does that no other plugins do (or, at least, they don’t offer all these features in the same package):

  • images are optimized in the cloud and then replaced on the front-end on the fly
  • you keep all original versions of your images in the media library
  • picks the right image size based on the visitor’s device and screen size
  • serves all images via CDN
  • uses lazy loading by default
  • makes your images up to 85% smaller with no visible quality loss

Craft a great-looking homepage

Every website needs an awesome-looking homepage. You really don’t want your homepage to feature random info or placeholder text. Getting yourself a custom homepage does a couple of things for you:

  • You get full control over what your first-time website visitors see.
  • You can introduce your business effectively, showcase your top products, and summarize what you’re about.
  • You get to funnel people to the most important areas of your site.

The process of setting up a custom homepage will differ depending on the WordPress theme you’ve chosen.

If you went with our recommended Neve and imported a starter site, then you already have a template homepage waiting to be customized. Here’s how to do that:

When on your homepage, click on the Edit with Elementor button.

How to make a WordPress website: edit with Elementor

This will launch the interface of the Elementor page builder.

Elementor UI

To modify any element, click on it, and then either edit the text or tune up the styling.

element edit

You can also add new elements to the page by clicking on one of the small icons in the top left corner and then picking a new element from the list, like so:

pick element

To add an element to the page, drag-and-drop it into place – exactly where you want it.

The process is straightforward: edit the elements on the page one by one, add your content, upload your images, realign some elements, add new ones, and so on – until you have a homepage that serves the purpose of your website.

Click on the UPDATE button in the bottom left corner when you’re done.

👉 To learn more about building a homepage for your website or blog, read this.

Create some standard pages

Apart from the homepage, your website also needs a couple of standard pages that will give your visitors the info they need. These pages include:

  • An about page – people who visit your about page have already expressed interest in what your website represents; capitalize on this by introducing yourself and your business, and tell people why they should listen to you.
  • A contact page – this is where you can give people a direct way of contacting you.
  • A services or products page – showcase your offering.
  • A privacy policy page – these days, all websites need a privacy policy page to stay away from trouble and be transparent about what the website does with visitors’ data.

Of course, you don’t have to stop with just these. You can create any number of additional pages.

To create a standard page in WordPress, from the WordPress dashboard, go into Pages and click on the Add New button. You’ll see a simple text editing interface.

How to make a WordPress website: block ui

Enter the title of your page up top and then start typing your page’s content below.

If you want to add images, you can do that by clicking on the “+” icon in the top left corner and then selecting the Image block from the list.

add image

Click on the Publish button (top right corner) when you’re done.

Roll out your template pages

Depending on the specific project you’re working on, you might want to roll out a set of template pages that will give you some scaffolding to base your later work on.

We can create those pages in a couple of ways. Fist, our favorite, WP-CLI:

Create template pages in bulk using WP-CLI

“In bulk” is the keyword here. We’re going to roll out a whole range of example pages in one go.

The command to use is this:

wp post create ./PAGE-CONTENT.txt --post_type=page --post_title='PAGE FROM FILE'

As you can see, this command takes content from a file and creates a new page based on it.

To use this method of page creation effectively, you can create a range of files for different pages, and then roll them out one by one. For example:

wp post create ./about.txt --post_type=page --post_title='About'
wp post create ./contact.txt --post_type=page --post_title='Contact'
wp post create ./privacy.txt --post_type=page --post_title='Privacy Policy'

Import template pages in bulk

A surprisingly effective method to import template pages is to use WordPress’ native import feature – the one in Tools → Import.

Of course, before you can use it, create your template pages on a fresh WordPress install and then export them from Tools → Export.

💡 At the beginning of this guide, I also mentioned an alternative way to roll out a basic WordPress website – with the help of the Duplicator plugin. If that’s the path you went with, you’ve probably also included your template pages in the archive.

Add menus / navigation

At this stage, your WordPress website should already be looking quite handsome, which is great, but there are still a couple of things we can do.

Namely, let’s adjust the menus:

From the WordPress dashboard, go to Appearance → Menus. What you’ll see are your theme’s default menu settings.

How to make a WordPress website and set menus

You can customize this easily.

  • To add new menu items, select pages from the section on the left, and click on the Add to Menu button.
  • To realign the menu items, drag and drop them into place.
  • To remove menu items, click into a thing that you want to delete and then click on Remove.
  • To change the location of the menu, adjust the presets in the Display location section at the bottom.
  • For further customization, consider creating a sticky menu. A sticky menu will stay in place as your users scroll through your pages.

Click on Save Menu when you’re done.

Consider starting a blog

A blog can be an excellent way to attract new visitors to your website and ultimately get more eyeballs looking at your business.

From a technical point of view, starting a blog with WordPress is more than simple. Or, to be more accurate, you already have a blog functionality integrated into WordPress from the get-go.

💡 WordPress was initially created to serve as a blogging tool, and only later on evolved into a fully-fledged website platform.

To create new blog posts, from the WordPress dashboard, go to Posts and click on Add New. You’ll see the same interface you saw when working on your standard pages.

new post

Simply type in your content, add a title, and click on the Publish button when you’re done.

👉 Building a successful blog is about much more than just writing up new posts and publishing them. If you want to learn how to dominate, read this guide – these are our tips on how to get from 0 to 400,000 blog readers a month.

Create dummy blog posts in bulk

While getting a new WordPress website rolled out, having some dummy blog posts for early testing can be useful.

The fastest way to create those is via WP-CLI.

To start, you can use a command I shared earlier:

wp post generate --count=10

This creates ten empty posts.

But if you want to do something cooler, you can use this:

curl | wp post generate --post_content --count=10

This one creates ten posts, but this time each one has four paragraphs of dummy text in it.

Need 100 posts? No problem. Need ten paragraphs instead of 4, no problem. Just adjust the parameters.

Bonus: All WP-CLI commands in one place

We’ve gone through loads of different WP-CLI commands along the way as we were making a WordPress website. Here they are all in one place, save them for future use:

(In case you need explanations of what these commands do, please refer back to the previous sections in this guide.)

wp core download

wp config create --dbname=YOUR_DATABASE_NAME --dbuser=YOUR_DATABASE_USER --prompt=YOUR_P4SS
wp db create
wp core install --title="SITE TITLE" --admin_user=ADMIN_USER --admin_password=ADMIN_P4SS

wp plugin delete hello

wp comment delete $(wp comment list --format=ids)
wp post delete $(wp post list --post_type='post' --format=ids)
wp post delete $(wp post list --post_type='page' --format=ids)
wp site empty
wp site empty --uploads

wp plugin install PLUGIN_SLUG
wp plugin activate PLUGIN_SLUG

wp theme install THEME_SLUG
wp theme activate THEME_SLUG

wp rewrite structure '/%postname%/'
wp option update blog_public 1
wp option update blogname "Your site name"
wp option update blogdescription "Your site description"
wp option update default_comment_status closed
wp option update default_ping_status closed
wp option update timezone_string "America/New_York"

wp user create john --role=author

wp post create ./PAGE-CONTENT.txt --post_type=page --post_title='PAGE FROM FILE'
wp post create ./about.txt --post_type=page --post_title='About'
wp post create ./contact.txt --post_type=page --post_title='Contact'
wp post create ./privacy.txt --post_type=page --post_title='Privacy Policy'

wp post generate --count=10
curl | wp post generate --post_content --count=10

Conclusion on how to make a WordPress website

That’s it; our path to learning how to make a WordPress website efficiently is done!

The cool thing about this process is that it’s repeatable and can be applied over and over again, no matter what type of WordPress website you’re working on.

That said, getting your website online is just the start of the journey for most users. Getting people to find the website and then keep coming back to it is a whole different challenge.

Here are some of our other guides that help tackle this:

I hope this resource has been helpful. If you’ve enjoyed it, consider sharing it with someone who might find it helpful too.

Video version of this tutorial

Here’s a video walk-through of the steps required to make a website on WordPress.

Don’t forget to join our crash course on speeding up your WordPress site. Learn more below:

Yay! 🎉 You made it to the end of the article!
Karol K

Inline Feedbacks
View all comments

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!

Would love your thoughts, please comment.x

Most Searched Articles

Best JavaScript Libraries and Frameworks: Try These 14 in 2024

In this post, we look at the best JavaScript libraries and frameworks to try out this year. Why? Well, with JavaScript being available in every web browser, this makes it the most accessible programming language of ...

20 Best Free WordPress Themes for 2024 (Responsive, Mobile-Ready, Beautiful)

If you're looking for only the best free WordPress themes in the market for this year, then you're in the right place. We have more than enough such themes for you right ...

12 Best WordPress Hosting Providers of 2024 Compared and Tested

Looking for the best WordPress hosting that you can actually afford? We did the testing for you. Here are 10+ best hosts on the market ...

Handpicked Articles

How to Make a WordPress Website: Ultimate Guide for All Users – Beginners, Intermediate, Advanced

Many people wonder how to make a WordPress website. They’ve heard about WordPress, its incredible popularity, excellent features and designs, and now they want to join the pack and build a WordPress website of their own. So, where does one get ...

How to Start an Ecommerce Business: Ultimate Guide for 2024

Is this going to be the year you learn how to start an eCommerce business from scratch? You’re certainly in the right place! This guide will give you a roadmap to getting from 0 to a fully functional eCommerce business. ...