We often hear that websites should be fast-loading. But how fast is
fast, and how slow is slow? And if your website is slow, how can it be
speed
up?
Users are becoming less and less accepting when it comes to slow
sites as internet maturity increases. The size of the page is the main
deciding factor for download times, coupled with bandwidth.
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. Especially if you’ve a database and/or
using dynamic files (like asp, asp.net, 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 palette.
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.
PNG, a format especially for websites, has great
quality – both transparent & non-transparent – is especially
functional when you’re in need of quality transparent images. Don’t
forget that IE6 has problems in displaying them.
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.
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.
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 front page & 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.
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:
- HTTP compression: a feature of the web server (can be enabled on the server side)
- Gzip: can be enabled at the site level.
8. Better Coding
This is for websites which does not use any ready-to-use systems like
WordPress, Drupal, Expression Engine 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 affects the performance.
As you can guess, this is a huge subject. But there are some major things like:
- Separate 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 separating it into several databases perform
better, especially 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).
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.
Referred By :
Headway Web Solution