Dynamic CMS vs static CMS
January 4th, 2017 - 5:57 pm
Most people have heard about CMS i.e. content management systems like WordPress and Joomla. Also, a lot of hosting providers are supporting applications for these platforms that helps you to quick install them on the server.
These systems are dynamic systems, that means that each time you request a page, the data will be fetched from the database and displayed to the user. This is perfect for building small sites that have small number of pages like home, about us, contact us , portfolio, etc. But what should you do if you have millions of articles or pages in your website? Here comes a solution that is not so common for most people which is the static CMS.
So what is the static CMS ?
Static CMS is CMS that builds only html pages that doesn’t read directly from the database, instead it has a fixed template that fetch the data from the database then populate the template with the fetched data. So, that means that your site will only be html pages that will load extremely fast and on any server (windows server, php server,etc)
If it’s so fast and can run on any machine, why don’t always use the static CMS?
As it appears from it’s name, it’s static CMS, that means it’s not so easy to change it’s content. For example, in WordPress if you have a published article or page and you find that you have a spelling mistake or misleading info, you can simply edit the article or the page and hit publish and everything is fixed. However, in the static CMS if you want to do the same, then you will need to mark the whole page to be republished, then start the publishing process which will replace the old file with the mistake by the new file that have the fix.
How to choose which approach to go with?
Choosing the approach depends totally on your website, if your website has a large number of pages that are not changing a lot you can go with the static CMS approach. But if your website is small and always having changes you can go with the dynamic CMS.
In order to be able to make a decision, you can check the pros and cons for each of them.
|1- Extremely Fast
|1- Hard to edit
|2- Compatible with any server
|2- Takes a long time to build the html page.
|3- Easy to deploy
|3- Not so popular
|1- Fast for small websites
|1- Not so fast for large websites
|2- Flexible to edit
|2- Must have a specific server to run on
|3- Popular and may have integration with the server
|3- Changing the server will require data migration
Now you have an idea about both approaches and you can make your choice according to your website needs.