Although Google tends to spider your whole site, it doesn't necessarily add everything to its index. MSN and Yahoo are much worse for spidering the whole site.
As a result, any pages that are really important to you do really need a link from your navigation menu, otherwise they may not get indexed (even if spidered!).
Also, help google and yahoo out by creating a sitemap, and putting a link to it in your robots.txt file telling them where to find it eg:
Code:
Sitemap: http://www.mysite.com/sitemap.xml
In my experience, it gets your site indexed quicker, and the search engines are much more likely to find everything. You must keep it up to date though. Also, adding a normal html page as a sitemap called sitemap.htm with a link to pretty much every page again helps a lot.
Adding pages with your desired (and most important) keyword for the page in the title also works well in getting the page higher up the results for that keyword. Just make sure you use:
keyword-phrase.php
rather than
keyword_phrase.php
The hypen is treated as a more general match, so it would help for "keyword","phrase" and "keyword phrase", whereas the underscore usually has to be an exact match eg "keyword phrase" only.
Does sound like you are really getting to grips with
SEO. Its a really good feeling when you get the results you want. Just keep trying things, making one modification at a time, and waiting a while and seeing what happens. Its a slow process, but the best way to do it. If you change more than one thing at a time, you can't tell which change got the result.
Also bear in mind that google changes things on a pretty regular basis, so once you have the results you want, you can't just sit back and expect them to be the same forever. You have to regularly change and adapt to keep in the position you want. Reading the
SEO forums and blogs really helps, as it gives you a good idea of the changes that are made, so you can help stay on top of them.