templates & plugins
Generic page templates & plugins common to content management systems (CMS)
An earlier post looked at tips for using WordPress. This post goes into a little more detail on some of the structural pitfalls of generic templates and plugins found in CMS like Joomla and Drupal as well as WordPress and Magento. CMS can ease the publishing, editing and handling of Web pages, but they come with a cost: a cost in terms of reduced search-engine and browser friendliness.
Imagine a restaurant menu, like the one below, written in every language — you’re in a diner in Ohio, a pub in the Midlands, a brasserie in the Midi. You want grilled chicken with fries and salad. But every entry on the menu is written in every language on Earth and has all the dietary information with it (also in every language). That’s what a generic template looks like to Google.
You ask the restaurant owner “Why all these languages? How can I find what I want?” “Ah,” they reply, “there’s a tiny tiny chance that someone will ask for a menu in Chamicuro or Dumi or Ongota*. It’s only a matter of time, of waiting. We want to be ready to serve them, in whatever language they speak.”
Being all things to all people may be admirable in a restaurateur, but for a Website it’s the kiss of death.
Don’t Use Generic Templates
Thousands of websites serve generic templates. To a search engine or browser, a generic template is the equivalent of a multilingual menu to a restaurant guest: It contains every possible colour, font, style, layout and feature option — in case someone, just one site owner, wants a black page background with tables in purple bubbles and text in ice blue 18 point Times Roman reversed out.
Generic templates load every possible style and function on every page, even if they are disabled. And then there are plugins — PHP scripts that are injected into a page. Plugins load even more options (i.e. code bloat), even though the website owner may only want one or two of them. Most likely the plugin will automatically generate database tables on the MySQL server; many won’t be used, and none are removed when the plugin itself is removed. Beyond a lot of redundant database tables, there are other problems encountered with plugins:
- they’re loaded by a page even if they are not enabled for that page
- permissions often conflict with Windows hosts and with AJAX
- they’re usually not compatible with other functions embedded in the CMS they’re plugged into
- they can’t be cached by some browsers
All this means that generic templates + plugins slow down a CMS, slow down page load, confuse a search engine spider, put extra work onto the browser, and diminish the user experience (UX).
* Chamicuro is spoken by 8 people in the world, Dumi by 8, Ongota by 6. If you were a restaurateur, would they be big markets for you?