Se io fossi uno degli ing. di Google, probabilmente fare così:

Processo di Indicizzazione:

Creazione molto basilare dell’indice dei contenuti. Es:

dominio

url_pagina

contenuto (titolo + testo + anchor entranti)

Punteggio (Page Rank, Trust Rank etc etc) non dipendente dalle query:

Rank url_pagina

Rank dominio

Query:

Qui il gioco si fa interessante. Tenendo presente che Google è istantaneo secondo me lavora su pochi dati per volta, scremandoli man mano. Per esempio:
1) estrazione paging con corrispondenza in base al contenuto (titolo + testo + anchor)

2) punteggio assoluto della pagina in base alla query di ricerca ( in MySQL sarebbe simile alle fulltext search ) secondo i suoi parametri.

es. presenza nel titolo 10 punti, ordine parole 20 punti etc etc

Supponiamo che la nostra pagina abbia ottenuto 100 punti totali.

3) bilanciamento del risultato con il rank della pagina

es. il nostro rank (page + trust etc etc) è 8 su una scala di 10? 8/10 = 0,8

Punteggio attuale = 100 * 0,8 = 80

4) bilanciamento del risultato con il rank del dominio

es. il nostro rank è 5 su una scala di 10? 5/10 = 0,5

Punteggio attuale = 80 * 0,5 = 40

5) Posizione in serp

Ok, ora confrontando il punteggio con gli altri risultati viene stabilita la posizione del sito.

Supponiamo sia al quarto posto.

6) Penalizzazioni manuali o automatiche

Questa fase secondo me funziona in posizioni.

Es. -10 posizioni

4 – 10 = posizione 14

7) Fiducia autore

Questo punto è un po’ controverso. Google sembra che avolte decida quanto dare visibilità ad una pagina, probabilmente per tentare di essere equilibrato con tutti.

Es, in base a quanto mi stai simpatico (rank dominio) e a quanto è competitiva una key decido di mostrare le tue pagine 1000 volte al giorno nella posizione 4..