Tips To Improve Website Speed

Info: Every user / developer has different experiences. Any more tips that you share in the comments will be appreciated.

"Why is my website slow?" is a popular question. And it is a vital problem for a website.

Faster the website, happier & more the visitors. That's a well-known fact.

There are several factors that may slow a website. In general, all of them can be solved. This just depends on how much effort you can spend on it.

How much time do you have?

You may not have enough time to spend on speeding up your website. Depending on your free time, you may choose the steps to apply like mentioned below:

  • I have very limited time: Apply step-1, step-2, step-4 & step-5 (only the compression parts) and step-6.
  • I have some time: Apply all of them except step-3 & step-8.
  • I rule the time: Go with them all.

Improve Website Speed

Most of the tips are the ones that you probably know. So, you can use the list as a checklist (which it normally is in my "customer notes sheet" : ) ).

Here are the tips:

1. Get A Fast & Less-Loaded Web Server

This is a must. Whatever you do to make your website faster, if it is served slow, there's nothing to do.

Make sure that the server your website is hosted has low ping values & it is not over-loaded. Specially if you've a database and/or using dynamic files (like asp,, php, ruby..) server over-load can kill the performance.

If you've a simple website with few visitors then shared hosting is ok. For a website getting popular, think of a VPS with guaranteed RAM & CPU usage. If the website is already popular, a dedicated server will be the best performing one.

2. Know When To Use GIF, JPG & PNG Files. 

Playing with the quality of images will dramatically lower the sizes of them while they will still be looking good.

GIF is suitable for images with few colors like logos, text & line art. When saving a GIF file, make sure you use a small color pallette (learn more).

JPG is good for images with lots of colors & details like photographs. Decrease the quality of a JPG image before saving. It will still look good for a web image (learn more).

PNG, a format specially for websites, has great quality – both transparent & non-transparent – is specially functional when you're in need of quality transparent images. Don't forget that IE6 has problems in displaying them (learn more).

3. Use XHTML – No Tables

This is easy to tell but may be harder to implement for anyone that has few experience with XHTML.

The thing is, tables are rendered slower than DIVs by browsers. You can do more with less code & no need to say it is much better to be compatible with any browser (including mobile browsers), in means of SEO, etc..

Update: There may be cases when using tables are much more logical like "tabular data". You may have to code a lot for creating the look of a simple 5 columned table. Don't do that & use tables when needed.

What is tried to be mentioned here is, use XHTML rather than tables in general. But don't try to draw images with XHTML.

4. Use CSS Smartly & Compressed

  • Mention every style in CSS files.
  • Find the common properties in objects, define them once & try not to repeat them.
  • If using a significant amount of totally different properties for a specific page, define them in another CSS file & only include on that page. So users viewing other pages won't need to download those properties.
  • Compress your CSS file (you may try this, this or this).

5. Merge & Compress JavaScript Files

Try merging JavaScript files prevent multiple includes (see step 6).

If a JavaScript file will be used only in few pages, try to include them inside those pages only (like CSS in step 4).

Compress JavaScript files. It lowers the size seriously & doesn't have any bad effects on your side. This & this are some of the popular compressors.

6. Manage Included Files Better

There may be several files included in webpages like CSS files, JavaScript files and other JavaScript files for statistic services, social bookmarking sites, widgets & more.

Try to decrease the number of these files:

  • If using digg-reddit-like voting widgets, don't use them in stories that won't hit the frontpage & remove the ones that were submitted few days ago as they won't have any help after sometime.
  • Use only 1 statistic service if possible. Every web-based service requires new files to be installed & they are called each time a page is loaded.
  • Host files on your side & don't use web addresses as file paths.
    • If you're using any JS frameworks like jQuery or MooTools, don't call the .js files from their websites but download & upload them to your website.
    • Don't try to call any file from a web address like "http://.." as this always requires dns queries to be done & will work slower.
  • PHP Speedy (WRD post)is a very effective solution that does all the combining & compressing automatically. You may want to try it.

7. Use HTTP Compression

HTTP compression is one of the most effective step with a little effort.

Today, almost every browser & web server supports HTTP compression. Using it, your files are sent to the visitor compressed & un-compressed on their side & you can have up to 90% success for the text based files (like HTML).

You have 2 popular choices with this:

8. Better Coding

This is for websites which does not use any ready-to-use systems like WordPress, Drupal, ExpressionEngine or similar (if you're using these then you're lucky as they are already well-coded).

Besides the better XHTML & CSS coding, the dynamic coding of the website directly effects the performance.

As you can guess, this is a huge subject. But there are some major things like:

  • Seperate the static & dynamic content. This will help writing less-code.
  • Create smart & effective functions. For ex: if you're going to use a user's name & birthdate at the same page, don't run 2 queries or functions, your function must call 2 of them. Simply, try to do everything once.
  • Connect to the database as few as you can & once connected, call only the data you need.
  • Try to keep database sizes small. If you've a large database, sometimes seperating it into several databases perform better, specially for the data which is reached not so often. From the server's point of view: 4-250mbs of dbs perform better than 1-1gb of db.

9. Cache Webpages

Caching is a superb way of decreasing the stress on the server by running more static files & less queries. It simply saves a static, HTML version of the page to be displayed & displays that file rather than the dynamic one.

For CMS applications like WordPress, there are already ready-to-use caching plugins (like WP-Cache). For PHP, here is a great article from SitePoint.

A small note, caching can also be done at the web server level. But if you're on a shared hosting account, you better be lucky to have it on.

What Do You Suggest?

Besides the tips mentioned above, what are your tips to make websites faster?

  1. Reply alex September 23, 2008 at 12:42 AM

    compressing javascript using packer adds overhead too… the browser’s javascript engine has to unpack and eval the code.. what is better? an extra 30kb to download or a pause in the rendering whilst the javascript is eval’d.

    just a point

  2. Reply Yash September 23, 2008 at 2:00 AM

    All of your tips are very useful actually, but as i am not professional webmaster & only a bit of blogger who wants his blog to have same view like website, so can you tell me the tricks to make my blog load faster.

    Do Help me

    Thanks in Advance

  3. Reply Umut M. September 23, 2008 at 2:22 AM

    You’ve a point with that. I always thought compressing is better in JS. But like you said, JS engine itself already works slow & a decompressing process may make it slower. Any benchmarks would have helped great.

    If I were you, I’d go with steps 9, 2 & 1 in this order.
    If you’re using WordPress, install the plugin mentioned in step 9, later on optimize the images you upload to your blog with Photoshop or maybe this: .
    And if you think your webhosting account works slow, just switch to a better one.
    Hope these help.

  4. Reply Siyaram Yadav April 15, 2011 at 12:27 PM

    Hi all,

    There are many ways to improve the speed of the website,the most important is one the server.
    your website is running on the server should not have many application running on same server.
    Another one is try to reduce the no of included files in your home page.
    Try to use same css object for more than one element on your form.
    Try to reduce to include unwanted javascript files.
    Try to use div tag instead of table on your page if possible.



  5. Reply thenickman May 22, 2011 at 10:15 AM

    parallel downloading

  6. Reply Volha Hunt September 13, 2011 at 9:26 AM

    Thank you, I found your scheme very useful I already have done 1-6 and going to give a try on the other on my hunting site

  7. Reply prashant birajdar December 17, 2012 at 5:21 AM

    good infor mation about increasing speed of website

  8. Reply Gagandeep January 30, 2013 at 7:32 AM

    Thanx for sharing this info..It’s really helpful…i have increased my website speed

Leave a reply