There are many different ways to build a website, and no one right answer. Here are some of the major categories of options:
- Using a free site building service (e.g. Wix, Weebly and others). Many of these offer a “branded” domain name (e.g. yoursite.weebly.com), though some offer inexpensive upgrades to map your own custom domain name to their service. If you use a service like this, you won’t need a separate hosting account. See Web Builders.
- Building a website “by hand” using anything from a text editor to some kind of site-building software like Adobe Dreamweaver, Microsoft Expression Web, or other HTML editing tools (most offering a combination of WYSIWYG and code editing). You’ll need a domain name, a hosting account, and some knowledge of basic web technologies. Sites like this are usually “static,” meaning changes have to be made to the files in order to change how anything appears on the web.
- Building a website using content management software (CMS) such as WordPress, Drupal, Joomla etc. (see: Drupal vs Joomla vs WordPress: Developer’s Perspective).
- Sites built using CMS software are called “dynamic” because the site’s pages can change automatically (without requiring that someone edit a site file).
- These automatic changes can be as simple as changing the date automatically each day to more elaborate rules saying “if a user clicks this blog post, show them the 5 most recent similar posts in the sidebar.”
- CMS sites employ a database to store content and generate pages on the fly by using the software to combine specific pieces of content software with files explaining how to display that content to produce any given page.
- There are companies that combine hosting accounts with special, friendlier versions of WordPress or Drupal built in: WordPress.com (by Automattic), or Drupal Gardens (by Acquia).