Per farlo con HTML puro, devi farlo lato server.

Se invece vuoi farlo con JS, la cosa e` possibile.

Serve un database, inteso come raggruppamento di dati, ma devi comunaue passarlo al client, quindi non appesantisci di molto la trasmissione.

I tuoi link e le tue immagini devi inserirle in una matrice a 2 dimensioni fatta cosi`:

var matr = new Array();
matr[0] = ('link1', 'imm1');
matr[1] = ('link2', 'imm2');
matr[2] = ('link3', 'imm3');
...

dove i link sono i pezzi da inserire nei tag <a href="..."> e le varie imm da inserire nei vari [img]...[/img]

Nota che se c'e` una regola nei vari nomi, il vettore si puo` anche costruire via JS.

Poi nn ho capito che algoritmo vuoi usare per la randomizzazione.
Quanti sono i link?
Perche` parli di 8 link da spostare?


A questo punto si tratta solo di trovare il modo di scambiare l'ordine della matrice (indice principale): per farlo occorre che chiarisci il punto precedente.