Hello,
this is a very general question but a very nice topic! Definately upvoted :)
However i am not satisfied with the answers provided so far, so I decided to write a rather lengthy answer on this.
The reason I am not satisfied is that the answers are basically all true (I especially like the answer of kovshenin (+1), which is very Graph-Theory related...), but the all are either two specific on certain factors or too general.
Its like to ask how to bake a cake and you get the following answers:
- You make a cake and you put it in the oven.
- You definately need sugar in it!
- What is a cake?
- The cake is a lie!
You won't be satisfied because you wan't to know what makes a good cake.
And of course there are a lot or recipies.
Of course Google is the most important player, but depending on the use case a search engine might include very different factors or weight them differently.
For example a search engine for discovering new independent music artists may put a malus on
artists websites with a lots of external links in.
A mainstream search engine will probably do the exact opposite to provide you with "relevant results".
There are (as already said) over 200 factors that are published by Google.
So webmasters know how to optimize their websites.
There are veray likely many many more that the public is not aware of (In googles case).
But in the very borad and abstract term SEO optimazation you can generally break the important ones apart into two groups:
How well does the answer match the question? Or:
How well does the pages content match the search terms?
How popular/good is the answer? Or:
Whats the pagerank?
In both cases the important thing is that I am not talking about whole websites or domains, i am talking about single pages with a unique url.
Its also important that pagerank doesn't represent all factors, only the ones that Google categorizes as Popularity. And by Good I mean other factors that just have nothing to do with popularity.
In case of google the official statement is that they want to give relevant results to the user.
Meaning that all algorithms will be optimized towards what the user wants.
So after this long introduction (glad you are still with me...) I will give you a list of factors that I consider to be very important (at the moment):
Category 1 (how good does the answer match the question?
You will notice that a lot comes down to the structure of the document!
- The page primarily deals with the exact question.
Meaning: the question words appear in the pages title text or in heading paragraphs paragraphs.
Same goes for the position of theese keywords. The earlier in the page the better.
Repeated often as well (if not too much which goes under the name of Keywords Stuffing).
The whole Website deals with the topic (keywords appear in the domain/subdomain)
The words are an important topic in this page (internal links anchor texts jump to positions of the keyword or anchor texts / link texts contain the keyword).
Same goes if external links use they keywords in link text to link to this page
Category 2 (how important/popular is the page?)
You will notice that not all factors point towards this exact goal.
Some are included (especially by google) just to give pages a boost,
that... well... that just deserved/earned it.
The existence of unique content that cant be found or only very little in the rest of the web gives a boost.
This is mostly measured buy unordered combinations of words on a website that are generally used very little (important words). But there are much more sophisticated methods as well.
Recency - newer is better
Historical change (how often the page has updated in the past. Changing is good.)
External link popularity (how many links in?)
If a page links another page the link is worth more if the page itself has a high pagerank.
basically links from different root domains, but other factors play a role too.
Factors like even how seperated are the webservers of linking sites geographically (according to their ip address).
For example if big, trusted, established sites with redactional content link to you, you get a trust rank.
Thats why a link from NY Times is worth much more than some strange new website, even if its Pagerank is higher!
Your whole website gives a boost to your content if your domain is trusted
Well different factors count here. Of course links from trusted sties to your domain but it will even do good if you are in the same datacenter as important websites.
If websites that can be resolved to a topic link to you and the query can be resolved to this topic as well, its good.
- Distribution of links in over time.
If you earned a lot of links in in a short period of time, this will do you good at this time and the near future afterwards. But not so good later in time.
If you slow and steady earn links it will do you good for content that is "timeless".
- Links from restrited domains
A link from a .gov domain is worth a lot.
Whats the clickrate of your search result?
Google analytics tracking etc. Its also tracked if the user clicks back or clicks another result after opening yours.
Votes, rating etc, references in gmail etc
Now I will introduce a 3rd category, and one or two points from above would go into this category but I havent thought of that... The category is:
** How important/good is your website in general **
All your pages will be ranked up a bit depending on the quality of your websites
Factores include:
Good site architecture (easy to navgite, structured. Sitemaps etc...)
How established (long existing domains are worth more).
Hoster info (what other websites are hosted near you?
Search frequency of your exact name.
Last but not least I want to say that a lot of theese theese factors can be enriched by semantic technology and new ones can be introduced.
For example someone may search for Titanic and you have a website about Ice-Bergs ... that can be set into correlation which may be reflected.
Newly introduced semantic identifiers. For example owl tags may have a huge impact int he future.
For example a blog about the movie Titanic could put a sign on this page that its the same content as on the wikipedia article about the same movie.
This kind of linking is currently under heavy developement and establishment and nobody knows how it will be used.
Maby duplicate content is filtered and only the most important of same content is displayed? Or maby the other way round? That you get presented a lot of pages that match your query. Even if they dont contain your keywords?
Google even applies factors in different relevance depending on the topic of your search query!