Content Management Systems – An Overview

Are CMS worth your time?

Find out in this article.

Content Management System (or CMS) is a framework already designed by other programmers and coders on which you can either contribute your knowledge and skills, or just use those coders’ skills to design your own website or blog.

This is the basic definition of CMS as given by myself and in this article I will make the concept of CMS clear and understandable.

CMS is the most practical approach in designing websites today, whether you want a blog, an e-commerce or simply any other type of website, by using, it’s just a work of few hours.



Although, if you’re using a free domain and free hosting (like some of my sites), CMS can prove to be a pain.

How CMS Works

  • CMS is downloadable, means when you download a CMS, you will obtain a compressed file (tar, zip, 7z) and after uncompressing it, you would obtain a folder known as “CMS Directory”.
  • This folder contains the entire CMS including working files, .htacess file and themes. All of these will be explained later in the article.
  • After you upload this CMS onto your remote host or local host, you can install the CMS on host in very simple steps different for different CMS.

CMS Directory

The three most important content of any CMS directory are these 3 types of files:

  • Modules

Remember, every time you browse on a functional website (say facebook), there are multiple modules working at one time. Login module, profile picture, facebook liking system and even the endless newsfeed you scroll through, is a module.

Module is a bundle of files linked together to perform any specific function. These files are collection of codes written in any of the web programming language in a machine independent package. Everything on modules cannot be explained in one article although, this is pretty much information you would need to proceed.

  • Themes

This point doesn’t need much explanation. Themes are often included as sub-directory inside our CMS directory that contains bundled HTML5 and CSS files incorporated with few javascripts or Ajax that represents graphical structure you can use. Generally there are one basic theme preloaded in every CMS (Two thousand sixteen in WordPress, Bartik in Drupal etc.) but like modules, you can download external themes too.

  • .htacess

This is the file that messes up with even experienced coders and designers. It is a set of instructions for server to handle your site in the huge World Wide Web network. SEO, Redirections and overwrites are managed by this one single file. Generally you have to write this file by yourself if you’re making a site from scratch but since you’re working on CMS, htaccess file is absolutely free.

Popular CMS

The battle of CMS is as old as Internet itself. The first CMS was created in 1992, however the first acting CMS was released in 1997. Enough with history, the three most famous CMS, that occupies more than 70% of entire CMS market are: Drupal, Joomla and WordPress.



All these CMS are free of cost, Drupal and Joomla being as open source projects. Thousands of coders are working on these three CMSs every day to provide best user experience worldwide.

If you want to learn CMS by the way of practice, my recommendation would be Joomla as it is easiest to learn with its drag-and-drop site builder. However if you want to brainstorm, Drupal is best in the field. It’s huge, complex and very efficient with relatively less memory and hardware consumption. Although help support is very limited in drupal.

If you want to create a project, really quick, with the aid of a CMS, join other of millions that are using WordPress every day.

How effective is a CMS compared to a site created from Scratch?

An IT student created an exact replica of Facebook social networking site within 3 hours on django (another CMS).

So is it worth your time?

It depends completely up to you whether you choose to work on CMS or not but in my opinion, working with a CMS can help you understand the concepts of hosting, domain registration, name servers, computer networks in clarity. CMS can also hone your coding skills and in practice, coding a website from scratch is not very practical in commercial and corporate computer network. Knowledge of working with CMS can help you become a better web designer anyways, so why not?

For any suggestions, pointers, arguments, appreciations, post a comment below!

Hope you enjoyed reading

About the Author:

This blog is contributed by Aayush Garg. He is a web developer, writer and a filmmaker based in New Delhi holding a degree in B.Tech IT from Kurukshetra University. Besides liking watching live theaters and foreign TV shows/movies,he also loves technical stuff and has published papers on logical reasoning and brain rationality. He can be reached at  Twitter @reesgargi. 

If you also wish to showcase your blog here,please see GBlog for guest blog writing on GeeksforGeeks.



My Personal Notes arrow_drop_up


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.