In 2004, for a public site, you don't need:

  • Search Engine Optimization firms - most are a rip off (especially reciprocal linking and hiring firms in India, the Philippines and elsewhere to ask people to link to your site. I get requests from these kinds of firms all the time and I ignore them. Here's the link Golden Rule: link unto others as you would have them link unto you. If you link to others who are relevant, others will find you and link to you if you are relevant).
  • Search Engine Placement Software - manual and automatic placement doesn't work; this kind of software is a waste of time
  • Metadata tags - Google and other search engines ignore them
Here's what you need at a minimum (lots of other things you can do but we'll save those for a future post):
  • Clean URLs - no ampersands, no technology specific suffixes (like .asp, .php, .pl, .py, etc.), URLs should be short and legible to people e.g. instead of
  • Relevant, up to date content that is added and maintained regularly- if your site is about "fubars" then write about "fubars". This requires a human editor. As of 2004, there is no automated way to do this. You can display RSS feeds on your side automatically without human intervention, but to find, filter and collate juicy, relevant links still requires a person!
  • Generate a ping and update an RSS feed every time your site updates so that you will get indexed more often and thereby encourage people to read your site and link to it. (More info about pings and how RSS works in How Blogs work in 7 easy pieces)

And the best way to do the above? Use a blog system (like Blogware, Drupal) of course! Most blog systems don't generate clean URLs but they will. Manila and Drupal do today and more will in the future.