Building your website


This article walks you through the following steps to create a website, display it online, and attract visitors:


Step 1 — Setting up hosting and a domain

The first step is to create a DreamHost account with a hosting plan. You will also need to own the domain registration (name of your domain).

1: Choose a hosting plan and sign up for an account

Before purchasing an account, you must first choose a hosting plan. The hosting plan contains multiple services but can be thought of as the server your website will be added to. Adding your site to the server allows it to appear on the Internet.

DreamHost offers several different hosting plan options depending on the needs of your website. The following article lists the different plan options available at DreamHost:

To host a website online, you must choose one of the following hosting plans:

  • Shared Starter or Shared Unlimited hosting
  • VPS (virtual private server)
  • Dedicated Server
  • DreamPress (Managed WordPress hosting)

Once you have decided on the hosting plan, you can then purchase the plan and open a DreamHost account:

2: Purchase a domain registration

Purchasing a domain registration includes owning a domain name, such as

You cannot host (display) your domain online until you own the registration.

You can either purchase a new domain registration or transfer an existing domain registration to DreamHost during the sign-up process. You can also purchase a domain registration later if you wish.

If you have already purchased the domain registration at a different company and don't want to transfer it to DreamHost, you can simply point the DNS to DreamHost. This option allows you to keep the registration at a different company while hosting the domain online on DreamHost's servers.

3: Add the domain to your hosting plan

If you purchased a domain registration, the new domain should have also been added to the hosting plan so you can view it online. If not, you can always add hosting to the domain using the following article:


At this point, you have created a DreamHost account you can log into at Within this account, you have a domain registration that has been added to your hosting plan.

Step 2 — Building your website

Now that your site is hosted on your DreamHost server, you can begin to build it.

There are many different options available to build a website. Some options (such as a CMS) are easier and allow you to create a site without needing to code anything. Other options are more difficult but allow for greater customization over your site.

Option 1  — Using a CMS (Easiest option: No coding required)

The easiest option to build a site is to use a CMS (Content Management System). This is pre-built software you install onto your site. This software creates a fully functioning website without any coding required. Once installed, you can log into the site and start customizing it the way you like.

You build and customize a site created using a CMS by logging into the website's backend. This is where you will upload images, configure the appearance, and add text.


The most popular CMS option is WordPress. DreamHost offers this as both a DreamHost WordPress install or as a specialized upgraded hosting plan called DreamPress.

DreamHost WordPress install

The DreamHost WordPress installer immediately installs WordPress onto your site:

An email is sent to you with instructions on how to complete the installation. You can then log into the site at to begin adding your content.


DreamPress is a specific hosting plan DreamHost offers. It is a step up from hosting a WordPress site on a Shared or VPS hosting plan:

When you purchase a DreamPress plan, WordPress is installed automatically for you. This DreamPress plan is specifically optimized for WordPress for simplicity and performance. 

Option 2  — Building a custom website (Difficult, but offers more customization)

You could also manually build your website on your home computer and upload it to your DreamHost server. This would require you to at least have a basic level of website programming knowledge. Below are a few links to help you with building a website:

  • W3Schools — Free tutorials on how to build a website.
  • — Many free resources to help learn how to code a website.
  • — Many free resources to help learn how to code a website.

Create a MySQL database

MySQL databases are commonly used for web database purposes. For example, your website can use a MySQL database for e-commerce or data storage. See the following article to learn more about how to create a MySQL database at DreamHost:

Upload your site to your server

Once you've developed your site on your home computer, upload the content to your DreamHost server using an FTP client:

Step 3 — Adding email

See the following article to learn more about how to quickly set up an email address for your domain:

Step 4 — Optimizing your site

After your website is set up on the server and displays online, you should spend time optimizing it. Optimizing a site means making adjustments so that the site runs faster and appears correctly on different devices. It also may include making design improvements to improve the user experience (UX).

General optimization guides

CMS optimization

Server optimization

If your site is on a VPS, there are also some additional steps you can take to optimize the server itself:

Step 5 — Attracting visitors

Once your site is up and running, you need to publicize it to attract visitors. Allowing your site to be indexed by search engines will help display your site in search results.

Submitting your site to search engines

Visit the major search engines and submit your URL. Most of these sites allow you to create an account where you may submit your site to their database. For example:

Search Engine Optimization (SEO)

Making small adjustments to your site helps search engines crawl and classify your content. This, in turn, helps push your site up in search results:

See also

Did this article answer your questions?

Article last updated PST.

Still not finding what you're looking for?