This WordPress tutorial covers exactly how to build a WordPress website from scratch for beginners.
Because here’s the problem: you are looking to start a WordPress website for your blog, business, portfolio, store, or forum – but the idea of messing with computer code, databases, or software sounds a bit daunting.
The good news is that setting up a WordPress website is straightforward (even if it’s not as “easy” as a social media account). While there is some learning curve, running it afterward is straightforward as well (see this guide to try it yourself). Unlike website builders, you own your site and it can grow as your site grows. Here’s how to set up a WordPress website in only 4 steps.
- Get A Domain Name – You will need something for people to type into their browser to get to your website. You’ll learn exactly where and how to purchase it and point it in the direction of your website.
- Get Web Hosting – You will need somewhere for your new website to live. You’ll learn exactly how and where to purchase it from a web host and set it up.
- Install WordPress – Your website needs software to “power” it. And nothing beats WordPress nowadays. Originally known as WordPress blog software in the early 2000s, it is now mature general website software. You’ll learn exactly how to set up a WordPress website safely, securely (with the 1-click install!). Note that this is the free self-hosted WordPress software not the paid WordPress.com service – which is a hosted website builder itself that uses WordPress software.
- Design + More Information – WordPress makes it easy to have a professional-looking website – and has the ability to become whatever you want it to be. You’ll learn exactly where and how to learn everything you’ll ever need to know about WordPress and doing WordPress website setup.
How To Setup Hosting For Self Hosted WordPress Website + Domain
A domain name is simply what people type into their browser to get to your website (ie, www.shivarweb.com). A hosting account is simply a computer server where your website files live.
Here’s how to buy and set up both…
How To Purchase A Domain Name
Note – if you already own a domain name, you can skip down to How To Setup Hosting For WordPress.
I recommend purchasing your domain separately from your hosting provider if you want to save money over the long term and make things easier for yourself in the future.
Hosting and domain registration are two different activities – and usually, companies only do one well (and at a good price). When you purchase separately, you not only get better pricing & management, you also get the benefits of diversity and not having all your eggs in one basket so to speak.
On the flip side, hosting companies usually offer 1 year of domain registration for free and have maximum convenience. If you are trying to save money, and don’t foresee moving your site around, by all means, do it all in one place. I’ll cover that option as well in the guide.
Here’s where I’d recommend purchasing domains from…
Focused on the most convenient option?
Go to your domain registrar (or recommended host below) and search for the name you want, and proceed through the checkout. You do not need any upsells. You can get everything you’ll need from your hosting provider.
Once you have your domain name, we need a hosting server to “point” it to.
(Note – you do not need to transfer the domain itself to your hosting company. I’ll show you how to “point” it).
How To Set Up Hosting For WordPress
Choosing a good web hosting company is critical for your website. Web hosting companies tend to make things way too confusing with useless feature overload, short-term discounts (then expensive long-term prices), and over-promising customer service. They also create confusing offers like “WordPress hosting” – even though usually WordPress hosting is no different than standard web hosting*…only with layered limits and higher prices.
**There are true WordPress hosting plans out there with advanced features like a staging environment, custom web server options, etc. I explained WordPress hosting in this article.
There at hundreds of web hosting companies on the Internet. There is no such thing as an “overall best host” – only the best for you & your situation. Since you are reading this guide, I’ll make a few assumptions (ie, performance needs, budget parameters, etc) based on reader emails & professional experience. If you want to take a quiz – you can do that here.
Otherwise, here’s the 3 companies that I usually end up recommending to DIYers. You can also read my web hosting reviews if you’re interested.
Best Hosting if you want…
Focused on specific options?
Step 1. Choose the hosting plan that fits your current goals.
First, most all hosting plans are 3 tier. The low tier usually has some sort of cap and the high tier has some sort of bonus. Consider value for yourself rather than overall value. Unless you run a photo or travel blog, you likely won’t need a ton of storage.
Same with plans for multiple websites. Hosting multiple websites on one account is a real value compared to website builders…but there’s no reason to over-purchase. You can read further in my Web Hosting Explained post. Note below how InMotion’s plans are structured. All are a great value… but only if you need what is listed.
InMotion Hosting Plans
|Storage||10 GB||50 GB||100 GB||100 GB|
|Bandwidth (per month)||unlimited||unlimited||unlimited||unlimited|
|Free Domain Name||1 year||1 year||1 year||1 year|
Second, note again that WordPress only needs shared Linux hosting to run. You don’t necessarily need “WordPress hosting” – in fact, some companies just one product – shared web hosting – and just refer to it differently depending on the focus of the sales page. Note how Bluehost’s links all go to the same purchase flow and setup wizard.
|Bandwidth (per month)||unlimited||unlimited||unlimited||unlimited|
|Free Domain Name||1 year||1 year||1 year||1 year|
Whatever your goals or resources, I do recommend going ahead and getting started. Usually, it’s hard to know *exactly* what you need until you’ve done it yourself.
Every hosting provider has a long money-back guarantee (InMotion’s is 90 days), and all of them make it fairly easy to upgrade or downgrade.
Step 2. Purchase your plan & select your hosting options.
The rest of this guide will use screenshots from Bluehost due to their broad appeal, pricing, and recent purchase flow & setup wizard redesign that makes WordPress setup even more straightforward than usual. They assume you’ll be running WordPress unless you decline it.
But the signup & setup process is very similar for InMotion, SiteGround, and even HostGator. All use industry-standard cPanel for hosting account management, and all have WordPress auto-install tools.
I receive commissions from all these companies for customer referrals. Your clicks make keeping this guide fresh & updated worthwhile in addition to providing you with access to a year-round discount.
Next, you’ll need to either search for a new domain, use a domain that you’ve already registered, or create a new domain later and use a temporary address.
Choose the one that makes sense for you. Bluehost does offer a free domain for a year before renewing at retail. Otherwise, type in the domain that you purchased earlier into the box.
Then, you’ll create your Bluehost billing account. You can use your Google account for convenience. However, if you ever need to hire a consultant or friend or simply change your Google information…it can create headaches. I recommend creating a regular account from scratch.
Next, you’ll choose your package length. The longer that you commit for, the better your monthly pricing.
Neither Bluehost nor InMotion or SiteGround do a ton of upsells. But they do offer a few. The deals are usually alright, but they aren’t necessary. In fact, you can get the same deals later or find a better option after setting up your website. I recommend unchecking all of them.
Finally, you’ll type in your credit card and agree to the terms of service and purchase.
Success! Now you can create your Bluehost hosting account.
Step 3. Access your account & technical details.
Your Bluehost hosting account will be different from your billing account. Your primary domain name will be your username, and you’ll need to create a password. Be sure to make it strong. If any hacker tries to get a password – it’ll be this one.
Take that username and password to login.
Ok – now the screen requires a bit of background.
First, Bluehost is assuming that you’ll want WordPress. An automatic WordPress installation can be customized to save some setup time. That’s what this screen is for. It’s totally optional.
Third, like 3rd party software, it’s actually simpler & provides more options to add a WordPress plugin & WordPress theme after you install & set up your site.
So, feel free to fill out the questionnaire, but also feel free to skip for now. You can undo any mistakes easily later no matter what route you take.
After this screen, you’ll land on your Bluehost hosting dashboard. If you bought your domain with them, then you can skip to down to Install & Configure WordPress.
If you bought your domain at a 3rd party, then we’ll move to Step 4 to connect your domain with your website.
Step 4. Add Nameservers to your domain name & confirm the connection.
Before you do anything else, head over to the Domains section of your Dashboard.
Then, go to Manage –> DNS. You do not need to transfer your domain registration to Bluehost. Remember, the whole point of registering your domain elsewhere is so that if something were to happen, you can quickly move your website somewhere else.
Next, copy Bluehost’s name servers. They should be ns1.bluehost.com and ns2.bluehost.com – then take them to your registrar.
At your registrar, paste those name servers into the DNS nameserver fields and save. Here’s what it looks like at Namecheap.
And here’s what it looks like at GoDaddy.
It may take a couple of minutes for your DNS records to “propagate” throughout the Internet. But once they do, anytime someone types in your domain name, they’ll get routed to your website on your hosting account.
How To Install and Configure WordPress
So now that we have an address and a place for our website to live, we can dive into how to set up a WordPress website on the server. WordPress is going to be the software that powers your website. But before it can power your website – it needs to be installed & configured on your hosting server.
Installing WordPress With QuickInstall
While you can certainly install WordPress manually, Bluehost (and others mentioned) has an excellent, free, secure tool that automagically installs WordPress on your account. In fact, as I mentioned before, Bluehost assumes you want WordPress when you purchase a plan unless you tell them you don’t.
Step 0. WordPress Install Background
Even though you no longer have to “install” WordPress on your hosting account in a technical sense. It is definitely worth briefly understanding how it’s installed before configuring your new site.
First, your hosting account has a nice, clean Bluehost dashboard that sort of lives on top of traditional cPanel software that manages your hosting account. You can find it under the Advanced tab. You don’t need it now, but you will need to find it in the future.
Second, WordPress is PHP (a computer language) based software that requires a MySQL database. Installing WordPress basically means installing software files and pointing them to the right database. Within cPanel, there is usually a “Softaculous” or “QuickInstall” app that will quickly install both for your if you ever want to go the more manual route in the future. Otherwise, cPanel is where you can go to find your *actual* database & files (ie, your WordPress folder) for future reference & support issues (or FTP client access).
Now, let’s go back to the main WordPress admin Dashboard and start configuring your WordPress software so that you can actually build your website.
Step 1. Understand the existing WordPress Install.
On your hosting account admin dashboard, you actually have a few links that all go to different parts of your same WordPress dashboard.
The Launch My Site simply turns off a pre-installed maintenance mode plugin that creates an “under construction” landing page that will hide your live site from visitors while you build.
And all the “Recommended” checkboxes go to different parts of your WordPress install (like themes, menus, widget options, etc). And the giant blue WordPress button just goes straight to your WordPress Dashboard.
Now, all this may be confusing…but it’s actually pretty good for a hosting company.
At this point in the signup, it’s very easy to get overwhelmed because *you* have to start making decisions. Bluehost and other hosting companies put all these links to make it easier…but they also tend to create some overwhelm.
So, I like to first focus on configuring my basic WordPress core setup so that I’m familiar with the product and can make my own decisions.
Think about it like when you walk into a new hotel room and you just wander around, turning on faucets, opening doors, pulling back curtains, etc to familiarize yourself with the space before unpacking.
I recommend clicking the big blue WordPress button to go to your Dashboard. As long as you don’t “Launch Your Site” – WordPress will show a Coming Soon landing page to any snooping Moms, friends, or Googlebots.
Your first encounter with your WordPress Dashboard is going to be like stepping into a furniture store on Black Friday. So much helpfulness…that it’s not helpful at all. But that’s ok – and pretty normal for really any hosting company. It’s also the “price” of the automagical install tool.
Just ignore all everything and go to Plugins.
Then, deactivate everything except the Bluehost plugin, which will provide quick access to the Bluehost hosting dashboard. Your WordPress Dashboard will quiet down now so that you can explore.
The next stop is your Users tab. Go ahead and edit your username with a new password. Copy your WordPress username & password so that you can login to your website directly at yourwebsite.com/wp-admin without going through Bluehost.
Now, for all intents & purposes, your WordPress website is setup & ready to customize to your liking. Everything you build & do will be hidden from the public until you turn off the maintenance plugin.
If you turned it off immediately, you could see your site publicly anywhere with the default WordPress starter theme and no plugins. It would be completely functional and ready to go.
Now, you obviously envision a website that’s more built out than a brand new WordPress install. But that’s going to be a different guide. There are a few options that people use.
The first option is that you’ll use a free or premium theme to create a design and layout to your liking. You just buy the theme and install it in your theme folder. Browse my blog post with premium theme options or the official WordPress theme directory. This route can cost money but usually has the best result.
The second option is that you can hire a WordPress developer to create a custom WordPress theme. This result has good results if you buy from vetted WordPress theme development vendors on a marketplace like Fiverr.
The third option is that you can buy a WordPress page builder plugin that will allow you to drag & drop a design for your custom theme. Some will also provide a unique page template or custom post type or child theme for your WordPress site.
If this jargon sounds daunting, check out my guide to WordPress themes. I promise it’s not complicated once you try it.
And you’ll want to add functionality with plugins (ie, a contact form). Plugins come as a zip file, but you can install plugins directly in the WordPress dashboard. I’ve written about the most common types of plugins here.
But more than anything, you’ll want to browse around your Dashboard and understand your settings. You own a digital version of a house, rather than a digital version of an apartment. Even though you have some learning curve, it will be worthwhile given the freedom & versatility you’ll have.
The next guide shows with videos how to evaluate your WordPress dashboard & settings before moving to themes, plugins, setting your blog page, etc.
Also, explore guides to setting up specific types of websites: