1. Start with a sound architectural basis
2. Avoid using boiler-plate content and titles
Boilerplate content is the anathema to search engine rankings. The worst example of this is using the same title tag for every page in a dynamic web site. One could reasonably posit that a search engine should ignore this in favor of other valuable content on the page. However, a search engine must not only factor actual relevance in to its algorithms — it must also factor perceived relevance. The title of a page dominates the space of an item on a search engine results page. A boilerplate title will not contribute positively to a search engine user's perception of relevance, and such pages are likely relegated to a lower priority in an index.
3. Write useful persuasive copy with natural interposition of key phrases
Search engine optimization does not entail the needless repetition of keywords to end of search engine optimization. Copy that is excessively search engine optimized reads like it is search engine optimized! Keyword stuffing like this has not been effective to the end of search engine optimization since 1999 or so. Instead, focus on writing useful persuasive copy that creatively includes the key phrases your clients are looking for. See our section on SEO Copywriting.
4. Include content on all pages
Many dynamic web sites create a vast number of web pages with various permutations of products and/or services using a database. Often this looks like a spider trap to search engines and they may not index such pages. If possible, include an excepted section of relevant copy from each product on the page based on the category. This will help substantially with regard to perception and possibly also contribute to long-tail rankings.
SEO Egghead, Inc. does SEO for select clients in non-competing industries.
If you are interested in these services, click here for a quote.