Most guides about building WordPress sites put me to sleep. They’re long, confusing, and loaded with useless extras that are not needed in practical situations. 🤷♂️
Not this one.
In this post, I’ll show you exactly how to make a WordPress website – no fluff, no fancy jargon. Beginners get clear steps from scratch. Intermediate users find tips to make their work easier. Advanced folks unlock expert tweaks and god-tier workflows. It’s all here!
You won’t need special skills or pricey tools, just your computer and an hour or two.
Let’s start building your WordPress site today! This is a “choose-your-own-adventure” kind of guide:
Which of these personas sounds most like you?
🌱 I’m a beginner working on my first website
🏎️ I know the basics of how to make a WordPress website, but I want to speed up the process
💪 I’m a developer / power user and want to improve my workflow making multiple WordPress websites
☝️☝️☝️
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 to build 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 for 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 43.4% 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. There’s more than 13,000+ free themes available in the official directory alone.
- 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:

A platform that’s used by top brands + huge popularity + great community + installable design packages + plugins + cheap hosting + versatility = awesome website!
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
wpshout.com
. - 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.

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.
- Best cheap WordPress hosts compared – we’ve kept this post up to date for more than five years
- Results of our WordPress hosting survey – this is what real users think of their hosts – learn who’s the most recommended host here
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:
This is one of the few companies officially recommended by the WordPress team themselves.
Bluehost is also one of the cheapest hosts out there to get started with. The plans start from $1.99 / 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.
This entry plan with Bluehost is good for up to ~40,000 visits per month, plus you get 10 GB of disk space to use up.
SiteGround is a bit more expensive, starting from $2.99 / month. What you do get in exchange is arguably the best customer service in the business and more WordPress-specific features and optimizations.
SiteGround has been long known in the industry as many peoples’ go-to host for WordPress. Oh, and there’s a free domain bundled in for the first year as well.
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, again, 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 $1.99 / 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 Now button. Pick one of the plans available – most likely the cheapest one, called Basic – $1.99 / month.

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

The next steps are about providing some personal information to finalize the setup and confirming the parameters of the plan you’ve chosen.

At the end, you also have to enter your payment details. To get the low price of $1.99 / month, you’ll have to pay for one year upfront. You can see what it costs in the screenshot above.
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.

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 Continue.

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:

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.
- The extras that SiteGround will try to upsell you on are not required. You can ignore them.
Finish the form and complete the payment.
Installing WordPress on any 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 Websites, and then clicking on the Add Site button.

Bluehost will ask if you’re creating a new site or transferring over an existing one:

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 site.
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 Websites. You should see your website listed there, alongside a WordPress Admin button. You can click on it to enter your WordPress dashboard.

Alternatively, you can add a website by clicking on New Website (screenshot above) and then following through the prompts to complete the setup.
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, Bluehost, 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_db_name --dbuser=your_db_user --dbpass=your_db_password --dbhost=localhost
- 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 --url=YOUR_DOMAIN.com --title="SITE TITLE" --admin_user=ADMIN_USER --admin_password=ADMIN_P4SS --admin_email=YOUR@EMAIL.com
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 or TOOLS section. Click on the WordPress logo to begin:

On the next screen, you should see an Install Now link. Just give that another click:

Next, you’ll need to enter details for your WordPress install.
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:

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 as we did when installing WordPress, using WP-CLI is the most effective and fastest way to configure a new site.
Here are some basic commands you can use:
wp plugin delete hello
- gets rid of the hello plugin
wp theme install THEME-SLUG --activate
- installs and activates a theme
wp plugin install PLUGIN-1 PLUGIN-2 --activate
- installs and activates multiple plugins in one go
Example use:
wp plugin install advanced-custom-fields code-snippets redirection --activate
wp site empty
- deletes all posts, pages, and comments from a site – a nice way to make sure no default content stays on your site after installation
wp site empty --uploads
- deletes everything from the uploads directory as well
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:
- Start by setting up a template site on a test server.
- Take care of the basic site settings that you prefer. This involves permalinks, search engine visibility, comment and pingback/trackback settings.
- 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.
- Install your favorite theme – but only if you use it on all sites.
- Pre-configure the plugins and theme.
- Assign the must-have widgets, if any.
- Import some dummy content to blog posts.
- Create the must-have pages. Pages like About, Contact.
- 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 YOURDOMAIN.com/wp-admin/
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:

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.
Next:
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:
Set permalinks
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:

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. ❗

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 author_username author@example.com --role=author --user_pass=yourpassword wp user create editor_username editor@example.com --role=editor --user_pass=yourpassword
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
Or:
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:

And here’s what it can look like after installing a new theme and spending a couple of minutes customizing it:
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.

Switch to the Popular tab.

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:

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.
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.
Here’s part of Neve’s selection:
Pick a design you like and click on it. You’ll be shown a simple panel for some added customization and an option to import the design at the bottom:

As soon as you click that Continue button, Neve will fetch the entire design and import it to your site. It takes roughly 30 seconds of wait time to get it all done. After that, your whole website will have its new look ready!
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.

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:

