Content Management Systems, or CMSs, have drastically changed and improved the way large websites are designed, and have significantly increased the amount of content a person can easily put on a site. A CMS is usually written in PHP, although other languages can be used. WordPress is by far the most common CMS, but platforms like Drupal and Joomla are more powerful and flexible.
A CMS works by using some kind of automated system to store and display data. Rather than having to have a static HTML file for every web page, and having to update them constantly, you can use a CMS to automatically create pages with your new content.
Blogging is a good example of this and is probably the most common use. Each page on a blog looks roughly the same – same styles, colors, fonts, and header, sidebar and footer elements. Only the main content on each page changes. If you used HTML to write a blog, you’d have to use a template file to create a new page every time you wanted to write a new entry, and you’d have to change every page on your site if you wanted to redesign it.
A CMS automates this. Essentially it loads an identical page every time it is used, but selects different articles, content, or posts for each different page. If you want to change the layout of your site, you can simply change one file or template, and every page will have the new look. This make managing lots of different pages easy. More complicated functions allow for various widgets and other dynamic content, such as a tag cloud or list of recent posts.
Practically any big website uses a CMS. Facebook, for instance, can be thought of as a CMS. There’s no way they could ever hire enough people to write each individual page that you will look at. Instead, they design template files, and then have an application dynamically create each page that you load, customizing it with different information, like your name, and your posts. When you go to a WordPress blog, it does the same thing – it loads a template and adds the specific post you are looking for.
CMSs make creating and maintaining large sites much easier, and pre-built ones like WordPress allow for someone with relatively little design skill or experience to create a dynamic website will lots of different content.