SEO20 recently made a really good thread explaining how spinning alone is not going to work. I am going to go a little deeper and explain how Google works out relation between keywords, content and niche. The first step is to clearly understand what algorithm is: To keep things simple just think of it as set of instruction given to computer to process data. Now its time for the big statement: Google did NOT change algorithms! Its false! What it did is it gave more weightage to the algorithm which already existed and maybe fine tuned a little. What algorithms are we talking about here? There are not many options available as of now to process natural language. The best option is Singular Value Decomposition and Latent Semantic Analysis. I will be talking about them in detail from the SEO point of view. Let us first talk about LSA: Google has its own LSA algorithm, but it is not far from the one already patented by a group of people. You can find more info on it here: Code: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=4839853.PN.&OS=PN/4839853&RS=PN/4839853 LSA Explained: Consider a matrix, the rows correspond to terms/keywords and the columns correspond to documents/niche/categories. but such a matrix will be really huge, so they use low-rank approximation in order to eliminate some "noise" and make the process faster. If you want to know more about low-rank approximation, let me know i will make a post on it. -------------------- The second method is a cross between Singular Value Decomposition and vector space model. Its going to take considerable effort to sum it up for you, if you are not bored by this mathematical post then let me know i will explain them in detail too.