CMS vs JavaScript framework
Trend is no longer using a CMS, but rather to the framework as Bootstrap.
This trend we see on new portal sites is confirmed on Google Trends. Queries for the term CMS (Content Management System) is dropped while BootStrap is experiencing a surge in 2012 and there is no doubt it is because of the framework launched by Twitter.
But if webmasters move to HTML 5 frameworks at the expense of CMS, what may be the reason? A tentative of explanation: the increase in viewership from mobile and tablets to the detriment of PCs, because a CMS is rather heavy and slow, and that added to the download time, really no longer appropriate to a mobile browser.
Instead, BootStrap since version 2, as other HTML 5 boilerplates, takes into account the small screen of mobiles and allows fast loading of the page.
We will compare the advantages of both methods of website creation. Obviously this concerns only simple portal site to show a product, or a blog, and not those whose pages make use of amount of information taken in a database.
A common goal of code reuse
CMS and presentation frameworks have one goal: Discharging the webmaster of tasks of page layout so he can focus on content. They also have the advantage of providing a user interface similar at all sites.
It's harder to make a website with BootStrap, but the essentials are here: JavaScript code (based on jQuery) and CSS has been tested on most PC and mobile OS, that the webmaster has no to do.
Both systems offer plugins that help to navigation or presentation. BootStrap plugins are more oriented wigdets, which can also be provided by Wordpress themes, but there is hardly a theme with all the widgets you want.
Blogging CMS: a perfectible design
The basic design of the blogging CMS has in fact always been deficient. This means putting the site content in a database, then generate a page from a SQL query. Then as we realize that it's too slow to display, we install a caching plugin that creates for each page a HTML static file.
My PHP pages are organized on the following principle:
<?php include("top.php");?> <p> Article Content </p> <?php include("bottom.php");?>
The header and footer and dynamic content are included in each page that contains only the specific content, which is the equivalent of what Wordpress stores in the POST table.
Why put the contents into a database and then copy it to a file on the local system, rather than to store it directly in an HTML container?
To have a database does not give us even a search function since it is necessary to type explicitly a list of tags for this. In fact we get a real research tool in including Google search box, that works as well on a static site.
How to design a CMS for modern sites should be reviewed if we want to provide access to mobiles. One can consider a hybrid approach, static or dynamic depending on the speed of transfer, which can be evaluated with a technology like WebSocket or WebRTC.
Do not neglect SEO
Wordpress has become a drag on the ranking of a site. The block of tag cloud full of internal links, the blogroll which transforms the site in a link farm, themes not always optimized, and the fact that the load time has become a criterion of ranking and further that all the pages return a HTTP redirect code, make this CMS (like others), may adversely affect traffic site, unless the code is perfectly tweaked by the webmaster. But the purpose of a CMS is to avoid coding...
Trend: The return of static sites
While the webmaster simply wants to make posts of blogs without touching a line of code, he seems to prefer to use a CMS like Wordpress. But now that enters into competition with social sites that are also blogging platforms: Facebook and Google+, or even GitHub which offers a page generator (for free).
When instead webmasters want to create a high performance site and optimized for desktop or mobile, they prefer to use a CSS framework of which they can possibly overload the code to customize the look. It seems that the current trend is to create static sites based on these frameworks.
The BootStrap framework, originally created for Twitter, supports the CSS part, several examples of customization are shown. This is a framework among other, see the CSS section for other templates.
See also Why to replace PHP by JavaScript on the server? and Static site generator, the new trend.