Building your own website can actually be very easy (and inexpensive!), all it takes is a bit of patience and the 5 steps outlined below.

This is a fairly long article, but should explain everything you need to know to get started. Good luck with your site!

Step 1: Planning

Never overlook this step, it lays the foundation for everything that comes after and makes future decisions much easier to make. The first part, of course, is knowing what type of website you need. This could be one of, or a combination of, the types below:

  • Brochure site - displays information about a business/service/whatever in a clear way, usually is not interactive or regularly updated but rather somewhere to direct people who wish to find out more about you
  • eCommerce site - sells actual products and processes online payments
  • Blog - a regularly updated site that encourages readers to comment and discuss each post
  • Community site - revolves around the users and usually has features such as forums, user profiles, private messaging etc

The next decision to make is which CMS, if any, will suit your needs. A CMS (Content Management System) allows you to update content in an intuitive way, rather than manually editing code all of the time. There are many discussions online about the best CMS for all kinds of sites, but I personally find there's not much that isn't covered by one of these two (completely free) options:

WordPress - hugely popular due to its user-friendly admin panel, WordPress started off as a blogging platform but has grown into a fully-fledged CMS regularly used for everything from famous blogs to review sites to portfolios to online stores.

Drupal - much more powerful than WordPress, but this is offset for many by the relatively steep learning curve. Drupal can do almost anything you could possibly imagine, but the admin panel in particular leaves a lot to be desired and the supporting community is often said to be downright intimidating to outsiders.

Step 2: Setup

To run your own site you need 3 things: a domain, some hosting, and a site to host! The domain is the address of your site that users will type into their browser to visit, usually a .com extension is best but there are tons of other extensions such as .org for organisations, and country-specific extensions. Namecheap is a great little domain registrar, often having the cheapest prices on .com domains.

Hosting options can seem very confusing, but unless you're running a huge site with thousands of visitors what's known as "shared hosting" will be fine for you. Conveniently enough, shared hosting is also the cheapest option. I'd personally recommend Hostgator to anyone unsure of what to look for, they've hosted all of my sites for years and their support are very helpful. They even sent me a cuddly toy!

As for the site itself, well we already decided on a CMS, right? All that remains is for you to install it. Most good hosting companies, Hostgator included, provide an automatic installer (Fantastico is probably the most common) for popular CMSs so you can simply follow the step-by-step instructions if you're not comfortable with installing anything manually.

Step 3: Design

Please don't try to design an entire website yourself with no prior experience, this will not end well. Instead, consider purchasing a professionally designed theme for your chosen CMS and simply modifying the colors/adding your logo. Theme Forest is a great place to start, their themes start at under $20 and even the most expensive are a lot cheaper than custom design.

Many premium themes actually come with a number of color schemes anyway, but an easy way to change it up further is to overwrite the background images with ones of your own, keeping the same filename. They'll replace the originals and give your theme a whole new look.

Your logo is one area where you should consider bringing in a professional. The logo is a huge part of your branding effort and will be for years to come (hopefully), so a couple of hundred dollars invested in getting something memorable is well worth it.

Step 4: SEO

SEO (Search Engine Optimization) is, simply put, the art of getting search engines to sit up and take notice of your site. SEO is a whole industry in itself, but since you're saving money by actually building the site yourself, it makes sense to do at least the basics of SEO yourself too since they're really not very complex.

Page titles - this is probably the easiest change you can make to affect a site's rankings. The page title is the text displayed at the top of your browser window when viewing a page, and it's also the text of the link on a search engine results page. Make sure this includes any keywords you're trying to rank for.

Description - the page description, if one is included, makes up the text you'll see under the main link in a search engine result. Obviously, if this includes the word or phrase someone searched for they'll be more likely to click the link so this is almost as important as your page title.

Headings - splitting a page into various headings and subheadings is great for the user since it helps them to scan your content, thankfully it's also awesome from an SEO perspective since headings are considered to be more "important" than the rest of the text. Make sure these include keywords wherever possible.

Content - sounds obvious, but adding keywords into your body text makes a difference too. Don't be tempted to overdo it however, the bots are clever nowadays and writing sentences that make no sense just in order to crowbar a particular phrase into them will not help your cause.

Backlinking - the more people link to your site, the more important search engines think it is. Bear in mind that recent changes mean backlinks from "spammy" or pointless sites are much less useful nowadays. Where possible, use your keywords as the link text rather than your site name.

If you're using WordPress, the "All in One SEO Pack" plugin works like a charm to set page titles and descriptions. In Drupal, you'll need a combination of the "Nodewords" and "Page Titles" modules.

Step 5: Marketing

Setting up a website is all well and good, but how will you get the visitors rolling in? Time for some simple marketing moves.

Use social media - joining every social media site in the world won't automatically make you internet famous but every little helps. If you do go this route, be prepared to actually interact with your audience regularly, rather than just promoting your own stuff over and over.

Start a blog - blogging keeps your site content fresh, forcing search engines to keep revisiting. It can give the impression that you're an expert on the topic you're writing about, keep readers coming back for new updates, and act as a great platform for customer feedback.

Give away a product - this could be an ebook/whitepaper on your site's topic, a free sample of something or other, whatever you can think of. For bonus points, get people to sign up to your mailing list in order to download it, which leads us on to...

Start a newsletter - starting a newsletter or mailing list gets you something invaluable, the direct email address of people who have shown themselves to be interested in what you have to offer. There are a number of services around but Mailchimp in particular have a great free plan to start you off.

Run a competition - launch your site with a bang! Giving something away for free, as already discussed, is a great way to get attention. Making it into a launch contest adds an extra dimension of urgency and will force people to keep checking back to see if they won.


You'll notice that step 5 is not technically part of "building" the website, but a dead site with no visitors is no good to anyone so marketing is something you need to at least be aware of.

As you can see the steps that people tend to think of as most "difficult", setting up the site and getting a design in place, are actually very easy if you use a readily-available free CMS and accompanying theme. This is a hugely popular approach recently, with the quality of a premium theme far outstripping any custom design you would get for the same price.

It's much more important for your site to communicate effectively, than to be just that little bit more unique.