Nothing like listening to the whirl of your hard drive as the progress bar in your browser slowly creeps forward. There are so many pitfalls which designers and coders fail to see when designing a website. CMS users beware, you too could be a victim. I have seen many articles on increasing performance as well as lists which show the “Top 10″ items, they are all great but let’s be serious for a moment.
Misuse, abuse, overuse, and just plain ignorance results in slow loading sites, these are not all the same. Sure there is poor code out there, but it can run better and faster than a clean written site when many obstacles are overcome. As high speed internet takes over and bandwidth becomes second to file size we can not lose focus on what is slowing our sites down.
For those who don’t like to read, a top 10 list is at the bottom
Hardware and Connection
This is the #1, hands down, best improvement you could make.
This seems to be the hardest part for most people to chew. You can spend $75 or less for a year of hosting, or you can spend $400+. The difference in price makes a huge difference in performance. If your site falls into the first price range I have some bad news for you. Most budget hosts can offer this low rate because they can host hundreds to thousands of sites on one server with one connection. The proof is below:
The above shows 1,333 other sites hosted on that 1 server! Tell me those pages load fast. This goes with all budget hosts, if you are expecting even a trickle of traffic you should consider making the investment into better hardware with your own connection. There are plenty of dedicated servers and dedicated virtual servers which wont break the bank but will do the most for your performance.
CMS Users (Wordpress, Joomla, Drupal)
Every content management system has a way of expanding the interface and options. Some are called plugins, some are called extensions, you get the point. These are great tools which can literally transform your site. This is also where “Abuse” and “Overuse” comes in.
Adding too many plugins to your CMS can seriously jeopardize its performance. If you add one plugin for say a post rating system, you just created new tables in your database. With new tables comes more queries, with more queries comes slower performance.
The demon children of all plugins are the ones that require external content i.e. links or images from other sites. These will rob your page and keep it from loading even if you are on a top of the line server. You will end up relying on the speed of the server providing the content and your page will only load when it loads.
“Misuse” is yet another one that comes into play here. Most CMS were designed around blogging or creating basic e-commerce websites. Taking a CMS and turning it into something that would normally require a custom back end is taking the easy way out. For highly customized sites it is best to buckle down and write the code yourself, even if you need to use API’s. Trying to grow and expand a complex site with a CMS base is like trying to make milk into orange juice.

Coding No No’s
Include, it makes me shudder to say that word too much. In PHP using this command too much on a single page will slow down speed and performance big time. Every time a new PHP file is included it must be compiled on the server prior to execution, one large file can be better than 20 small ones. Limiting your PHP includes can score you big points, no more than 5 per page and you are doing fine.
JavaScript plugins and libraries. Using a prebuilt library like JQuery or Prototype is fine, it is when we get into adding a ton more files that can cause problems. Remember the client side may not have the speed or browser that you do.
Loops and mySQL queries. You see it everywhere on programming forums, the “SELECT * FROM” statement. Sure, select everything if you need it, otherwise take the time and only select the fields which are applicable to your needs at that time. In addition to this I have seen many nested queries before which can all be solved using JOIN or simply changing the query to select from multiple tables. A basic knowledge of SQL can prevent headaches and poor performance, it is easy to see why so many people say “rtfm”.
Compression and Caching
This is a world which seems to hide itself from most. This is also a common oversight where the standard designer has no idea that his site is actually already compressed when run online. Most servers today run some sort of compression on files in an attempt to speed things up.
If you wanted to take things into your own hands you could find ways to pre-cache everything PHP which would save on execution time. I have an article on this as well: APC (Alternative PHP Cahce).
File compression locally before uploading to the server, well, I have not seen any true benefits to this. Several sites will tell you to remove all the unnecessary white space from your code in order to save on file size. Well if I have a 14kb file and I strip the white space, what am I left with? A 12kb file, not really worth the time unless you could find an automated process.
Closing It Up
A list for those who like to skim:
1. Get good hardware, a dedicated server is the best route.
2. Use plugins sparingly on CMS.
3. Use a CMS for its intended purpose.
4. Avoid external content e.g. images and scripts.
5. Limit the amount of files loaded on a page e.g. PHP includes and SRC links to scripts.
6. Use database queries appropriately.
7. Try not to use nested loops unless absolutely necessary.
8. File compress and pre-cache if possible.
—Two bonus points, not in article—
9. Avoid using large files such as images over 20kb.
10. Use text instead of images where you can, better for search engines anyways.
That’s is, any more tips to share?
![[del.icio.us]](http://scriptperfect.com/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://scriptperfect.com/wp-content/plugins/bookmarkify/digg.png)
![[dzone]](http://scriptperfect.com/wp-content/plugins/bookmarkify/dzone.png)
![[Facebook]](http://scriptperfect.com/wp-content/plugins/bookmarkify/facebook.png)
![[Furl]](http://scriptperfect.com/wp-content/plugins/bookmarkify/furl.png)
![[Google]](http://scriptperfect.com/wp-content/plugins/bookmarkify/google.png)
![[LinkedIn]](http://scriptperfect.com/wp-content/plugins/bookmarkify/linkedin.png)
![[MySpace]](http://scriptperfect.com/wp-content/plugins/bookmarkify/myspace.png)
![[Newsvine]](http://scriptperfect.com/wp-content/plugins/bookmarkify/newsvine.png)
![[Propeller]](http://scriptperfect.com/wp-content/plugins/bookmarkify/propeller.png)
![[Reddit]](http://scriptperfect.com/wp-content/plugins/bookmarkify/reddit.png)
![[Slashdot]](http://scriptperfect.com/wp-content/plugins/bookmarkify/slashdot.png)
![[Spurl]](http://scriptperfect.com/wp-content/plugins/bookmarkify/spurl.png)
![[StumbleUpon]](http://scriptperfect.com/wp-content/plugins/bookmarkify/stumbleupon.png)
![[Technorati]](http://scriptperfect.com/wp-content/plugins/bookmarkify/technorati.png)
![[Twitter]](http://scriptperfect.com/wp-content/plugins/bookmarkify/twitter.png)
![[Email]](http://scriptperfect.com/wp-content/plugins/bookmarkify/email.png)
Is it possible you can find online for free beauty samples? …
……
Sony Ericsson W902i | Best and Cheapest Am/Fm Antennas,outdoor fm ……
Sony Ericsson W902i offers unlimited music and video and audio of his clients. Experience rich bass and clear sound for mobile users, ……
Resellerspanel Launches Version 2.0 of Its Control Panel and a New Web Hosting Plan…
My blog is about free hosting domains…
Buy:Cozaar.Lipitor.Lipothin.Acomplia.Buspar.Prozac.SleepWell.Seroquel.Amoxicillin.Zocor.Benicar.Lasix.Zetia.Female Cialis.Aricept.Wellbutrin SR.Advair.Nymphomax.Ventolin.Female Pink Viagra….
Health Weight Loss Diet…
How To Fast Easy Health Weight Loss and good Ideas for Diet,Let’s Go Start Losing Weight Now!…
Buy:Super Active ED Pack.Levitra.VPXL.Viagra Soft Tabs.Cialis Super Active+.Propecia.Viagra.Viagra Super Force.Maxaman.Cialis Soft Tabs.Viagra Professional.Soma.Tramadol.Cialis Professional.Cialis.Zithromax.Viagra Super Active+….
digital photo frame email…
digital frames for sale…