8.1. Content Management Systems

Not all websites are created from scratch. In fact, many websites use a Content Management System (CMS). A CMS provides a friendly interface for adding, editing, and deleting content. It also provides a way to manage a web site’s style.

There are many CMS out there. One of the more popular ones is WordPress. Other popular CMS are Drupal and Joomla. WordPress was started back in 2003, and is the one we’ll cover in this class. Many of the concepts translate well to other CMS though.

By default, a CMS like WordPress can allow anyone to create their own website without coding or even understanding HTML. Even if you understand how to code and work with HTML and CSS, you don’t want that to be a distraction when it is the content that you want to create.

So are HTML, CSS, and learning to code pointless? Not at all. The CMS gives a lot of basic functionality. But if you want to brand your website with a certain style, you need take the default CSS and modify it to suit your needs. If a default editor doesn’t allow you to get exactly what you want on the screen, you need to switch to inputing raw HTML. If you want some custom interaction, you’ll need to code in PHP or some other language.

A CMS prevents you from re-inventing the wheel. It doesn’t prevent you from inventing something new.

8.1.1. CMS Hosting

There are three main ways you work with a CMS and have it hosted:

  • Free hosting. Some places let you have a free WordPress install. What you can do with it is limited, and the company will make money by tossing in ads. As your aren’t paying any money, the level of service and reliability is low.
  • Paid hosting. Sites like WordPress.com charge money to host your website. the level of service is better than free hosting, and you aren’t forced to host ads on your site. They monitor the hosting machines to make sure they stay up. Sometimes they will back up your website as well.
  • Self-hosted. You can do anything you want with the website. You install the CMS yourself. Most CMS are free, so you’ll end up paying for hosting the machine and your own time in maintaining and monitoring it.

8.1.2. CMS Terminology

  • Themes - A theme is a set of CSS pages and images used to control how the website looks. With any modern CMS, you can download new themes and quickly change the look of the website. It is also possible to create custom themes, or just customize a base theme.
  • Posts and Pages - Pages have their own URL and content. A “post” is a news item that can be in a news feed. Posts: Blog articles or news articles. Pages: stuff that you want on its own page.
  • Categories and Tags - Categories and tags are very similar. You typically have a category that you put posts in. Like “Business” or “News”. Then you might have tags that flag the content. Like “Walking Dead” or “Game of Thrones”.
  • Widgets and Plug-ins - Widgets are little content areas you can add to your website. You could add latests posts on the sidebar, the weather, stock quotes, that type of thing. Plug-ins add new functionality. Like a better text editor, a broken-link checker, or a content form.