Optimizing sites for Google rankings isn’t a focus of mine, but is an inevitable factor that must be addressed when building any site. I’m no SEO expert, then again, neither are half of those who claim to be.

The best thing you can do is to have your site be real, be useful, be focused on a specific topic or niche, and make sure links to it show up on other relevant sites.

A simple way to get those links is to make your site’s URL part of your signature, and post HELPFUL posts on relevant forums, blogs, etc… Be engaged in other communities who serve a demographic similar to your site’s ideal demographic. Become a contributing and trusted member. Your posts will drive the best type of traffic to your site.

As someone who uses Google to find content 1,000 times more than I use Google to get traffic to my site, I am firmly against gaming the system, link farming, spam, google bombs, or anything that drives down the signal-to-noise of search results. But there are steps you should take to ensure your site shows up as good signal where it should.

1. Provide free information. Even if you’re an e-commerce site, provide free product information, reviews, specifications, research, forums, etc… People tend to research online before they buy. If they do their research at your site, they’re more likely to buy from you because by providing helpful, ideally unbiased, information free of charge, your site will be more trusted. You will also end up with more external sites linking to your helpful free information, than would have linked to your Buy Me Now page. Useful information is valuable, and is referenced far more often than a commerce only page.

2. Ensure the information is visible to the Search Engines. Content in images, Flash, Ajax loaded data, sometimes iframes, etc… is not visible to search engines. If you must present information that way, ensure the same information is available via plain html. You can use javascript to load Flash over html for instance. Test your site using a text-based web browsers such as lynx or links. Make sure your site is structured well, has all your content available, and “works”.

3. The Title tag: should be the first tag within the head tag. Should be about 9 words. Keywords should be toward the beginning. Do not repeat words. It should be readable to a person and make sense. It should be unique for each page.

4. The Description tag: should be the second tag within the head tag. Should be about 16-20 words. It should be made up of complete sentences, with keywords toward the beginning. It should be readable to a person and make sense. It should be unique for each page.

5. The Keywords tag: should be the third tag within the head tag. Should be 30-50 words (assuming they’re all relevant). Should be in short phrase form, separated by commas. Capitalize all words. It should be unique for each page.

6. Heading content ( tags): should contain keyword phrases, but should not repeat identical phrases. Should be 2-4 words. Should structure your document just like an outline for a paper or presentation.

7. Image alt tags: every image should have an alt tag. The alt tag should be no more than 12 words long. It must be descriptive to a person and describe the image or it’s purpose in the page clearly. Again, test with a text-based web browser to see the alt tags in context.

8. Links: use keywords in the URL (more on this later). The link text should contain keywords. The surrounding text should also be keyword rich, using keywords which are relevant for the target page.

9. Main Content: Minimum of 300 words. Make the first 150-200 words keyword rich. Think of it like an executive summary. Words used in your title, description, and keyword head tags should appear at least twice each within the main text. CSS and JS should be externalized so as to not obscure the focus on the text.

10. URLs should be made up of useful words, separated by hyphens. Bad: “blog2” Good: “tech-blog”. Bad: “/prod.jsp?id=1342342” Good: “/mp3-players/apple/ipod/ipod-nano.jsp”. Many blogging tools and e-commerce tools will create category based faux directory structures for your pages.

Try to keep these guidelines in mind while building your site and templates. In general most of these tips not only help search engines understand your site best, but also help with accessibility, graceful degradation of browsers, and general readability for your users.

I’d welcome any other tips in the comments. Or any ideas around specific products (ATG, Seam, etc…).