Dynamic vs Static Site Structure 


Site Design




 

Dynamic vs Static Sites

This is a site-wide look at the same issue treated in the <querystring> article in the On Page SEO section.

Dynamic Sites

Dynamic sites are great if you're the developer or content editor of a large, rapidly changing web site. Small changes can be made that have a ripple effect across the entire site, meaning less work, which is always nice. Fewer pages to build and maintain means faster turn around on projects. For example, a dynamic product page might mean that when a new product is entered into the database, it automatically becomes available on the site, without any intervention by developer of editor.

Dynamic sites/pages really come into their own when multiple (often thousands) of pages follow the same basic template with differences only in the specifics of the content they display. Again, a product catalog is a good example, where each page might follow the same general pattern of Product name, Image, Description, Pricing, etc. Utilizing a single page that populates the missing data dynamically based upon the querystring can save the developer a huge amount of effort.

What we refer to as a dynamic site is in fact usually a hybrid, containing some static pages and some dynamic pages.

Static Sites

Static sites are simple. Each page exists as seperate code and content and may therefore be tweaked without effecting any other page. This is ideal if you want to fine tune every aspect of the page for SEO or any other reason. The downside is that you must maintain each page seperately, which may be unfeasable in a large site.

A Historical View

In the past, search engine crawlers had considerable difficulty with dynamic sites.  Both the crawlers and the site design techniques employed were less sophisticated than they are now. For example, crawlers often refused to handle querystring parameters. These are name/value pairs that occur after the "?" sign.  This means that a site displaying 100 products on a single dynamic product page, e.g.

http://www/mydomain.com/product.jsp?productid=1

http://www/mydomain.com/product.jsp?productid=2

etc, would have only one product indexed. The crawler would reject all the other URLs as identical to the first, e.g..

http://www/mydomain.com/product.jsp

In fact, things were usually even worse, since it's unlikely that the above page would display anything sensible at all when not supplied with the Product ID.

The Modern World

Things have improved. Although it is still possible to build a dynamic site that confuses the crawlers, it is also possible to build one that they find entirely acceptable. In fact, if you were willing to invest the time and energy, it is possible to build a dynamic site that is indistinguishable (from the perspective of a user) from a static one.

Let's be clear about what a crawler requires in order to be able to do it's job. It requires that every page on your site is navigable by following a path through plain HTML links from the entry page (usually, but not always, the homepage).

The Verdict

Both dynamic and static sites are fine. You should make the choice of which to employ based upon your needs. If you go the dynamic route, follow a few simple rules:

  • Page Names - expend the extra effort to make your dynamic site run off unique page names, i.e. make your URLs attractive to keyword hungry crawlers. "/AmazingWidget.aspx" is more attractive to a crawler (and in turn to a user searching for amazing widgets) than "/Products.aspx?ProductID=1"
  • QueryStrings - If you are going to use querystrings (and sometimes it is the right thing to do) expend the extra effort to make your querystrings human readable. Similar reasoning to above: "/Products.aspx?Product=AmazingWidgets" is more attractive than "/Products.aspx?ProductID=1".