At PubCon, Matt Cutts mentioned that there were over 200 variables in the Google Algorithm.
The following are some of the variables:
Domain
– Age of Domain
– History of domain
– Keywords in domain name
– Sub domain or root domain?
– TLD of Domain
– IP address of domain
– Location of IP address / Server
Architecture
– HTML structure
– Use of Headers tags
– URL path
– Use of external CSS / JS files
Content
– Keyword density of page
– Keyword in Title Tag
– Keyword in Meta Description (Not Meta Keywords)
– Keyword in KW in header tags (H1, H2 etc)
– Keyword in body text
– Freshness of Content
Per Inbound Link
– Quality of website linking in
– Quality of web page linking in
– Age of website
– Age of web page
– Relevancy of page’s content
– Location of link (Footer, Navigation, Body text)
– Anchor text if link
– Title attribute of link
– Alt tag of images linking
– Country specific TLD domain
– Authority TLD (.edu, .gov)
– Location of server
– Authority Link (CNN, BBC, etc)
Cluster of Links
– Uniqueness of Class C address.
Internal Cross Linking
– No of internal links to page
– Location of link on page
– Anchor text of FIRST text link (Bruce Clay’s point at PubCon)
Penalties
– Over Optimization
– Purchasing Links
– Selling Links
– Comment Spamming
– Cloaking
– Hidden Text
– Duplicate Content
– Keyword stuffing
– Manual penalties
– Sandbox effect (Probably the same as age of domain)
Miscellaneous
– JavaScript Links
– No Follow Links
Pending
– Performance / Load of a website
– Speed of JS
Misconceptions
– XML Sitemap (Aids the crawler but doesn’t help rankings)
– PageRank (General Indicator of page’s performance)
Read more commentary at http://www.webmasterworld.com/google/4030020.htm