Have a brilliant business idea?
Whether you want to be a business owner or a blogger, you will definitely need a website or self-hosted blog.
A site is like a home in the digital space. Where you house your products, services and blog articles. It’s a place where you tell people who you are, what you do and what you can offer them.
By setting your website or blog correctly from the start, that is already half the battle won. And you’re making a great leap towards success!
Here is a step-by-step guide to building your site from scratch:
Disclosure: Some of the links below are affiliate links. I will earn a small commission, at no extra cost to you, if you purchase through these links. Your support encourages me to continue blogging and help with the costs of hosting this site. Thank you!
1. Buy Domain
The first thing you need to do is buy your desired domain.
Unlike web hosting or web design where you can change hosts and themes easily, you can’t change your domain as and when you like.
When you change your domain, you might wipe out all the SEO and domain authority you’ve built. Plus, your brand name is already etched in your customers’ minds.
So think carefully about your domain name because it will stick with you forever.
Check out this article on how to choose the perfect domain name and 5 solutions if it’s taken.
Now head over to a domain registrar that is accredited by ICANN.
I bought my domain at Namecheap, a reputable domain registrar with many positive reviews. And also because its interface is more user-friendly.
1a. Double Check Spelling
Always double check the spelling of your domain!
Whether it’s ‘I’, ‘l’ or ‘1’. Whether it includes ‘s’. Whether it’s .com, .net or .org.
1b. Choose Number Of Years
10 years has the most savings. But obviously, not everyone will buy this.
First, you don’t know whether your business will be profitable or whether it will break even. So asking to commit 10 years into this uncertain business is difficult.
Second, even if it’s profitable, you can’t be sure that you still have the passion, energy or time to continue this business. Life might get in the way.
A better way is to make this the same as your hosting years. So it’ll probably be 1 to 3 years.
In addition, most domain registrars also offer a first-year or 1-year discount. You can always buy a 1-year domain registration then add more years.
1c. Choose Whether To Buy WhoisGuard
There are many domain name lookup tools available where people can find out the contact details of a domain owner.
Meaning that your contact details can be found on the internet.
WhoisGuard is a privacy protection service that prevents people from seeing your contact details.
For example, when you do a domain name lookup on my site, you will see this:
My contact details have been hidden to protect me from potential spam.
But just because I have WhoisGuard enabled doesn’t mean you should too.
I chose to enable WhoisGuard because I want to remain anonymous.
But if you have a business email address and office location (and not your own home like me), you shouldn’t enable WhoisGuard because these contact details make you more credible and assure customers that you’re a legitimate business.
Get WhoisGuard if you
- Want to remain anonymous
- Want contact details (name, physical address, email address, contact no.) hidden
- Don’t mind ICANN seeing your domain registrar as the owner
Don’t get WhoisGuard if you
- Want to appear more credible
- Are a legitimate business with business email address & office location
- Want ICANN to see you as the owner
Update: WhoisGuard Privacy Protection is now FREE forever! For both Namecheap’s new domain registrations and existing domains.
1d. Choose Whether To Buy PremiumDNS
I personally didn’t buy PremiumDNS because I’m using my web hosting’s DNS. Plus, I feel that the free DNS is good enough.
I will show you later how we’ll use the web hosting’s DNS rather than the domain registrar’s DNS.
1e. Choose Whether To Auto-Renew
You can also choose to turn on Auto-Renew.
Meaning that Namecheap will help you to automatically renew your domain as well as WhoisGuard and PremiumDNS.
This is especially useful if you tend to forget things. And buying back a domain is way more expensive than renewing.
1f. Choose Add-Ons
Choose whichever add-ons you’ll need.
I didn’t get any because I bought my web hosting from SiteGround. Plus, SiteGround also provides free SSL.
1g. Apply Coupon Code
If you have any promo code, remember to apply the code to get discount.
1h. Verify Your Email Address
Important: Required by ICANN, as part of its Whois verification process
After you confirmed your order and bought your domain, you will receive an email with the subject ‘IMMEDIATE VERIFICATION required for [domain name]’.
I’m not sure if it will appear in your spam/junk folder. But if it does appear there, know that this is NOT spam or junk.
You must confirm your email address by clicking on the verification link in the email within 15 calendar days after registration. If you do not, your domain will be suspended.
You will also receive this email when you make changes to your contact information for existing domains. You will have 7 calendar days to verify your email.
Check out the FAQ that states the specific details (including the sender email address and the verification link URL).
2. Buy Hosting
Buying a domain only means that you own that URL. It doesn’t mean that the site is up.
You will need web hosting so that URL is accessible. Web hosting companies also provide the technologies and services needed for the site to be viewed on the internet.
Sure, you can buy both on Namecheap. Any other web hosting company also allows you to buy domain from them. But it’s better to buy your domain and web hosting from different providers.
Because if your web hosting account gets compromised, your domain will be compromised too since they use the same username and password. Plus, the dashboard itself allows the hacker to manage both the domain and hosting. And you never know what he’ll do to them.
However, if you buy your domain and web hosting separately, your domain is likely to be safe and you will still own it. Because you bought it from another company and perhaps, use a different username and password too.
Plus, you won’t feel compelled to continue using the terrible hosting from that company just because you bought your domain from them. Don’t be tied down to the same company! You can always transfer your hosting if you’re not satisfied with your current web hosting provider.
After much research, I decided to go with SiteGround because of its fantastic customer service. They reply to your support ticket within minutes! Which is great for tech noobs like me. Plus, their web hosting plans have many features including free SSL certificates (so your site becomes https) and Cloudflare CDN (which makes your site load faster).
2a. Choose Hosting Plan
When you visit any web hosting provider, they will offer you a few plans.
Do read through them and choose the one most suitable for your needs.
For instance, SiteGround offers 3 plans:
I recommend that you choose…
- Best if you just started your business or blog
- Only intend to have 1 website
- Don’t expect huge traffic (<10,000 visits monthly)
- Intend to have more than 1 website
- Need premium speed and backup
- Expect decent traffic (~25,000 visits monthly)
- eCommerce website that requires PCI compliance
- Need staging tools
- Expect huge traffic (~100,000 visits monthly)
Even though I only have one website, I chose GrowBig because it has double web space of StartUp and allows all 3 levels of SuperCacher (boost loading speed).
Check out my review of SiteGround~!
2b. Choose Data Center
Some web hosting providers will allow you to choose the location of the data center (where servers are located).
On instinct, you might choose the data center nearest to you or your business location.
You should choose the data center that is closest to where your customers are. This way, the site loads faster for them.
For instance, even though I live outside the United States, I chose a data center that is in United States where most of my readers are located.
2c. Choose Number Of Years
You will then be able to choose among 1-year, 2-year or 3-year hosting plan.
If you just want to test a business idea or is unsure whether you can commit for a long time, the 1-year plan would be suitable.
However, I highly recommend that you choose the 3-year plan instead because…
i) Most savings in the long term
ii) It takes time to build traffic
If you’re blogging, it takes about 6 months to 2 years before SEO kicks in and your organic traffic increases.
iii) It takes time to break even & make profit
The same applies to a business. It might take a while to break even. Then, even more time to make a profit.
Geraldine, for instance, never broke 100 visits per day for 2 years. And this is where most people would have given up. But she didn’t. Now, she gets 100,000+ visits each month.
Therefore, 3 years is just enough to test and find out whether your business idea works. But you also will need to have passion and discipline to work on this site for 3 years.
2d. Choose Add-Ons
Most web hosting companies will offer you a few add-ons.
So did SiteGround which offered me SG Site Scanner (malware detection and early warning system).
These add-ons are optional and it’s really up to you. Whether you think you’ll need it.
But you should read up more about them to see whether they’re effective.
I didn’t opt for SG Site Scanner because I’m using a security plugin.
3. Point Your Domain To Your Host
Once you log in to your web hosting, you might be greeted with an account setup wizard that will guide you in setting up your account.
I chose not to get help because I wanted to set it up correctly and customize the WordPress installation myself.
But the first and also most important thing that you need to do is to point your domain to your host.
3a. Go To Your cPanel & Copy Name Servers
Log in to SiteGround, click on the My Accounts tab then click on Go to cPanel button.
Now, copy the Name Servers under the Account Information at the top-left corner.
3b. Go To Your Domain & Paste Name Servers
Open a new window or tab and log in to Namecheap.
You should be greeted with a list of your domains. If you don’t, click on Domain List at the left menu.
Click Manage next to the domain that you want to point SiteGround to.
At the Nameservers section, choose Custom DNS then paste the information you copied earlier.
4. Set Up SSL (change from http to https)
All SiteGround plans come with free Let’s Encrypt SSL certificates. So your site can be run over a secure connection.
Return to your cPanel and click on Let’s Encrypt under the Security section.
You will then see your domain listed. Simply click on the HTTPS Enforce to turn it on and you’re done!
If you encounter any errors, you can send a support ticket. I did when I set this up and SiteGround’s tech support team was fast and helpful (and very knowledgeable). They even pointed me to a site to check that my SSL certificate is working.
5. Install WordPress
At the cPanel, click on WordPress under Autoinstallers or WordPress Installer under WordPress Tools.
Click on the Install tab and you’ll be greeted with a form. Here are some important points to note:
- Protocol: You can choose among http://, http://www, https:// or https://www
- Site Name
- Site Description
- Admin Username: Do not use the default ‘admin’! Change it to something else. Best if it’s different from your website name cause hackers will probably try this if admin doesn’t work. (You can always add another WordPress user with a username that is similar to your brand name)
- Admin Password: Do use something difficult with numbers and symbols!
I didn’t opt to install any plugins or themes. For example, the security plugin I installed not only limits login attempts, it also blocks attacks and scans my site.
6. Enable Caching
SiteGround’s plans include SuperCacher which increases the number of hits a site can handle and boosts the website loading speed.
Go to your cPanel and click on SuperCacher under the Site Improvement Tools section.
If you’ve chosen the StartUp plan, you will only be given the Static Cache option.
On the other hand, GrowBig and GoGeek plans will be offered more caching options:
- Dynamic Cache
- Google PageSpeed
HHVM is only available for Cloud hosting accounts.
I chose Dynamic Cache because my site is WordPress-based.
Just turn on the caching option for your domain.
If your web hosting doesn’t have such caching tools, you can always download a caching plugin.
7. Enable Cloudflare CDN
CDN stands for Content Delivery Network.
As its name suggests, CDN caches a site’s content and distributes it over multiple data centers. It then delivers the content from the closest data center to your visitors. Simply put, it helps your site load faster in any part of the world!
Cloudflare CDN has a network of 100+ servers worldwide. In addition, it protects your site by identifying and blocking malicious traffic. Even protecting your site from spammers, excessive bot crawling and DDoS attacks. Check out all other benefits you get when implementing Cloudflare CDN!
Bear in mind that you can only enable Cloudflare CDN when your site is accessible with www.
7a. Activate Cloudflare CDN
Again, return to your cPanel and click on Cloudflare under the Site Improvement Tools section.
Beside each of your domain, you can choose to Activate Free or Activate PLUS. Do look through their comparison table and decide based on the features you need. You can always come back to this page and upgrade from free to plus version.
Next, provide a valid email address to create a Cloudflare account.
You will then need to ensure that your site is accessible through www.
7b. Edit Your Cloudflare CDN Settings
Click on the Manage button next to your domain.
Do look through each tab and setting then change them if required.
Here are some settings that are more important:
- Railgun: Again, switch this on so that your site will load faster
- SSL Support: Choose Full Strict if your site uses SiteGround’s free Let’s Encrypt SSL certificate. Mine had an error after some time so I changed to Full instead.
If you log into your Cloudflare account, there are even more settings. This is just one of the more important settings:
- Always use HTTPS: Turn this on if you want to redirect visitors to a secure connection.
8. Edit WordPress Settings
You would have received an email in your inbox about your admin details and admin login URL.
Do bookmark that link!
And log into WordPress with that backend admin page.
On the left menu, you will see Settings. Check every single setting and change them if needed.
There are many settings so I will only highlight the important ones:
- Site Title
- Email Address
- Site Language
- Date Format
- Time Format
- Week Starts On
- Homepage: Can choose between static page or latest posts
- Blog Pages: Choose how many posts you want to show (eg. at most 10 posts)
- For each article in a feed: full text or summary
- Search Engine Visibility: You might choose to check this while you’re still setting up your website
Go through this if you’ll have a blog. There many comment settings including comment moderation.
Determine your page URL here.
Ensure that they’re SEO-friendly. Hence, try not to use the plain, day and name, month and name or numeric options.
9. Install Theme
Beautify your site’s design with a WordPress theme. There are millions to choose from where the most suitable theme would be the one that aligns with your brand image.
9a. Decide Between Free & Paid Themes
If you’re taking this as a business seriously, I recommend that you go for a premium theme.
Because this web design helps
- Set a brand image
- Establish credibility
- Reinforce trust
Try to write down a few factors that are important to you. For example,
- eCommerce integrations
- Customizability: font, color, page layout etc.
For me, a good design isn’t about how beautiful it is, but the user experience (UX). This is where you improve the usability and ease of use for your visitors.
9b. Buy WordPress Themes
There are numerous premium themes you can choose from. Just check carefully whether the theme is designed for WordPress, whether it requires Photoshop or some parent theme like Elegant Themes’ Divi or Genesis Framework.
Elegant Themes offer 87 WordPress themes and 2 WordPress plugins. Their ultimate theme, Divi, has a visual drag and drop builder. I use this actually and I love it. They also have a social media plugin and an email opt-in plugin which I’ll explain later.
If you follow their blog (you should!), they post about web design, WordPress and more. And they also offer some free Divi layouts from time to time. I’m using Girly child theme by Divi Lover though. Cause I read from Elegant Themes’ blog that it’s good to have a child theme so whenever there are updates to the parent theme Divi, the changes you made to the code isn’t erased. Besides beautiful child themes, Divi Lover also has useful plugins for icons, testimonials and Divi customizations.
Check out my review of Elegant Themes Divi~!
If you’re a CSS and PHP expert, this is the perfect theme. It offers some layout options like two-columns, left-sidebar and more. Plus, it’s search engine optimized. Note that Genesis Framework is just the base for building your website. You can code it such that it’s prettier or get one of the many child themes that build on top of Genesis.
This is a great theme which has countless positive reviews. But I didn’t choose this in the end because I’m a CSS noob and I prefer Divi’s visual drag and drop builder.
You can always go for a simpler (and cheaper) theme like those from Creative Market. They’re also beautifully designed, ranging from minimalist themes to feminine themes.
The best part? They give you 10% discount when you first join and 6 freebies every week!
Just remember to check whether your preferred theme is a WordPress theme or if any additional things are required (eg. Elegant Themes Divi or Genesis Framework).
9c. Install WordPress Theme
Under Appearance on the left menu, click on Themes then click on Add New.
Next, click on Upload Theme and just add the ZIP file.
10. Install Plugins
Plugins add more features to your WordPress site.
The question is what specific features does your site need?
These are some indispensable plugins that every site should have.
10a. Edit The Settings Of Your Pre-Installed Plugins
Click on Installed Plugins under Plugins on the left menu.
You would already have some default plugins pre-installed:
SSL & Caching Plugin: SG Optimizer
This plugin will only work if you’re using SiteGround. It’s the one that made the one-click https and on/off-toggle SuperCacher so easy! There are no settings for you to configure. Just leave it there as it is (in case you want to change to http or another caching option).
Social Media Plugin: Monarch
This social media plugin by Elegant Themes allows you to choose
Social sharing locations and networks
- I chose floating sidebar and inline below content
- All of my blog posts allow you to share on Facebook, Twitter, Pinterest and all other social networks
Social follow networks
- I added all my social network accounts: Facebook, Instagram, Pinterest and Amazon (hope they add Goodreads soon)
Email Opt-In Plugin: Bloom
Again, by Elegant Themes, this is an email opt-in plugin to help grow your mailing list. You simply add your email account so the plugin can pull in your lists. The design is also highly customizable.
You can choose to display it as a
- Widget in the sidebar or footer
- And more!
For pop-up & fly-in, you can also choose triggers like
- Timed delay
- After scrolling
- After inactivity
- And more!
Bloom’s statistics are quite in-depth. You can find out
- Which opt-in has highest conversion rate
- Which page of your site is high converting
However, I didn’t choose to activate mine because Bloom only allows 1 list at a time. Meaning, I can’t let my audience choose which list they want to join. And this is quite important for me where I have separate lists for my fiction readers, entrepreneurship readers, marketing readers and self-publishing readers.
*The above 3 plugins will not appear if your website isn’t hosted by SiteGround or if you’re not using Elegant Themes.
All-In-One Plugin: Jetpack
Every WordPress user knows JetPack where it’s pre-installed to every WordPress site (whether it’s self-hosted or a free blog). It has numerous features like site statistics, related posts, social sharing, brute force attack protection and site monitoring.
I deactivated and deleted it because I don’t use all the features. Also, I use another security plugin and I prefer Google Analytics more.
Anti-Spam Plugin: Akismet
Akismet will also be familiar to all WordPress users where it’s pre-installed to every WordPress site. This plugin helps filter spam from comments and contact forms.
It’s quite decent but if you look at its pricing page, the free plan seems to apply only for personal sites and blogs. Paid plans, on the other hand, support commercial sites.
I deactivated and deleted it because this is a commercial site.
10b. Install New Plugins
Now, let’s look at the additional plugins we need to install.
Click on Add New under Plugins on the left menu.
Security Plugin: Wordfence
There are many security plugins but after much research, I chose Wordfence due to its countless positive reviews. Even though I’m only on the free plan, it’s terrific. I get weekly reports on IPs that are blocked as well as notifications when there are updates to the plugins I’ve installed or if there’s a new WordPress version.
Here are some settings that are important
- Disable live traffic view: This will reduce CPU usage (particularly important since there are resource limits for shared hosting)
- Your email address: This is where alerts are sent to
- Email summary & frequency
- Under scans to include, disable high sensitivity scanning: Again, helps reduce CPU usage
- Login Security Options: Set how many login failures or forgot password attempts before lock out
- Don’t let WordPress reveal valid users in login errors: Check this! So WordPress doesn’t tell users that username is correct but password is wrong
If your hosting provider has some security tool like SG Site Scanner or other malware detection service, you can always compare the features and see whether there’s still a need to install another security plugin.
Backup Plugin: UpdraftPlus
This WordPress backup plugin helps perform manual and scheduled backups. You can also restore backups directly from your WordPress control panel.
The best part is that it always creates a backup whenever I update my plugins, my Divi theme or WordPress version (it’s assuring that I can restore my old version if the new updates break my site). But note that this is a premium feature.
I’m using the premium version which helps to
- Clone & migrate your WordPress site to a new domain
- Automatically back up my site before any updates
- Set backup time & scheduling
Here are the important settings to note
- Files backup schedule
- Database backup schedule
- Choosing your remote storage
- What to include in files backup
- Email reports
SEO Plugin: Yoast
Search engine optimization (SEO) is important whether you blog or not. SEO is where you optimize your site so that it ranks higher on search engine results page. It’s not paid traffic like pay-per-click (PPC). It’s unpaid organic traffic.
And Yoast is perfect for this. You can modify the titles and meta descriptions for your pages and posts and view how it looks like on Google’s search results page.
Ensure that you have edited these settings to suit your site
- Titles & Metas: Title separator
- XML Sitemaps: Allows search engines like Google to easily understand your site structure
- Advanced > Permalinks
- Strip category
- Stop words in slugs
- Search Console
Image Optimizer Plugin: ShortPixel
You will definitely have images on your site. And these images might slow down your page speed. Hence, you should get a tool that optimizes your images.
I chose ShortPixel because compared to other tools, this plugin compresses more file formats (jpg, png, gif, pdf). Also, note that WordPress automatically creates a few thumbnails. And each thumbnail counts as a credit.
Again, the most important settings to configure are
- Compression type: I recommend lossy since you get the smallest optimized image without compromising on image quality
- Apply compression to thumbnails
Note that I signed up for ShortPixel one-time plan because I don’t upload many images every month. If you upload numerous images, the monthly plan might be more suitable.
11. Edit Appearance Settings
Let’s move on to some important Appearance settings that you need to configure.
Click on Customize under Appearance on the left menu.
- Site Identity > Site Icon
- Layout Settings: Choose your theme accent color
- Typography: Edit header and body font and size, colors etc.
- Background: Either color or image
- Bottom Bar: Can choose to disable footer credits and remove that ‘Powered by WordPress’ text (I did and customized my footer)
Header & Navigation (desktop & mobile)
- Primary Menu Bar or Fixed Navigation Settings: Can choose to hide logo image
Mobile Styles (desktop & mobile)
- Mobile Menu: Can choose to hide logo image
- Buttons Style: Font, size, colors etc.
- Buttons Hover Style
12. Create Pages
You can then start creating pages. These are some essential pages of every site:
- Home: I recommend that you do this last so you can link to the other pages with their correct URLs. And that they’re published so the links aren’t broken.
- Blog: This is optional but I highly recommend creating a blog so your site looks fresh in Google’s eyes.
- Disclaimer & Disclosure
Now that your pages are done, let’s edit your navigation bar at the top of your site.
Click on Menus under Appearance on the left menu. Then, choose the pages that you want to showcase, give the menu a name and add it as Primary Menu.
You can also highlight the current page by making it a different color from the other pages.
Under Appearance on the left menu, click on Customize. Then, click on Header & Navigation and choose Primary Menu Bar or Fixed Navigation Settings. You can then change the Active Link Color or Active Primary Menu Link Color.
Customize your footer and sidebar so that they show relevant information and links that your visitors want.
14a. Edit Footer
Under Appearance on the left menu, click on Customize. Then, choose Footer and Layout. You can decide on the column layout (how many columns, how wide the columns are) and background color here.
Next, click on Widgets under Appearance on the left menu. Drag and drop the relevant widgets to the Footer. Each footer area corresponds to the footer column. So Footer Area #1 would be the first column in the footer.
I recommend you put the following in the footer:
- Copyright Notice
- Your Social Media Networks
- Disclaimer & Disclosure
14b. Edit Sidebar
While you’re on the Widgets tab, you can also drag and drop the relevant widgets to the Sidebar.
What you include is highly up to you.
For blogs, the sidebar usually includes search, recent or popular posts, categories and tags.
You can always put your most valuable call-to-action (CTA) here. For me, it’s my newsletter subscription so I put them in my sidebar.
If you intend to have a blog, do consider creating some categories and tags before you start blogging!
This way, you will have a rough idea of your site structure.
- Categories: Broad topics (eg. entrepreneurship, marketing, self-publishing)
- Tags: Specific details (eg. web hosting, adwords, amazon kdp)
You must categorize every post. Don’t let it be filed under ‘Uncategorized’. On the contrary, you can choose not to add any tags to your post (though I recommend that you should add at least one tag).
15a. Create Categories
Under Posts on the left menu, click on Categories then Add New Category.
15b. Create Tags
Click on Tags under Posts on the left menu then Add New Tag.
16. Protect Your Content
After spending hours researching and writing your blog posts, you don’t really want someone else to claim these articles as theirs.
Protect your valuable and original content from theft or copyright infringement with DMCA.
After placing DMCA’s free badge for 1 month, they will do a free takedown for you if someone steals your content.
And this is how my site’s certificate looks like!
Now It’s Your Turn
Did you encounter any troubles when setting up your website or blog? Is there some feature you want to add that is not explained here?
Leave a quick comment below and I’ll see if I can help solve the issue.