Site optimization starts with defining your key audience or customers, your keywords and phrases, and your purpose and goals. It is closely coupled with the design of the site itself.
There are many conflicting views but optimization is surprisingly not a mystery. Google applied for a patent on it's search engine algorithms and methods. In doing so, they had to file publically available paperwork which describes how some parts of their search engine works. There are literally books analyzing the subject and there are concrete methods which can be employed.
We will mention some of the basics here. To start with, does your site incorporate your keywords. Designers and users alike used to believe that meta-tags were the key. Meta-tags are codes at the top of a page which is used to describe to search engines what the page is about. Whereas meta-tags are still important, Google surprisingly places little emphasis on them.
What is more important to Google is that the actual text copy of the site - the part that people read - actually has keywords in it. So if you are a dentist and you have a lot of referential text about how a new kind of mouthguard works - Google may not see you as a dentist - instead it may think you are a company that sells or makes mouthguards.
Next, is the code written behind your site correct? Many times a web page will display despite the fact there are errors in the code. However, if there are errors, the crawlers may not be able to parse - read through - your code. Therefore they cannot pick up what keywords you use in your text. In this case, your site may never be indexed and appear in any results.