Design Method
How to Optimise a CMS Based Website
Content management driven websites give you the freedom to update and edit your website at your will wherever & whenever you want, which makes them an increasingly essential tool for web content publishing. They basically give any person, who doesn’t need to be too technically minded the means to publish website content, blogs & media rich pages. Regularly updating website content will also be beneficial to search engine rankings – Just another reason that content management has become so popular…
So if Content Managed websites are so great, just why do they need optimising….? Here some steps that if followed correctly will keep your CMS ticking over like clockwork.
Page Caching
When running a site that gets a large volume of hits on a day to day basis, it is firstly imperative to optimise your database queries. However even once your queries have been stripped out and are running as fast as the database will allow, the sheer volume of users querying the database will increase the strain on bandwidth & ultimately cost more. However there is a technique that can be used to combat the strain of constant server queries called page caching.
Alternative PHP Cache is a free and open opcode cache for PHP. Its goal is to provide a free, open, and robust framework for caching and optimizing PHP intermediate code. It’s a PECL extension which shares the packaging and distribution system with its sister, PEAR. Provided that you have PEAR package installed on your system, the procedure is as simple as typing: “pecl install apc“
For more information about APC including tutorials follow & get optimise your site for free! http://uk3.php.net/apc
Well Thought Out Coding Techniques
When building a website using a content management system there are many options available to edit sections of the website page, when initially building the website it can be very easy to use the CMS to fill in footer information, static sidebars and such, however since the information in the footer is unlikely to ever change, it seems pointless calling the database for this information every time a page is loaded. If you analyse a front end page from your CMS I would not be surprised to learn that 20 or more queries are being executed each time the page is loaded.
If you are able to hard code the text in your footer into your files rather than calling the database for it you will find a reduction in page loading times and a reduced strain on the server just because you have cut down the quantity of queries hitting your database.
Database Optimisation
Keeping your database running is easy, most of the time your CMS will take care of it for you. However keeping your database operating at full potential is not quite so simple; especially if you like to dabble with plugins for your system.
Each time that you update your system or install an add-on or a plugin, you will be adding more tables and rows to your database, ultimately increasing the quantity of records held, so with the installation of a couple of plugins, maybe an anti-spam plugin & a WYSIWYG editor, you could potentially increase the number of records held from 10,000 to 20,000… It doesn’t take a genius to realise that when querying the database, just having to search through an extra 10,000 records will take some time! So get rid of unnecessary plugins, and if you can; code it yourself!
Broken Links
If a file goes missing or gets deleted from the server it can cause issues, for instance if a users’ browser is attempting to load a page but cannot find a certain JavaScript or CSS file, or an image that may have been deleted the browser will try for a certain amount of time to load the elements. Re-trying to find the missing files will cause both increased load on the server, for requesting the missing files over and over again & will thus increase loading times quite considerably.
The best way to combat broken links and missing files is to really get to know the code that makes your website work.
If you get to know your code properly, and you regularly check it, you will be unlikely to encounter broken links, however if you are not a coder or simply can’t be bothered to trawl through tedious amount of code you can use various online tools to check the structural integrity of your website. Google is as always your friend; however a good place to start would be Pingdom Tools http://tools.pingdom.com/fpt/ . Using Pingdom Tools you will be able to monitor how long your site takes to load, whilst at the same time you will be able to identify which files are missing, or unable to be loaded. Highly useful in the pursuit of a fast loading website.
Hopefully the advice given in this article should highlight some obvious & some not so obvious techniques for optimisation of content management systems. Look out for a more detailed tutorial coming soon!