- Antispam Bee: A free, powerful spam protection plugin that blocks spam comments and offers advanced filtering options without needing a premium version.
- Contact Form 7: A widely-used plugin for creating and managing customizable contact forms, integrating with CAPTCHA for spam reduction.
- LiteSpeed Cache / WP Fastest Cache: Essential caching plugins that improve site performance by storing static versions of pages, speeding up load times and enhancing user experience.
- iubenda: A plugin that simplifies creating and managing cookie and privacy policies, automatically updating them based on site elements.
- Optimole: An all-in-one image optimization tool that resizes, compresses, and delivers images via a CDN, with lazy loading and device-specific optimization.
- Otter Blocks: Enhances the WordPress Block Editor with additional templates, patterns, and WooCommerce-focused blocks for advanced site customization.
- Really Simple Security: Automatically configures your site to run on HTTPS – with an SSL certificate, ensuring secure connections and resolving mixed content issues.
- SEOPress: A comprehensive SEO plugin offering meta tags, sitemaps, content analysis, and Google Analytics integration for improved search engine visibility.
- UpdraftPlus: A backup and restoration plugin that allows scheduled backups to remote locations, ensuring quick recovery from data loss.
- Admin and Site Enhancements (ASE): Improves the WordPress admin area with features like dashboard customization, REST API disabling, and login attempt limits.
- Advanced Custom Fields (ACF): A developer-friendly plugin for adding custom fields to WordPress edit screens, enabling tailored content management workflows.
- AutomatorWP: Automates WordPress workflows by connecting plugins and triggering actions based on user activities, similar to Zapier.
- Simple History: Logs and displays recent changes in WordPress, including post edits, logins, and plugin-specific actions, for easy tracking.
- WP Reset: Quickly resets the WordPress database to its default state, with options to create and restore snapshots for easy site recovery.
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:

Either browse through the lists of Featured or Popular plugins, or enter the name of the plugin you want into the search field:
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.

⚠️ 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, plus a couple more probably.
You most likely 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, for example:
wp plugin install advanced-custom-fields code-snippets redirection --activate
This single line alone will install three popular plugins and activate them in one go.
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:
Admin and Site Enhancements (ASE)
Improves the WordPress admin area with features like dashboard customization, REST API disabling, and login attempt limits. In my view, this is the plugin that Jetpack always wanted to be.
Do I even have to advertise this one to you? It’s the best solution out there for adding custom fields to WordPress edit screens, enabling tailored content management workflows.
Logs and displays recent changes in WordPress, including post edits, logins, and plugin-specific actions, for easy tracking.
Lets you quickly reset the WordPress database to its default state, with options to create and restore snapshots for easy site recovery.
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.
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.
To start, go to your homepage and click on the Edit Page link up top:

This will land you in the WordPress editor. You can edit any element that’s on the page in either of two ways:
(a) Click on an element and start working on it right there – for example, by entering new text:
(b) Click on an element and take a look at the right sidebar. The element’s additional settings will appear there. Like so:

No matter which block on the page you select, you’ll always see some extra settings to the side.
But you can do a lot more.
Want to replace any of the images on the page? Easy, simply click on an image and then on Replace:

Want to add new elements to the page? New images? New headings? New quotes? To add any of those and more, click on the plus icon in the top left corner.

You’ll see a selection of available blocks:

You can add any of these blocks by grabbing it in the sidebar and dragging it onto the page.
And, last but not least, you can also pick from entire groups of blocks that come together to form elements like hero sections, team sections, testimonials, and more. To see what’s available, click the plus icon again (the same you used to add new blocks), but this time switch to Patterns:

…
After completing the steps above, your website will start to feel truly yours. You’ll have made all the necessary tweaks and customizations to align it with your brand.
👉 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.

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.

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 --post_content="$(cat SOME_PAGE_TEMPLATE.txt)" --post_type=page --post_title='Page Title'
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 --post_content="$(cat about.txt)" --post_type=page --post_title='About Us' wp post create --post_content="$(cat contact.txt)" --post_type=page --post_title='Contact' wp post create --post_content="$(cat 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:
One way you can do it is by visiting the Customizer again by going to Appearance → Customize. From there, go into Menus. You will see a list of all the menus on your site. Click on the page that’s labeled “Primary Menu,” like so:

You’ll see another panel where you can add links to your menu or delete current ones. Click on Add Items and then pick the pages that you want in your menu:

As always, when you’re done, click on Publish up top. You will see your new pages in the menu:

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.

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.
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 http://loripsum.net/api/4 | 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 --url=YOUR_DOMAIN.com --title="SITE TITLE" --admin_user=ADMIN_USER --admin_password=ADMIN_P4SS --admin_email=YOUR@EMAIL.com wp plugin delete hello wp site empty wp site empty --uploads wp plugin install advanced-custom-fields code-snippets redirection --activate wp theme install neve-fse --activate 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 author_username author@example.com --role=author --user_pass=yourpassword wp user create editor_username editor@example.com --role=editor --user_pass=yourpassword wp post create --post_content="$(cat about.txt)" --post_type=page --post_title='About Us' wp post create --post_content="$(cat contact.txt)" --post_type=page --post_title='Contact' wp post create --post_content="$(cat privacy.txt)" --post_type=page --post_title='Privacy Policy' wp post generate --count=10 curl http://loripsum.net/api/4 | 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. But that’s maybe a topic for another time.
I hope this resource has been helpful. If you’ve enjoyed it, consider sharing it with someone who might find it helpful too.
…
Don’t forget to join our crash course on speeding up your WordPress site. Learn more below: