In my experience, SEO means
two different things to two different groups of people. And, I always advise people to get that difference sorted out, first.
If, by SEO, you mean: "Get as high on the list of search results as possible!", which is the most common usage: The most legitimate way to do that is to write content people would want to link to.
There are evil ways to cheat the system. But, they only work until the search engines catch up, and until then you're just making people feel like they are wasting their time.
If, by SEO, you mean: "Allow search engine spiders to categorize and list my site as
accurately as possible", that is actually a surprisingly different beast. Though, in the long run, good "accuracy" will ultimately lead to good "height on the list", anyway. Assuming you have content worth linking to.
That second definition has certain rules, many of which are comically considered "outdated" by people who like to ignore these sorts of things, then they often pay the price for bad listings in search engines, and wonder why. These rules include stuff such as:
* Use only a single h1 tag as the top heading. And use h2, h3, etc. tags appropriately for section headers.
* Make sure all html tags are properly closed. (Use <br /> instead of <br>, and make sure every <p> has a </p>. Etc.) And, make sure they are nested properly. (Avoid: <p><i></p></i>. Make sure it's: <p><i></i></p>.)
* Do not place important text in images. Using alt properties is no excuse. Though, company logos can be an exception (with an alt property on it, and the name in plain HTML somewhere on the bottom of the page).
* Using keyword and description meta tags are recommended, for the sake of site listing. But, do NOT expect that content to get you higher placement on search engines, on their own. Loading up unnecessary keywords will only do you more harm than good.
* Every page should have a unique title to describe that page. (I tend to be lazy with this one, myself, unfortunately.)
* Etc.
Here is what Microsoft's SEO tools check for, to start you off:
http://msdn.microsoft.com/en-us/library/ff724016(v=expression.40).aspx
Google's site is good, too.