When dealing with a typical static website (a site that contains under 10 pages) on page optimization is typically a relatively straight forward endeavor, all you really need to do is to make sure that each page has a proper title, get the Meta tags in place, the URL’s are properly optimized, and a few other things… and you can spend the rest of your time concentrating on off page optimization, link building… but when dealing with a typical dynamic website on page optimization is far more complex.

Dynamic websites allow for far more diversity when it comes to on page SEO, and they enable you to do many things that static sites cannot, such as the ability to rank for 1000’s, or 10’s of thousands of long tail keywords, as well as the ability to generate a virtually limitless # of internal links, as well as other things… The major downside of dynamic sites is that they require far more skill to program, and also that search engines, as a rule of thumb do not like dynamic websites much. The reason for the dislike of dynamic sites is that such sites must be programmed in a dynamic language (like PHP, or ASP to name 2 such languages) and Google is primarily able to index sites in HTML. Additionally, search engines are only able to index content that exists, and in the case of most dynamic sites, content is user generated and only comes into existence once an action is performed by a user, and since no such actions are performed by crawlers, the user generated content is not seen by search engines.

There are a few easy solutions to the problems mentioned above, the first problem, the dislike of dynamic languages by search engines is one that can be fixed by having pages that are dynamically generated be displayed as HTML (Google’s preferred language). This is a fairly easy fix that will ensure that search engines crawlers are able to see every new page that is generated, thus increasing your total # of indexed pages, as well as the long tail keywords you’ll rank for. The second fix is one that is a bit more complex, but that is worth the time it takes to program; the idea is simple, to create a system that will create permanent content based on user generated dynamic content (for example, by searching for the book, “The Prince by Machiavelli” on We Compare Books, a new page is dynamically generated, this page is then displayed as HTML to the user, and saved so that the next time a search engine crawler visits the site it will discover the newly generated content and index the page). This system will ensure that after getting indexed the page on We Compare Books for “The Prince by Machiavelli” will appear in search engines, and given that this is a pretty long tail keyword there is also a strong possibility that it will rank on the first page!