dove li salvi i siti più votati? in un db? nel caso fai una query con cui recuperi i dati ordinati (ORDER BY) per click e limitati al mese in corso.

Poi li impagini come vuoi...
Per quanto riguarda i siti più votati negli altri mesi puoi usare due vie:
1) Eseguire una query come quella che ti ho brevemente descritto sopra limitandoli al mese richiesto (ma se non vengono modificati i record questo metodo è inutile e anzi richiede una query al db ogni volta --> vd. metodo 2)
2) Creare un file di testo in cui vengono salvati i risultati del mese terminato e quindi stamparlo ogni volta che viene richiesto..