You should use meta tags at the top of each page that have a list of keywords that relate to your site. And a meta tag with a description. Don't put anything in that doesn't relate to your site. Also, take the keywords and put them in a table at the bottom of your page hidden by using the same font color as your background. This will help some with the search engines that don't use meta tags. The meta tags should go on every page. The hidden table can just go on the home page.
Here's a sample of a meta tag. <meta name="keywords" content="collies, Tango Collies, breeder, smooth, rough, smooth collie, rough collie, champion, show dog" />
<meta name="description" content="Home page for Tango Collies, breeders of smooth and rough collies." />
(Put what you want for your site inside the double quotes after content=)
There are lots of other things you can do, too. This is one list of things you can do: http://www.web-source.net/webpage_optimizing.htm
Then submit your site at dmoz. http://dmoz.org/add.html
if you want, you can go to Google and see how Google-friendly your site is: https://www.google.com/accounts/ServiceL...%3Den&hl=en
You can submit your site to Yahoo here: http://search.yahoo.com/info/submit.html
As for what actually works, you guess is as good as mine! Sometimes I think it's as much magic as it is science.