Websites can be broadly divided into two types: static and dynamic. The definition of these terms varies depending on who you ask, and unfortunately it is often misleading.
The most important differentiation between the two types is if a site’s content is generated by a database or not. This key difference is critical because it causes major changes in the way the a is designed, modified and maintained. When creating a new site, this is one of the first decisions that should be made.
A site can have both static and dynamic pages. For instance, this might have happened if an older site is updated by adding a blog. A dynamic site can generate what looks like static pages, but if the content comes from a database, they should be considered dynamic pages.
A static page’s content is not easily changed. That is not to say that it cannot change, just that it can take a significant amount of work to change it. An example of a typical static page would be an About Us page that just shows a company’s phone number, address and maybe a map. Others would be privacy policies and Terms of Service.
A static page does not need to be generated only with hard-coded HTML, as some sites have suggested. It can be created with PHP and include CSS style sheets. It can even have forms that can be filled out, for instance to request information from a contact page. But that contact information won’t be put into a database, it will just be used to, for instance, generate an email and then be deleted.
An advantage to static websites is that they can usually be designed much more rapidly than dynamic ones. They also don’t take as much processing power or storage for the web server to create the pages. They are also less likely to get infected by malware because there is no database to attack.
Static pages can appear to be dynamic by including information from outside sources. Examples of this include using a news feed, or even a feed from your own blog.
Dynamic pages tend to have content that frequently changes. In general their content can be more easily changed than static pages, even if they are rarely updated. Note that this is referring to a page’s content, not the overall appearance of the site.
Dynamic pages draw their information from a database as the page is built.
Dynamic pages are usually designed using a Content Management System (CMS), such as Drupal. WordPress is considered to be a CMS by some people, and it does the basics of a simple CMS.
Selecting a CMS based website allows using a well tested framework to start the design. It can also be configured to allow designated users to modify some of the content while not requiring them to learn much, if anything, about how to code the website.
Using a CMS doesn’t solve everything. You will still need to learn how to interact with the CMS to add content and make changes. At some point, the entire CMS may need to be upgraded, which may not be easy. Backups need to be done, but now it’s no longer a matter of just copying all the files on your site — the database needs to be backed up as well.
Which type is best?
First, look at how often you site is going to change. If it is frequent, you will almost certainly want a dynamic site. Sites that want a lot of dynamic features such as using RSS feeds will also benefit from a dynamic approach. Frameworks exist that can vastly simplify adding features like that.
The downside to the dynamic approach is frequently more lengthy and costly site development. Your web host will need to support the requirements of a dynamic site, although this is rarely an issue. Although it is easier for you to make changes to the site, you will still need to learn some technical things, as well as take care of regular backups. Frequent backups aren’t an issue if the content isn’t changing, no matter if your site is static or dynamic, but they still must be done after any significant change.