These are just a few tips to help your results appear higher in search engines hopefully resulting in improved visitor numbers. This is just a quick list (I will create a larger list soon).
Name your URLs if possible
Most search engines prefer /computer-software.html to /products.php?product_id=5. If you can name your url to match common search phrases, that will give you an instant boost. For instance, all things being equal www.abc.com/computer-software.html or www.abc.com/computer/software.html will appear a lot higher for 'computer software' than www.abc.com/index.php?product_id=5.
Choose your Domain Name wisely
The whole reason this site was developed. If you can get possible search phrases into your domain name, that will give you a further boost as well as helping people remember the site name. You may also want to buy other possible names or domains based on your products.
Target your pages (and Analyse your keyword density)
Each page should ideally be targeted for one search phrase. Try to include that phrase in your title, your meta tags, header text (if possible more than just H1), bold, image names, alt text, directory paths. If you want to target more phrases than you have content, generate some more pages. Include links to each page that have the search phrase in.
Build genuine incoming links
Probably one of the most important. MSN is more forgiving, but google is unlikely to list you unless you have some reasonable incoming links. If you get a link on a good page, with high page rank, with a similar subject, one link can give a major boost. Avoid pages with very large numbers of links, or on spammy pages.
Web directories are a quick and easy way to generate links.
Avoid tricking the search engines
Google have some guidelines on tricking search engines, however the general rule is that something done for visitors is good, something done just to affect your search engine position is bad. You should not do anything that can be fall into the second category, without appearing in the first. Hiding links is a prime example of something that would not be designed for visitors, but would be designed for search engines. This one trick has got some entire websites banned from google.
Use the table trick
I thought I'd mention this after the last comment because although this appears to be an in thing to do, I believe that in the future, it may be considered a type of spamming. The trick means that you move the main content of your page closer to the beginning of the text. One one of my osCommerce sites, if you view the source, 60% of the content appears before it gets to the details of the product. By implementing the table trick (rearranging the cells), the product details appear 20-30% down the page. This is believed to be treated with higher importance by some search engines than content near the end, as most people put the best stuff first.
My advice is to beware. I would be inclined to put some text into the blank cell and do something small with it, because I believe that google will start looking for empty cells, followed by cells with rowspan=2.
Create a site map
The general recommendation is that any page you want to appear, should be reachable from the top page in 1 or 2 clicks. A sitemap will help your visitors and help the search engines.
Include a navigation or breadcrumb tool
If you have many pages, ensure that the visitor can find his way back easily and this will help google to organise the levels on your site. In other words, each page should link to the next level up, the level above etc, right up to the main page. This will also help assign any page rank to the more higher level pages and particularly the top page.
Consider directory structure
I like to name my directories after the categories and the categories after the best words for search engines. For example (http://www.surfinglifestore.com/quiksilver/luggage/rider-pack-red.html) displays all one product, but if you remove the html page, quiksilver/luggage will just show luggage made by quiksilver and remove the luggage and it will display all quiksilver products.
An error free page will show professionalism and is more likely to represent a quality site. You may not be able to avoid all errors (if you include user contributed text for example) but you should make as many pages error free as possible.
Do not spam your page with repeated words
If you repeat words over and over again, it will be obvious to search engines that this is not a good page to read. Instead you should fit your phrases into carefully written text. However, it is amazing that some sites can have the phrase appear a huge number of times without a negative effect.
Don't get google obsessed
It is easier to get to the top of MSN for example, than google. Google relies heavily on back links and can take a long time to show success. I believe google likes sites that have been around for a while (with long term commitment). You may find that being top of MSN or Yahoo will bring in more visitors than being third page in Google.
Are adwords hazardous to your position?
If your adwords advert appears on that page, it is likely that most visitors will click on that and not your result in 8th place. If google take the results and analyse them, it may think that nobody clicks on you and hence move you down.
[I would like to point out that of this comment is all my own speculation]
Analyse your competitors pages
If you do want to appear high for Welsh Widgets, look at the first 5 results and try to work out why they are higher than you.
Regularly update your site
Regular changes to your site will keep google reading your pages and appears to help keep your positions higher. I have seen a site that for one month was not touched at all and the positions fell. It took several months to recover.
Get links to deep content
Demonstrate that it's not just your top page that's worthy of attention. Get some links to pages on your site .
Have varying wording in your incoming links
If you are creating inbound links, ensure that the text is not identical on each link. This is a giveaway that the links are not organically grown.
Use google sitemaps
I've put this one in because a lot of people recommend it, however coincidentally when I started using it my results got slightly worse. This one is up to you.
Ensure your hosting provider is in your country
MSN for example, will often ignore sites where the server is hosted abroad. You may notice that the MSN results hardly vary when you select pages from your country only. If your server is hosted abroad, it may ignore you completely.
With Google, when you select pages from your country only, you will only see sites hosted in your country or with a domain name that matches your country.
For one or my sites, within 2 weeks of moving from oneandone.co.uk (who host their servers in Germany) to fasthosts.co.uk, the entire site appeared in MSN with many first positions and my google rating improved significantly.
Use text links rather than image links
I wrote some code to dynamically convert my navigation bar to images. Each image was named after the text it showed, and the alt text and title for the image was the same. However, I saw an immediate drop in ratings from google. Therefore, I converted back to text links. I cannot prove this one, but it was an interesting experiment.
Optimise your alt text
Ensure that all images on your pages have alt text designed for the targeted phrase for that page. Also drop superfluous words such as 'pictures of' unless that is a part of a search phrase you are targeting
Consider image names
Try to name your images to reflect your chosen or likely search phrases.
The naturally pattern is for continued growth and not sudden rapid changes in links. Their is a suggestion that google will treat a sudden increase in inbound links as the result of SEO optimisation and not normal internet growth. Remember that the best sites will have links appearing from fans of the site. Therefore it is best to try to simulate this behaviour.
100% optimised ?
One experiment of mine included taking an 100% optimised site and taking out just a few of the optimisations. Why? If I worked for Google, I would consider any 100% optimised site as a potentially artificially boosted site. Anybody who has had advice from an SEO expert will probably have many optimisations. Therefore, if one or two images don't have alt text for example, it may make it more likely that your success and your inbound links are organic and a sign of a good site.
This last one is just a thought at this moment and I have no proof at this moment of any gain.
Monitor your pages, your visitors (including robots) and your incoming search phrases
It is vital to understand your site and where your visits come from and go. It will also help to see when search engines visit and which pages they read. I rely so heavily on this information, that I am developing a site monitoring tool which should be available soon.