Guarda... i problemi sono vari: facendo una rapida anlisi ti accorgerai che alcune pagine uguali differiscono fra loro per "elementi" inconsistenti (per esempio molti siti stampano l'ora o le news da altri siti via XML): calcolando un'hash (o peggio un valore md5) non puoi fare un controllo su questi element (infatti un valore md5 cambia radicalmente anche per solo un carattere).
Cosa posso consigliarti? Per avere il risultato migliore devi fare un controllo necessariamente sul testo stesso (quindi usare similar-text, con una percentuale di almeno 90%, o levenshtein).
Per un confronto 1:1 il tuo algoritmo va benissimo.