WWW My Homepage


     Articles by category      Recent Articles         All articles   

Design of easy to maintain website

Kishore (January 2002)

Dream of any IT manager when developing a software is: Reliable quality and less effort for maintenance. When Internet Revolution came with a plethora of technologies they enabled people to develop fancy websites using various technologies. But many of the websites became ill maintained as the sites run out of content and navigation not updated properly to suit changing content and browsing styles.

Quality of websites is determined by:

  • Ease of navigation
  • All links being valid (no broken links)
  • Updated frequently
  • Fast loading pages
  • Not too much graphics

Having spent more than 2 years on my homepage, I learned lot of lessons and when I was taking up development and maintenance of www.jaihanuman.org I wanted to have a site which can be easily maintained and still provides all good features.

The following are the tips I wanted to share which I used in designing and developing this site which I find is very easy to develop and maintain.

Design of the site:

1. The Site is dynamically updated. All links are in a database and ASP (Active Server Pages) technology is used to fetch the links. The following is schema of the table: LINKS

Column Purpose
Title Title of the link
Page Link Stores link of page
Link Description Description for the link
Section Section in which this link will appear
Subsection Sub-Section in which this link will appear
Date Link added on a date
New_flag Whether this link is New or not
Member Contributed by

2. Navigation is defined in a header.asp and this asp is included in each file. So navigation is consistent in all pages in the site with option on top and anytime switching to another section is possible through this type of navigation. 

3. New Content: What's new Section is fetched from the table LINKS with New_flag = 'Yes'. There is no need to physically edit main page. 

4. On homepage Last Updated Date is also fetched from the table as MAX(DATE) from this table. So manually changing last updated date for the homepage is not needed. When it is manually done, there is a tendency to forget last updated date. 

5. Each link is categorized into section and subsection. When 'Articles' is clicked this pages contains two subsections. This ASP page contains query which will fetch each subsection and fetch content in the subsection and sort data in descending order of date. So latest content is always displayed on top. That is the way I like, content organized in a chronological manner. See my article 'Tips for maintaining homepage' also. 

6. In case of Internet Links which are external to the site, I wanted to popup a new window. So When the section is = 'Internet Links' the hyperlink is changed with target as a new window.

7. I also use stylesheet to make font consistent. Any time I want to change font across the site, I can just change the stylesheet. 

How I administer the site:

After incorporating above design to the site: the following is the effort I spend in maintaining the site

Step 1: Create new pages using FrontPage Editor. (I have a template.asp ready. I take a copy of the file and create new page -> eliminates effort to make fonts consistent etc.). 

Step 2: Add links to LINKS Table and mark the new pages as NEW_FLAG 'Yes' in database

Step 3: Change old pages NEW_FLAG 'No'

Step 4: Upload the pages to the site.

Advantages: I don't spend any time in changing navigation of the site when new content is added. What's New section shows latest links and site is updated with latest content in matter of minutes.

Summary:

I have shared this design so that you can also adopt similar design if you want. This design incorporated best practices I learned during my experience of 2+ years and implemented all the practices in a new venture. If you already have a homepage and your site suffers because of 'lack of maintenance' (I have to redesign and I don't have enough time) spend sometime using this design. You cannot use this design if you are using free homepages. You can certainly do this if you have your own domain with Database support being part of your web hosting services.