There are several best pratices you should consider while developing a website, in order to make your pages more accessible and readable by search engines. here the fundamentals:
- You should design your page in tableless way: in fact tables use a lot of repeated markup like </td></tr>... and these make your pages more similars. Spiders can think there is not relevant difference between a page and another one already indexed, so it can choose to not index the newest at all.
- You should use semantic markup. For spider a first-level heading <h1> is more relevant than a [b] which is more relevant than a <span>. So when you project a page just think to describe its content.
- Do not use hidden text, especially for headings, menus and links, 'cause search engines (like google) can exclude you page from SERP. Do not use images as links. Spiders generally think links description is relevant in order to index the url linked.
- Avoid use repated keyword in metatags (no more than 20 words) and absoutely avoid to create landing pages plenty of keywords. Avoid it also for your users
- Use all attributes useful for indexing: 'title' for links, 'alt' for images, longdesc...
- Be careful with redirections (if any). Use only server-side redirections, using the correct server status like 301 and 302 (temporary/permanently removed) and 404 (so the search engine can exclude old or non-existant pages)
- Use niceurl mechanism (using for example apache with mod_rewrite enabled). Avoid url like /index.php?type=resource&category=css&id=10. Prefer instead a path like /resources/css/10/index.php
Obviusly after all these optimizations, you should really consider to define with an expert SEO agency to make an advertising campaign to promote your site for the most important keywords you need to be found in the serp.