1) I list this first because it is the most common problem with websites. Duplicate Pages!!! Each page should have only ONE URL. Many database driven web sites will generate multiple URLs for the same page depending on how a user drills down to the page. Search engines pick this up quickly and penalize the pages for duplicate content.
2) AVOID SESSION and USER IDs!!!! Just like #1 mentions, session ids and user ids create duplicate pages. Each time the search engine crawls the site a new session/user id is generated, thus creating many URLs for the same page.
3) Be sure to include text href links in your navigation and content. JAVA, Flash or other non search-engine friendly tech can be used in your navigation, just be sure to also include text links for the search engines. The more these text links are part of your actual navigation the better.
4) Keep your web sites navigation simple. Be sure to also keep your navigation consistent across the entire website. Your web site’s navigational structure also ties directly into Google Sitelinks. Google will analyze a web sites link structure when crawling and watch for shortcuts to information users most likely are looking for. Then add Sitelinks to the search results.
5)Create a Site Map or multiple Site Maps. If your web site is considerably large, create multiple Site Maps that are interlinked and categorized.
7) Assign unique relevant page specific meta-tags. If you are developing a new website or looking at a CMS, double check that you will have the ability to assign page specific meta-tags, specifically titles.
8) Breadcrumbs. Users find breadcrumbs extremely helpful when navigating a site. For search engines they provide yet again more text links, so they are a plus. However, be careful when creating your breadcrumbs that you do not end up with back to back links.
9) If your website has a Calendar or other dynamically driven application that could result in an infinite loop, place a no index, no follow tag on the page, or block that page using a robots.txt file.
10) View your site through a text based browser such as Lynx. With no images, JAVA or other technologies, you are able to see what the search engines can see. Therefore you’ll know if they can read your text and follow your links.