1. A method of operating a site analysis system to determine a security level of a website, the method comprising: receiving content information associated with the website describing a current state of the website, wherein the content information comprises programming languages used in code of the website and a programming style of the code; receiving historical event information associated with the website, wherein the historical event information comprises a frequency of content changes of the website; receiving external information associated with the website from a source external to the website, wherein the external information comprises a community ranking of the website; processing the content information to determine a content score for the website, wherein processing the content information to determine the content score comprises identifying exploitabilities of the programming languages used in the code of the website and analyzing the programming style of the code to determine an extent to which the programming style deviates from best coding practices; processing the historical event information and the external information to determine a reputational score for the website, wherein processing the historical event information and the external information to determine the reputational score comprises assessing a trustworthiness of the external information based on a reputation of the source of the external information and applying adaptable weights to the external information based on the trustworthiness; and processing the content score and the reputational score to generate a final score for the website.