The title tag is critical
The title tag is the single most important piece of content for people who search.
Keep it short: Don’t have more than 60 characters (with spaces), which is roughly 8-10 words.
Lead with the most important careword for that particular page. Always start off with what is specific about the page and move to what is general. Many websites begin their title with their brand or organization name, and then follow with what is unique about the page. (This is a very common mistake, so check out your website.)
The description tag is recommended
The description tag is not nearly as important as the title. However, it does have some value. Write it as a summary and keep it under thirty words. It should be written in a compelling, clear manner.

Light pages, and lean, quality HTML
The less HTML code you have, the better, as it makes it easier and faster for the search engine to index your page. Aim for a total page weight of 50 KB for any page (that’s including graphics). Certainly, anything over 100 KB is going to be slow, and some search engines don’t like pages that are over 100 KB.

Have a site map/index
People like site maps/indexes, and so do search engines. Make sure that the site map is available from the homepage, that it is presented in a text-based format, and that it is kept up to date.

Avoid Flash
I’ve nothing against Flash design except for the fact that I generally detest it. It’s such a waste of time; fourth rate TV advertising by people who will never get the chance to do a real TV ad. Search engines don’t like Flash either, and find it very hard to index Flash-based pages.

Build your website in static HTML
You don’t need a “dynamic” website unless you have dynamic content, such as airline seat availability and pricing which needs to be dynamically published from a database because it constantly changes. You may store your website in a database but you’re better off publishing it as a static HTML website. It’s cheaper, the pages will download faster, and search engines will find it easier to comprehensively index your website.

Avoid PDFs
One of the sure signs of a badly managed website is that it has lots of PDFs. Publishing content in PDF is usually a shortcut. Search engines have got better at indexing PDFs but it is still recommended that you publish a heading and summary in HTML.

Avoid frames
Frames are a very bad idea.

Watch your JavaScript
Any links that you have in JavaScript should also be published in HTML, otherwise the search engine won’t be able to follow those links. Rollovers are cool but they cause nothing but problems, so unless you have a brilliant technical team, avoid them.

Alternative text
As a rule you should have alternative text for every single image. However, the only alternative text that search engines recognize is for those images that are linked. Make sure you use descriptive, careword-rich text.

Keyword tags
Over the years, some websites tried to trick search engines by stuffing keyword tags with lots of popular words. Because of this, most search engines give very little value to keyword tags